Overleaf是一个使用LaTeX进行多人协同编辑的平台,可以免费注册和使用,不用下载LaTeX软件,是最为著名的LaTeX在线协作系统。
而在有些情况下,考虑到数据安全以及操作方便性,可以购买服务器自行搭建Overleaf平台。
没有服务器的同学可以点此链接购买便宜的腾讯云服务器。
1.基本环境配置
安装Docker:
代码语言:javascript复制sudo curl -sSL https://get.daocloud.io/docker | sh
查看版本,检查是否安装成功:
代码语言:javascript复制docker --version
docker-compose --version
启动Docker:
代码语言:javascript复制systemctl start docker
2.运行容器
2.1安装overleaf
首先将overleaf项目从github拉至本地
代码语言:javascript复制git clone https://github.com/overleaf/toolkit.git ./overleaf
然后进行初始化配置
代码语言:javascript复制cd ./overleaf
bin/init
这里我们进入config下的overleaf.rc文件进行配置:
代码语言:javascript复制vim ./config/overleaf.rc
更改如下两行:
代码语言:javascript复制SHARELATEX_LISTEN_IP=如果本地使用按照原配置即可,腾讯云服务器需要改为**内网地址**
SHARELATEX_PORT=想映射的端口,默认的80端口常常被占用
(注意,映射的端口需要在腾讯云防火墙和centos内部的防火墙中均被开放)
其中还有许多个性化的配置:如网页抬头文字内容,网址标题,UI语言(中文)等,可以在overleaf的Wiki页面中进行查看和配置。
执行容器:bin/up
。
此时正在拉取镜像,可以等出现大量的log时使用 ctrl c 停止,然后执行bin/start
即可。
此时用浏览器打开http://公网IP:映射的端口/launchpad
应该能看到管理员注册界面,至此overleaf的安装结束。
2.2下载完整texlive包
以上安装的overleaf配套的LaTeX不是完整版,所以需要继续下载。
首先进入容器的bash:
代码语言:javascript复制docker exec -it sharelatex bash
cd /usr/local/texlive
然后执行以下命令:
代码语言:javascript复制# 下载并运行升级脚本
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
sh update-tlmgr-latest.sh -- --upgrade
# 更换texlive的下载源
tlmgr option repository https://mirrors.sustech.edu.cn/CTAN/systems/texlive/tlnet/
# 升级tlmgr
tlmgr update --self --all
# 安装完整版texlive(时间比较长,不要让shell断开)
tlmgr install scheme-full
# 退出sharelatex的命令行界面,并重启sharelatex容器
exit
docker restart sharelatex
至此,安装完成。
2.3 配置反向代理【可选】
如果想要使用域名ssl访问,或者改变访问端口,可能需要反向代理。
宝塔可能要修改反向配置文件为下面内容,如果直接默认的话,每次加载项目文档会卡卡的,甚至提示XXX加载错误
代码语言:javascript复制#PROXY-START/
location ~* .(php|jsp|cgi|asp|aspx)$
{
proxy_pass http://127.0.0.1:5200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
location /
{
proxy_pass http://127.0.0.1:5200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'Upgrade';
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 3m;
proxy_send_timeout 3m;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
proxy_ignore_headers Set-Cookie Cache-Control expires;
add_header Cache-Control no-cache;
expires 12h;
}
#PROXY-END/
以上内容部分参考:
服务器部署Overleaf
利用腾讯云服务器搭建自己的overleaf(写论文神器)