欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

实战教程:第三部分 - 在阿里云服务器上安装与配置Overleaf

最编程 2024-02-18 15:07:08
...

注:服务器为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-fulldocker commit sharelatex sharelatex/sharelatex:with-texlive-full
然后更改docker compose配置文件里面的内容: