看别人用 ShareLatex 很是方便,于是就想本地部署一个试试。
为啥要本地部署?速度快啊!
在最前面提醒一句,如果自己 VPS 内存不够大,例如没有个 4G 内存的话,千万别瞎折腾。
Docker 环境安装
我们使用官方脚本来一键安装 Docker(懒):
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
记得顺便安装一个 Docker Composer:
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 chmod +x /usr/local/bin/docker-compose
注意上面的链接可能不是最新的。需要到官方手册页面查看最新版本。
最后为了不需要每次都敲 sudo
,我们需要把 docker 用户加入到当前用户组:
sudo adduser $USER docker
部署 ShareLatex
下载这个示例,然后别忙着运行。
打开文件,在 sharelatex 的 environment
里面加上一行
PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/texlive/2018/bin/x86_64-linux
然后改一下映射路径,甚至端口号。之后使用
docker-compose up -d
启动全部东西。
配置 ShareLatex
由于我们部署的是免费版的 ShareLatex,我们需要手动下载 TexLive 套件才能愉快地进行编译。
如果直接照着官方教程来做,会报个错:
tlmgr: Remote repository is newer than local (2017 < 2018)
Cross release updates are only supported with
update-tlmgr-latest(.sh/.exe) --update
Please see https://tug.org/texlive/upgrade.html for details.
原因是 ShareLatex 里面带的套件版本太低了,不兼容 2018 版的套件。所以需要动手升级一下。
- 使用
docker exec -it sharelatex bash
进入容器内
- 复制 2017 到 2018
cd /usr/local/texlive cp -a 2017 2018
- 下载并运行升级脚本
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh sh update-tlmgr-latest.sh -- --upgrade
- 可选:在国内的话建议换源
阿里源:
清华源:tlmgr option repository http://mirrors.aliyun.com/CTAN/systems/texlive/tlnet/
tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/
- 升级 tlmgr
tlmgr update --self --all
- 更新字体缓存(我没成功)
luaotfload-tool -fu
- 安装完整 TexLive
tlmgr install scheme-full
差不多就这样了。时间会非常长……非常长……
啥?你说还有中文的问题?我还没有试过。等遇到再来填坑。
使用
到浏览器里面访问/launchpad
,创建 Admin 用户,之后为所欲为,为所欲为。
最后需要注意的是,由于是免费版,里面不含用户管理功能。也就是说,一旦用户忘了密码,管理员是不能给 ta 重置密码的,再加上这东西发密码找回邮件的功能也有问题,die。In short, forget password = die. 内网用的话,Admin 一定要提醒各个用户,用最常用的密码,最简单的密码,最容易猜到的密码。——如果谁能把发送邮件这个东西给配置好了,记得留言说一声啊~
发表回复