实战教程:第三部分 - 在阿里云服务器上安装与配置Overleaf
注:服务器为Ubuntu18.04
回顾
在(1)和(2)已经完成了基本设置和conda安装,云服务器还有一个很好的用处是用来操作overleaf,这样就不需要在自己的电脑装texlive了,节约空间。
技术路径
- 安装docker
- 安装docker-compose
- overleaf指引
- texlive补齐
安装docker
首先根据教程清除旧版本(实际上阿里新实例是不含docker的,运行结果会提示你无需清除)
sudo apt-get remove docker docker-engine docker.io containerd runc
接下来采用apt
来安装:
先配置apt的相关工具和库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
我的服务器是x86_64的,所以使用这个指令(其他的版本请参考上面官网的选项)
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
然后
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
检查是否成功:
sudo docker run hello-world
成功会拉一个小镜像hello world并显示。
安装docker-compose
按照网页操作指引即可
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
检查:
docker-compose --version
安装overleaf
首先是下载,这个sudo
是必须的。
sudo git clone https://github.com/overleaf/toolkit.git ./overleaf
然后进入文件夹cd ./overleaf
,后续不需要改变目录
内部文件目录:
- bin
- config
- data
- doc
- lib
- README.md
运行bin/init
建立config里面的文件:
- overleaf.rc : 顶层配置文件
- variables.env : docker container加载的环境变量
- version : docker images所需对应版本(比如我的是2.7.0)
安装已经封装在脚本文件up里面,输入bin/up
即可(这里为了速度或许可以更换docker源,但是我不会;当前速度可以接受),安装成功后Ctrl+C可以退出。
之后使用bin/start
则可以启动docker。
启动后可以从http://localhost/launchpad
登录,默认情况下overleaf是80端口,所以把localhost换成服务器公网IP可以登入。
接下来:
- 创建管理员邮箱
- 运行自检,可以测试邮件发送(我这里发不了)
- 可以注册其他非admin用户
现在的overleaf已经是最简的可用状态了,但是缺乏大部分texlive的包(中文ctex都没有)
texlive补齐
docker可以在自己的容器内执行命令,sharelatex里面已经有一个残缺的tex,因此可以用texlive自己体系的操作方式来补全文件:
docker exec sharelatex tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet #换成清华源
docker exec sharelatex tlmgr install scheme-full #安装完全体
这时的容器还没保存,所以再保存一下,此处参见另一个博客
备份容器版本为with-texlive-full
:docker commit sharelatex sharelatex/sharelatex:with-texlive-full
然后更改docker compose配置文件里面的内容: