Linux 快速搭建 Overleaf 5.0 附中文字体及完整 TexLive 安装教程(2024最新版)

简介: 2024最新版 Linux 极速安装 Overleaf 5.0 手把手教学!附 XeLatex 修复,新增中文字体以及安装完整版 TexLive 教程!

事情的起因

最近因为某些原因要重新搭建一个 Overleaf 的应用,所以按照去年的《Linux系统搭建Overleaf / ShareLatex并使用Nginx代理教程》 进行了搭建,发现文章中有若干处遗漏,并且使用该教程以及无法成功搭建 Overleaf 5.0版本,所以在此更新一版 Linux 快速搭建 Overleaf 5.0 并且附中文字体及完整 TexLive 的安装教程。

机器配置

这里我们选用阿里云的一台 2-2 的云服务器进行搭建,需要购买的可以走本人链接选购云服务器经济型e实例/2核2G/3M/40g,新人专享渠道特惠价只要99元一年!通过链接购买更享新人红包双重优惠!

系统我们选用的是 Ubuntu 22.04(熟悉我的都知道我最爱用这系统了),然后我们先来安装一下一些基础的东西。

安装环境并初始化

我们首先先来安装一下 docker 以及 docker-compose

apt update
apt install -y docker-composer

之后我们可以来下载 Overleaf 官方提供的 Toolkit:

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

我们可以使用 bin/init 指令来进行初始化的配置文件生成,运行完该指令之后应该会创建出三个配置文件,分别是:config/overleaf.rcconfig/variables.env 以及 config/version,分别对应 Overleaf 容器的配置, docker 的环境配置以及选用的 Overleaf 的 docker 镜像。

修改配置文件

之后我们需要来修改我们的配置文件,首先是 overleaf.rc 中我们需要注意的几个配置:

  • OVERLEAF_PORT 指的是运行 Overleaf 的容器要选择曝露的端口,默认是 80 端口但如果有要使用 Nginx 反向代理的需求的话则需要自选一个端口(不常用的就行);
  • SIBLING_CONTAINERS_ENABLED 这个配置真的巨坑,默认的话是 true 但如果没有购买官方的 Server Pro 的话请直接修改成 false,因为这个功能很大程度上依赖于官方提供给 Server Pro 用户的镜像,如果不调到 false 的话极有可能出现编译失败的情况;

其他的则可以按需进行修改,详细可参考官方 Github 的这个页面。之后我们再来配置我们的 variables.env,这里主要都是一些 Overleaf 程序上的配置,如 OVERLEAF_NAV_TITLE 等就是网页上导航栏的标题,不修改也不会出大问题。

version 文件一般初次部署默认不用修改;

开始部署

Overleaf 官方提供了一个 docker-compose 的整合工具给用户直接进行使用,所以我们直接在 overleaf-toolkit 目录下运行:

bin/up

即可调用 docker-compose 帮我们创建所需要的容器,并且可以看到输出了很多的日志信息,这个时候我们可以直接通过日志信息或者到浏览器访问 http://服务器IP:Overleaf端口 查看是否运行成功。如果运行成功的话应该能够正常访问,我们就可以按下 Ctrl+C 终止运行,并且使用命令:

bin/start

让程序进入后台长期运行,之后我们可以通过指令:

docker stats

来看我们的 toolkit 创建的容器,一般来说会创建三个容器分别是: sharelatexmongo 以及 redis ,其中 mongoredis 都是给 sharelatex 提供服务的不能删掉。

安装完整版 TexLive(TexLive-full)

在进行这一步之前,如果你的 Overleaf 已经存有数据,请务必备份!这一步不知道为何在安装的时候系统的 IO 会飙升到近乎满载的状态,极容易造成系统卡死等情况,若发现系统卡住无法运行请首先尝试重启后继续运行上一条指令,或尝试重装并寻求官方协助!

我们首先先运行:

docker exec -it sharelatex bash

直接进入容器环境,之后我们可以首先将容器的源更新为阿里云的镜像源,详细可以参考 阿里云 Ubuntu 镜像,同时设置我们的 TexLive Manager 的源也改成阿里云的源:

tlmgr option repository https://mirrors.aliyun.com/CTAN/systems/texlive/tlnet

详细可参考 阿里云 CTAN 镜像。之后我们直接运行:

tlmgr install scheme-full

进行安装。此步骤需要的时间较长,并且容易造成 IO 飙升,容易使得 shell 的连接中断,最好使用 screen 防止更新中断或出现问题(本人踩坑5+次的经验),详细使用 screen 指令的教程可参考:《Linux下Screen的使用教程》。

待得安装完成后,可运行 exit 退出容器的 shell,并运行:

sharelatex sharelatex/sharelatex:[version]-with-texlive-full
echo [version]-with-texlive-full > config/version

将容器刻录成镜像,防止重启重建时需要再次重新安装 TexLive 完整版,上述指令中的 [version] 可先运行:

cat config/version

进行查看。至此完整版 TexLive 即安装完成,如有任何疑问或安装途中遇到任何问题,可参考 官方升级 TexLive 文档

新增中文字体

我们一般安装的 Overleaf 容器中是没有中文字体的,从而造成了 Overleaf 也无法编译中文字体到 pdf 中,所以我们首先需要向我们的容器添加中文字体。我们可以通过导入我们自己电脑中的中文字体做到这一步。

首先我们需要将我们电脑的文字文件上传到服务器当中,这一步我们可以通过 SFTP 办到,这里假设我们上传的文字文件压缩包为 winfonts.tar.gz,我们可以打开 shell 到上传路径并运行:

docker cp winfonts.tar.gz sharelatex:/overleaf

winfonts.tar.gz 复制到我们 sharelatex 容器中的 /overleaf 目录中,之后我们进入容器并且安装必须要的包:

docker exec -it share
apt update
apt install -y latex-cjk-all texlive-lang-chinese texlive-lang-english
apt install -y xfonts-wqy

这一步同样有可能出现 IO 飙升的状况,请随时注意!之后我们对 winfonts.tar.gz 进行解压并且移动到系统目录中:

tar -zxvf winfonts.tar.gz
mv winfonts /usr/share/fonts/

最后我们到 usr/share/fonts/winfonts 目录中开始安装我们的字体:


$ cd /usr/share/fonts/winfonts
$ mkfontscale
$ mkfontdir
$ fc-cache -fv

安装完成后我们可以通过指令:

fc-list :lang=zh-cn

查看已经安装的中文字体。至此中文字体安装已经完结,可参考上一个部分刻录一个新的 docker 镜像。

XeLaTex 修复

由于官方提供的 XeLaTex 镜像是破损的(或者说是不能用的),这个在官方的 Github Issue 中也有提到,所以我们需要进入容器对其进行修复:

docker exec -it sharelatex bash
apt update
apt install -y texlive-xetex texlive-latex-extra texlive-science

上述指令为通过 Github Issue 中的用户提供,安装完成后可参考安装完整 TexLive 的部分刻录一个新的 docker 镜像。

Nginx 反向代理 Overleaf

这一个部分没有什么不同的,可以直接参考去年的《Linux系统搭建Overleaf / ShareLatex并使用Nginx代理教程》进行操作,官方也有提供 Nginx HTTPS 反向代理配置文档 供用户参考。

至此 Overleaf 基本上已经搭建完毕,赶紧开启你的科研之路吧!

相关文章
|
6月前
|
存储 安全 Linux
《Linux 简易速速上手小册》第9章: 备份与恢复策略(2024 最新版)
《Linux 简易速速上手小册》第9章: 备份与恢复策略(2024 最新版)
55 1
|
6月前
|
存储 监控 安全
《Linux 简易速速上手小册》第6章: 磁盘管理与文件系统(2024 最新版)
《Linux 简易速速上手小册》第6章: 磁盘管理与文件系统(2024 最新版)
65 1
|
6月前
|
Ubuntu 安全 Linux
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
96 1
|
6月前
|
缓存 监控 关系型数据库
《Linux 简易速速上手小册》第10章: 性能监控与优化(2024 最新版)
《Linux 简易速速上手小册》第10章: 性能监控与优化(2024 最新版)
55 0
|
6月前
|
存储 安全 前端开发
《Linux 简易速速上手小册》第3章: 文件系统与权限(2024 最新版)
《Linux 简易速速上手小册》第3章: 文件系统与权限(2024 最新版)
75 1
|
5月前
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
|
6月前
|
消息中间件 Linux 网络安全
Rabittmq安装教程(Linux版)
Rabittmq安装教程(Linux版)
|
6月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
248 1
|
3月前
|
机器学习/深度学习 Linux Shell
超详细的Linux-Conda环境安装教程
超详细的Linux-Conda环境安装教程
|
5月前
|
安全 Linux Python
【安全狗】linux免费服务器防护软件安全狗详细安装教程
【安全狗】linux免费服务器防护软件安全狗详细安装教程
590 0