zoukankan      html  css  js  c++  java
  • Docker部署ShareLaTeX

    Docker部署ShareLaTeX

    最近导师要我在服务器上搭一下ShareLaTeX,而且自己平常也会用到,所以在自己的服务器上也搭了一次,安装过程比较容易。本文记录一下部署和配置中文环境的过程。(造轮子)

    本文安装环境:ubuntu 18.04 lts

    安装Docker和docker-compose

    • 卸载旧版本,旧版本被叫做dockerdocker.io或者docker-engine
    sudo apt-get remove docker docker-engine docker.io containerd runc
    
    • 更新apt包索引,并允许apt通过https更新repo
    sudo apt update
    sudo apt-get install 
        apt-transport-https 
        ca-certificates 
        curl 
        gnupg-agent 
        software-properties-common
    
    • 添加Docker的官方 GPG key
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    • 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥 。
    $ sudo apt-key fingerprint 0EBFCD88
        
    pub   rsa4096 2017-02-22 [SCEA]
          9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
    uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
    sub   rsa4096 2017-02-22 [S]
    
    sudo add-apt-repository 
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
       $(lsb_release -cs) 
       stable"
    
    • 安装docker,顺便安装docker-compose
    sudo apt update
    sudo apt install docker-ce
    sudo apt install docker-compose
    
    • 将当前用户加入docker组,注销当前会话,重新登录后生效
    sudo gpasswd -a ${USER} docker
    

    安装ShareLaTeX

    本文使用官方向导建议的使用docker-compose快速部署ShareLaTeX的方式。ShareLaTex的安装依赖mongoDB和Redis,通过 docker-compose部署时直接这两者也一起部署了。

    • 拉取ShareLaTeX镜像

      $ docker pull sharelatex/sharelatex
      
    • 下载docker-compose.yml文件,并进行配置。

      $ mkdir -p ~/sharelatex          # 在用户目录下创建一个sharelatex文件夹
      $ cd ~/sharelatex                # 进入sharelatex文件夹
      $ curl -O https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml                      # 下载官方的docker-compose.yml配置文件
      $ sudo vim docker-compose.yml     # 使用vi修改配置文件
      
    • 下面是我修改的几项,其余项可根据需要自行修改

      # 修改本地挂载目录
      volumes:
      	- /home/docker/sharelatex:/var/lib/sharelatex
      	
      # 修改mongo和redis的本地挂载目录
      # mongo
      volumes:
      	- /home/docker/mongo_data:/data/db
      # redis
      volumes:
      	- /home/docker/redis_data:/data
      
    • 通过docker-compose.yml创建并运行ShareLaTeX容器

      # 在sharelatex目录下
      $ docker-compose up -d
      
    • 升级并安装完整版Texlive

      # 进入sharelatex容器
      $ docker exec -it sharelatex bash
      
      # 进入texlive默认安装目录
      $ cd /usr/local/texlive
      
      # 下载并运行升级脚本
      $ wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
      $ sh update-tlmgr-latest.sh -- --upgrade
      
      # 更换Texlive的下载源,例如清华tuna源
      $ tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/
      
      # 升级tlmgr
      $ tlmgr update --self --all
      
      # 更新字体缓存
      $ luaotfload-tool -fu
      
      # 安装完整版texlive(不要让shell断开,想离开的可以用nohup)
      $ tlmgr install scheme-full
      
      # 退出sharelatex的命令行界面,并重启sharelatex容器
      $ exit
      $ docker restart sharelatex
      
    • 使用ShareLaTeX

      进入浏览器访问http://XXXX(IP)/launchpad,创建Admin账户。

    配置中文环境

    • 将Windows字体库(即目录C:windowsfonts)上传到服务器,我直接用Xftp传的

      # 进入fonts目录
      $ cd fonts/
      
      # 删除其中的.fon字体文件(其他文章中写道不删会报错)
      $ rm -r *.fon
      
      # 返回上层目录并打包
      $ cd ..
      $ tar -zcvf fonts.tar.gz fonts/
      
      # 把打包文件传到sharelatex容器的root目录下
      $ docker cp fonts.tar.gz sharelatex:/root
      
    • 在容器中安装Windows字体

      # 进入sharelatex容器
      $ docker exec -it sharelatex bash
      
      # 安装xfonts-wqy工具
      $ apt-get install xfonts-wqy
      
      # 进入root目录,解压fonts.tar.gz,并移动到系统字体目录下
      $ cd ~
      $ tar -zxvf fonts.tar.gz
      $ mv fonts /usr/share/fonts/
      
      # 进入字体目录安装字体
      $ cd /usr/share/fonts/fonts
      $ mkfontscale
      $ mkfontdir
      $ fc-cache -fv
      
      # 检查确认中文字体安装成功
      $ fc-list :lang=zh-cn
      

    安装其他字体时,流程同上。

    参考链接

    Overleaf Quick Start Guide

    Get Docker Engine - Community for Ubuntu

    Install Docker Compose

    Tex Live Upgrade

    Typeset Chinese documents on Overleaf

    部署sharelatex并配置中文

    Docker部署ShareLaTeX并简单配置中文环境

  • 相关阅读:
    web前端图片上传
    二级联动
    前端框架
    获取URL域名
    监听横屏竖屏
    下载中间件、爬虫中间件
    起始url的调度原理
    自定义代理IP
    爬虫深度控制
    手动处理cookie(实现一个点赞爬虫)
  • 原文地址:https://www.cnblogs.com/fusluv/p/12536302.html
Copyright © 2011-2022 走看看