我们实验室的人写科研文章一般用LaTeX,但是相对于Word,传统LaTeX在"多人合作"与"追踪修改"上有很大的缺陷。一个很好的解决办法是使用在线LaTeX编辑器,如Overleaf或者ShareLaTeX。可惜这些在线LaTeX编辑器的免费版本有诸多限制(如:只能有一个合作者)。幸运的是,ShareLaTex有开源版本。于是,我们决定在实验室内部服务器上部署ShareLaTeX。
服务器操作系统
Ubuntu 14.04
安装docker
实验室服务器之前已经安装了docker,但是按照ShareLaTeX的Quick Start Guide无法下载ShareLaTeX。所以必须重新安装docker。
sudo apt-get remove docker
sudo apt-get remove docker-engine
sudo apt-get remove docker.io
2. 确认curl等工具已安装
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3. 添加源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
4. 安装docker-ce
sudo apt-get install docker-ce
5. 测试安装是否成功
sudo docker run hello-world
6. 下载并安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose
下载ShareLaTeX及compose file
sudo docker pull sharelatex/sharelatex
配置数据文件夹
~
换成相应的目录即可。cd ~
mkdir sharelatex
cd sharelatex
mkdir sharelatex_data
mkdir mongo_data
mkdir redis_data
2. 下载docker-compose.yml,并存在~/sharelatex/
目录下。
3. 如有必要,修改docker-compose.yml文件(如:替换~
为相应的目录,修改管理员的邮箱,等等)
安装ShareLaTeX
sudo docker-compose up
2. 安装完毕后,新开一个terminal tab,创建管理员帐号
sudo docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email admin@university.edu"
3. 新开一个terminal tab,安装TexLive完全版本
sudo tlmgr option repository ftp://tug.org/historic/systems/texlive/2017/tlnet-final
sudo docker exec sharelatex tlmgr install scheme-full
注:本步骤需要很长时间
运行ShareLaTeX
如果ShareLaTeX已经在运行,用Ctrl-C
可关闭。
cd ~/sharelatex/
sudo docker-compose up
其他有用命令
sudo docker container ls -a
sudo docker container rm xxxxxx
sudo docker exec -it sharelatex bash
sudo docker exec -it mongo bash
mongoexport -d sharelatex -c users -f email
(需要先进入数据库)