overleaf是一个使用LaTeX进行多人协同编辑的平台。可以免费注册和使用,不用下载LaTeX软件,Overleaf允许一个文档有多个共同作者,同时它不仅能在LaTeX下操作,还能在多信息文本格式下进行阅读和编辑。因此,使用过和没使用过LaTeX的人都可以轻松使用该文档。
overleaf官方有英文版和中文版网站,可以在他们的网站上进行文章的写作,但是在大量的人同时的时候可能会有编译缓慢的问题,而且海外版的overleaf会有时不时掉线的问题,着实让人着急。同时也考虑到数据安全性的问题,最终决定用我现有的服务器自行部署overleaf平台。
以下内容针对的是自行部署的overleaf平台,部署的overleaf没有专业版的功能,要想使用专业版的overleaf,请转到文章最后的 免费使用专业版计划
部署overleaf
先决条件
有一台自己的服务器,可以是自己搭建的,也可以是租用各大服务器厂商的,我这里使用的是腾讯云的轻量应用服务器。
基本环境配置
安装docker和docker-compose,这里使用一键安装脚本:
sudo curl -sSL https://get.daocloud.io/docker | sh
之后查看版本,检查是否安装成功:
docker --version
docker-compose --version
出现具体版本号即为安装成功。
可能出现的问题
启动docker时:ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket – is it running?怎么办
出现这个问题是因为当前用户权限的问题,只要将当前用户加入docker组就可以啦~
# 1、如果还没有 docker group 就添加一个
sudo groupadd docker
# 2、将用户加入该 group 内。然后退出并重新登录就生效啦。
sudo gpasswd -a ${USER} docker
# 3、重启 docker 服务
sudo service docker restart
# 4、切换当前会话到新 group 或者重启 X 会话
newgrp - docker
# 注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。
运行容器
安装overleaf
# 首先将overleaf项目从github拉至本地
git clone https://github.com/overleaf/toolkit.git ./overleaf
# 然后进行初始化配置
cd ./overleaf
bin/ini
之后进入config下的overleaf.rc文件进行配置:
vim ./config/overleaf.rc
修改以下两行
SHARELATEX_LISTEN_IP=如果本地使用按照原配置即可,腾讯云服务器需要改为**内网地址**
SHARELATEX_PORT=想映射的端口,默认的80端口常常被占用
映射的端口需要在腾讯云防火墙和centos内部的防火墙中均被开放
其中还有许多个性化的配置:如网页抬头文字内容,网址标题,UI语言(中文)等,可以在overleaf的Wiki页面中进行查看和配置。
执行容器:bin/up
。
此时正在拉取镜像,可以等出现大量的log时使用 ctrl+c 停止,然后执行bin/start
即可。
此时用浏览器打开http://公网IP:映射的端口/launchpad
应该能看到管理员注册界面,至此overleaf的安装结束
下载完整texlive包
以上安装的overleaf配套的LaTeX不是完整版,所以需要继续下载。
首先进入容器的bash:
docker exec -it sharelatex bash
cd /usr/local/texlive
然后执行以下命令:
# 下载并运行升级脚本
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
至此,安装完成。
手动部署overleaf的不足之处
overleaf的版本是community版,没有版本控制、review模式等商业版的功能。如果想实现商业版的功能需要充钱或者推荐其他人加入overleaf,再或者通过下文描述的加入IEEE Collabratec的方法来获得Professional Plan
免费使用专业版计划
- 进入到IEEE Collabratec官网注册个账号
- 进入登陆好的IEEE Collabratec主页,从右上角的Settings里进入Attached service
- 选择连接到overleaf,之后就可以在overleaf中看到目前的plan是Premium,这样就可以解锁overleaf全部功能了,而且似乎这个是没有期限的,所以可以一直白嫖下去。