本地部署ShareLatex


发布于

|

分类

看别人用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版的套件。所以需要动手升级一下。

  1. ​ 使用
    docker exec -it sharelatex bash 

    进入容器内

  2. 复制2017到2018
    cd /usr/local/texlive cp -a 2017 2018  
  3. 下载并运行升级脚本
    wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh sh update-tlmgr-latest.sh -- --upgrade 
  4. 可选:在国内的话建议换源

    阿里源:

    tlmgr option repository http://mirrors.aliyun.com/CTAN/systems/texlive/tlnet/ 
    清华源:

    tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/ 
  5. 升级tlmgr
    tlmgr update --self --all 
  6. 更新字体缓存(我没成功)
    luaotfload-tool -fu 
  7. 安装完整TexLive
    tlmgr install scheme-full 

差不多就这样了。时间会非常长……非常长……

啥?你说还有中文的问题?我还没有试过。等遇到再来填坑。

使用

到浏览器里面访问/launchpad,创建Admin用户,之后为所欲为,为所欲为。

最后需要注意的是,由于是免费版,里面不含用户管理功能。也就是说,一旦用户忘了密码,管理员是不能给ta重置密码的,再加上这东西发密码找回邮件的功能也有问题,die。In short, forget password = die. 内网用的话,Admin一定要提醒各个用户,用最常用的密码,最简单的密码,最容易猜到的密码。——如果谁能把发送邮件这个东西给配置好了,记得留言说一声啊~

参考资料


评论

  1. Tnigma 的头像
    Tnigma

    邮箱设置比较简单,走docker-compose.yml,把邮箱的服务器信息、账号密码填上就ok了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注