前言
Latex是科研工作中最常用的文档排版系统,其中最常用的就是在线latex编辑器overleaf。然而overleaf对于国内用户而言延迟非常高(虽然有cn服务器,但是仍然很慢)。对于科研团队来说,在自己的服务器上部署Overleaf,从而方便快速的编译使用latex,将为整个团队都省去安装Latex各种包的繁琐,是一件非常重要的事儿。本文在centos-7上部署overleaf。
安装
确保有centos系统的root权限
1. 安装Docker
安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
设置源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
安装docker
yum install docker-ce
设置开机启动
systemctl start docker systemctl enable docker
验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
如果出现类似下面信息,表上安装成功
Client: Docker Engine - Community Version: 20.10.7 API version: 1.41 Go version: go1.13.15 Git commit: f0df350 Built: Wed Jun 2 11:58:10 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.7 API version: 1.41 (minimum version 1.12) Go version: go1.13.15 Git commit: b0f5bc3 Built: Wed Jun 2 11:56:35 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.9 GitCommit: e25210fe30a0a703442421b0f60afac609f950a3 runc: Version: 1.0.1 GitCommit: v1.0.1-0-g4144b63 docker-init: Version: 0.19.0 GitCommit: de40ad0
docker-compose 安装
最简单的方式就是用pip安装,但是由于linux系统中仍然使用python2的pip,导致如下安装失败
pip install docker-compose
可以尝试另外一种方法:从GitHub下载,然后加入权限直接使用
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
检查安装版本,正确输出则表示安装完成
docker-compose --version
2. 安装Overleaf
通过docker安装Overleaf的开源版本sharelatex
docker pull sharelatex/sharelatex
3. 配置Overleaf
wget https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml
对下载的docker-compose.yml文件进行编辑,修改端口号。需要修改的就是ports: - 80:80,一般80端口都被apache或nginx占用了,改用其他端口如:ports: - 5000:80。
vim docker-compose.yml
4. 启动Overleaf
在docker-compose.yml所在路径下执行
docker-compose up -d
5. 安装texlive
先进入docker容器,在docker中安装编译所需的完整的texlive
docker exec -it sharelatex bash
tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet
tlmgr update --self --all
nohup tlmgr install scheme-full &
创建用户
将下面的邮件换成自己的邮箱
docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email=joe@example.com"
然后打开浏览器访问http://localhost:8080/user/password/set?passwordResetToken=<token>
,修改密码即可使用