> 文章列表 > Overleaf搭建

Overleaf搭建

Overleaf搭建

Overleaf简介

overleaf是一个在线latax写论文的神器,不用配置本地环境,浏览器访问即可实时编译,而且其提供多人协作功能,但是官网具有诸多限制,例如空间等,且安全性等因素不能保证,所幸其已在github进行开源,我们可以在自己的服务器通过docker进行部署。

Docker安装

有关docker的入门可以参考阮一峰先生的博文。这里笔者参考docker官网安装教程尝试了在ubuntu 18,ubuntu 20,macos上进行了分别部署,均未遇到坑,在此不再赘述。

可以通过以下命令查看是否安装成功:

docker version

Overleaf安装

  • 1.

    拉取最新的overleaf服务器版本

    docker pull sharelatex/sharelatex

  • 2.

    在用户目录~下,新建以下文件夹

    mkdir ~/sharelatex/ ~/sharelatex/sharelatex_data/ ~/sharelatex/mongo_data/ ~/sharelatex/redis_data/

  • 3.

    下载docker-compose.yml文件到~/sharelatex/文件夹下

    curl -O https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml

  • 4.

    修改docker-compose.yml配置文件

    # 避免端口重复,默认80端口,但是笔者的80端口开放给了apache,因此这里修改为5000

    # 端口号:80

    ports:

    - 5000:80

    # 修改本地挂载目录

    volumes:

    ~/sharelatex/sharelatex_data:/var/lib/sharelatex

    # 添加升级texlive需要的环境变量,主要是添加2018目录到2017前面,目的是为了防止后面安装完整版texlive时出现错误

    # 【这里原博主有写,但是我添加以后好像并没有什么效果,不添加也是可以的】

    environment:

    - PATH: /usr/localsbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/texlive/2018/bin/x86_64-linux:/usr/local/texlive/2017/bin/x86_64-linux

    # 下面选项设置ShareLaTeX的显示样式

    SHARELATEX_APP_NAME: Our ShareLaTeX

    SHARELATEX_NAV_TITLE: Our ShareLaTeX Instance

    SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png

    SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by <a href=\\"https://www.sharelatex.com\\">ShareLaTeX</a> 2016"},{"text": "Another page I want to link to can be found <a href=\\"here\\">here</a>"} ]'

    SHARELATEX_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]'

    # 修改mongo和redis的本地挂载目录

    # mongo

    volumes:

    ~/sharelatex/mongo_data:/data/db

    # redis

    volumes:

    ~/sharelatex/redis_data:/data

    这里附上我的docker-compose.yml文件

  • 5.

    进入~/sharelatex启动docker-compose.yml

    docker-compose up -d

  • 6.

    由于默认安装的是最小版本 TeXLive,如果要安装完整包,执行

    docker exec sharelatex tlmgr install scheme-full

  • 7.

    第一次启动镜像后,浏览器访问 localhost:port/launchpad 页面设置管理员账号

  • 8.

    客户机可以在浏览器通过ip:port访问