卢鹏博
发布于 2025-07-07 / 4 阅读
0
0

本地(服务器)部署Overleaf

官网上免费版的Overleaf有各种限制,以及不稳定等因素,导致部分用户体验感不好。如果服务器的性能较好,或者本地电脑的性能较好,可以考虑在本地部署私有Overleaf,同时也能保证个人的数据安全。

下面,我们将以Linux的Ubuntu操作系统为例,逐步讲述从部署,到解决中文编译等一系列问题。

前置准备(Linux系统可跳过)

如果您的服务器不是Linux系统,需要先配置Linux操作环境。

Mac和Windows均可安装虚拟机或第三方工具来实现Linux环境。

由于我是Windows用户,因此下面以Windows操作系统为例,Mac用户可自行百度。

启用wsl2

wsl是Windows系统下的Linux子系统,因此Windows系统可以很容易创建Linux环境。

  • 首先,打开控制面板-->启用或关闭Windows功能-->勾选下面两个选项然后确定并重启

  • 安装Ubuntu发行版

在Microsoft Store中搜索Ubuntu,可根据需求安装一个即可。

这里我以第一个默认的Ubuntu为例。

安装完成后,打开Ubuntu

首先设置用户,并输入passwd设置一个密码,然后关闭这个界面。

然后打开cmd窗口(注意不是Ubuntu的命令行窗口),输入

ubuntu config --default-user root

如果安装的为20.04版本,则更改为ubuntu2004 config --default-user root ,其余版本类似。

再次打开Ubuntu,即可看到已经切换为root用户,输入passwd以设置密码。

  • 安装1panel面板与docker

可参考:

https://blog.math-enthusiast.top/archives/1748582820358

克隆Overleaf并配置

克隆项目

首先安装1panel面板与docker,参考上面↑链接

然后进入Ubuntu,会显示如下界面:

执行下面命令:

git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
cd ./overleaf-toolkit
bin/init

修改配置

进入root/overleaf-toolkit/config,找到overleaf.rc

并做以下修改:

OVERLEAF_LISTEN_IP=0.0.0.0 # 监听所有的IP
OVERLEAF_PORT=8888         # 默认80端口,为了防止冲突以及不必要的麻烦,可以修改为其它端口。

!重点:部署Overleaf需要使用mongo,但是MongoDB官方从 5.0 开始引入的硬件限制,强制要求支持 AVX,无法通过任何软件方法绕过。所以部分用户需要降低版本

我们可以查看自己的设备是否支持AVX:怎么知道自己电脑的CPU支不支持AVX指令集_百度知道

本地的一般不需要修改降低版本,云服务器建议修改一下。

root/overleaf-toolkit/config/overleaf.rc中,将Mongo版本修改为4.4

MONGO_VERSION=4.4

其余配置可以不用修改,想要修改可以参考:【教程】很详细!Docker方式本地部署Overleaf-CSDN博客

启动Overleaf并创建账号

启动Overleaf

执行bin/up(即root/overleaf-toolkit/bin/up

程序会自动下载sharelatex,Mongo,Redis共3个软件并启动。

之后会出现类似下面的界面,就代表已成功启动。

上述界面可以关闭。

创建账号

首先创建管理员账号,在浏览器上面访问http://localhost:8888/launchpad。把8888换成你的实际端口号。如果你是服务器,就把localhost换成你的公网ip地址。

其次创建普通账号,需要登录管理员账号,在右上角点击Manage Users即可创建。

注意账号一定要为类似邮箱的形式(可以不是真正的邮箱,但是形式要一样),其次复制Set Password链接时,即得把localhost改为ip+端口,

即本地为127.0.0.1:8888(或localhost:8888),服务器为your ip:8888

安装宏包

账号注册完成后,我们想要尝试一下编译Latex,但是会提示没有"xxx.cls","xxx.aux"等类似提示。这是由于还没有下载安装宏包。

进入容器

我们需要打开Ubuntu,输入

docker exec -it sharelatex bash

进入sharelatex容器。

安装宏包

执行下面代码以安装基本宏包:

# 更新 tlmgr (Tex Live 包管理器)
tlmgr update --self

# 安装完整版 Tex Live (这会下载所有包,需要较长时间)
tlmgr install scheme-full

# 更新字体缓存
fmtutil-sys --all

安装完成后,在文档左上角“Mean-->Compiler”更改为XeLaTex可以使用ctex编译中文。

安装字体

部分字体

我们可以使用tlmgr来安装部分字体

tlmgr install collection-fontsrecommended  # 推荐字体(如CM/Latin Modern等)

tlmgr install collection-fontsextra        # 额外字体(包括非免费字体)

tlmgr install collection-langchinese       # 中文字体(宋体/黑体等)

额外字体

有时编译完后,会显示没有字体的错误

这时候我们需要安装额外字体。

这些字体需要单独安装,下面给出一些常用的字体安装命令:

Times 和 Arial

# 更新包列表并安装必要工具
apt-get update && apt-get install -y --no-install-recommends \
    wget \
    cabextract \
    xfonts-utils \
    fontconfig \
    debconf

# 预先设置 EULA 为 "同意"
echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections

# 安装字体
apt-get install -y --no-install-recommends ttf-mscorefonts-installer

# 更新字体缓存
fc-cache -fv

SimSun(宋体)和 simkai(楷体)

首先安装解压工具:apt update && apt install -y wget unzip fontconfig

然后执行下载命令(这是我在github上找到的开源字体,如果失效,可自行百度可用镜像源):

wget -O /usr/share/fonts/chinese/simsun.ttc "https://github.com/jiaxiaochu/font/raw/master/simsun.ttc"
wget -O /usr/share/fonts/chinese/simkai.ttf "https://github.com/jiaxiaochu/font/raw/master/simkai.ttf"

也可以使用下面命令单独下载simkai

# 创建字体目录
mkdir -p /usr/share/fonts/chinese

# 下载 simkai.zip
wget -O /tmp/simkai.zip "https://cdn.chenair.com/a/down1/simkai_downcc.zip"

# 解压到字体目录
unzip /tmp/simkai.zip -d /usr/share/fonts/chinese/

# 检查解压后的文件
ls -l /usr/share/fonts/chinese/  # 确认 simkai.ttf 存在

然后更新字体:

chmod 644 /usr/share/fonts/chinese/*
fc-cache -fv

由于楷体名称为KaiTi_GB2312,因此需要做替换。

在tex文件开头加上命令:\setCJKfamilyfont{kai}{KaiTi_GB2312} 即可。

一键安装

首先需要把前置准备及docker安装完(1panel面板可以不用安装,但还是建议安装),才能使用本程序一键部署。

主程序代码:https://github.com/AMTOPA/Overleaf-Sharelatex-Easy-Install

将上述代码保存为install_overleaf.sh,然后执行运行程序./install_overleaf.sh

也可以在最新版1panel面板中添加脚本:

也可以使用一键安装命令(直接复制到命令行即可):

bash <(curl -sL https://raw.githubusercontent.com/AMTOPA/Overleaf-Sharelatex-Easy-Install/main/install.sh)

或者备用命令:

bash <(curl -sL https://math-enthusiast.top/install.sh)

注意事项:

1. 需要提前安装好Docker和1Panel

2. 楷体安装后需在TeX文档中使用 KaiTi_GB2312 名称调用

3. 首次启动可能需要10-20分钟下载依赖

4. 服务器部署需将localhost替换为公网IP

如需修改配置,可编辑生成的overleaf-toolkit/config/overleaf.rc文件后重新运行bin/up。

后记

至此,我们已经完成了Overleaf的本地安装以及宏包,字体的安装。

后续我会出一个将本地端口映射到服务器,然后使用nginx反向代理,使得别人能够远程访问你的本地Overleaf,实现共享编辑的文章等功能。



评论