腾讯云中使用ubuntu安装属于自己的overleaf
在自己的云服务器上安装overleaf的需求是从写论文开始的,总担心自己的论文放在一个网站上被泄露,所以想要在自己的服务器上安装自己的overleaf,正好手边有一个云服务器,现在开始。
配置腾讯云
因为使用overleaf的优势就是在不同的设备,不同的地点都可以编辑自己的文档,所以这里我们使用自己的云服务器,选择腾讯云的原因是之前买了腾讯云的服务器,打算干一番大事业,结果也不了了之,现在刚刚好可以用起来,其实其他他的云也差不多的操作,那个便宜用哪个吧。
我想图文并茂的带大家走一下这个流程,所以首先第一步是重装系统,这里因为使用了我自己的服务器,所以即使有什么个人信息,也希望大家不要使用,并提醒我及时马赛克。
登录控制台后,选择我们的服务器



然后确认进行重装系统,中间可能有一些验证过程,这里省略。。。。
重装完成后,会返回控制台的主页面,在控制台页面我们可以发现本机的公网ip,如下图

连接xshell
我们这里使用xshell作为本地的终端工具,当然随便选取一些shell或者直接在网页中使用腾讯云的终端也是可以的,本文面向小白,怎么方便怎么来
新建一个选项卡

名称是选项卡的名称,这里随便填写,主机是我们云服务器的公网ip,这个在上面的配置中已经查看过了

选择左侧栏中的用户身份验证,其中用户名是ubuntu,这个是腾讯云默认的用户名,密码是之前在重置系统时重置的密码。

至此,我们确认一下就链接上了这台云服务器,下次链接就不用这么费劲了,只需要在左侧栏中的所有会话中选择腾讯云即可

打开防火墙
由于我们下面的docker想要使用88端口,这里需要我们打开防火墙
首先是ubuntu的防火墙
sudo ufw allow 88/tcp
然后是打开腾讯云的防火墙

操作顺序由上到下

安装overleaf
先将overleaf项目拉到本地
git clone https://github.com/overleaf/toolkit.git ./overleaf
然后进入overleaf文件夹,并执行具有初始化配置功能的二进制文件:
cd ./overleaf
sudo bin/init
初始化会在 config 文件夹下生成若干配置文件 overleaf.rc,variables.env 和 version,注意!!!在真实安装之前需要先改配置文件,在执行安装程序,和拉取完整版的texlive。
如果你是在远程服务器上搭建,你需要在 variables.env 里面把SHARELATEX_SITE_URL项里的localhost改成yourIP[:port],yourIP是你远程服务器的IP,在腾讯云中这个是腾讯云的内网ip,port在overleaf.rc里默认是80 (若为80访问地址里可缺省),但是我们这里设置为88,因为80端口往往被占用,同时打开服务器防火墙的88端口。重启一下服务(先执行 bin/stop 然后执行 bin/start )
由于 toolkit 使用 docker-compose 作为容器编排器,没有 docker-compose 还需先安装一下:
apt install docker-compose
安装好后执行
sudo bin/up
开始拉取需要的内容

等出现大量的log时使用 ctrl+c 停止,然后执行
sudo bin/start
此时用浏览器打开
http://公网IP:映射的端口/launchpad
就可以看到管理员注册界面,至此overleaf的安装结束
下载完成latex
以上安装的overleaf配套的LaTeX不是完整版,所以需要继续下载。
首先进入容器的bash:
# 将普通用户username加入到docker组中
sudo gpasswd -a $USER docker
# 更新docker组
newgrp docker
# 与容器环境进行交互
docker exec -it sharelatex bash
cd /usr/local/texlive
然后执行以下命令:
# 下载并运行升级脚本
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
sh update-tlmgr-latest.sh -- --upgrade
# 更换texlive的下载源
tlmgr option repository https://mirrors.sustech.edu.cn/CTAN/systems/texlive/tlnet/
# 升级tlmgr
tlmgr update --self --all
# 安装完整版texlive(时间比较长,不要让shell断开)
tlmgr install scheme-full
# 退出sharelatex的命令行界面,并重启sharelatex容器
exit
docker restart sharelatex
注册管理员
这时候,理论上就可以通过
https://latex.xxxxx.com(配置了https)http://latex.xxxxx.com(只有域名)http://yourIP:port(连域名都没有)
来登录网站了,我们登录对应地址加“/launchpad, 比如”https://latex.xxxxx.com/launchpad ,进行管理员账号的注册。
管理普通用户
注册并登录后,管理员账号可以点击右上角的 Admin 图标, 点击弹出的 Mangae Users 图标,输入新用户的邮箱即可注册。注意先前我们没有配置SMTP自动发邮件,所以需要管理员把弹出的注册邀请URL手动发送给用户。用户在拿到邀请URL后,点击进去设置密码,就可以采用邮箱号和密码在 https://latex.xxxxx.com 登录了。
最终我们可以愉快写论文了

相关文章:
腾讯云中使用ubuntu安装属于自己的overleaf
在自己的云服务器上安装overleaf的需求是从写论文开始的,总担心自己的论文放在一个网站上被泄露,所以想要在自己的服务器上安装自己的overleaf,正好手边有一个云服务器,现在开始。 配置腾讯云 因为使用overleaf的优势就是在不同…...
【redisson学习笔记】
1)clone项目 git clone https://github.com/redisson/redisson.git本来想直接用maven编译源码, 却发现各种错误,主要是maven的编译插件版本问题。 2)然后用maven包方式引入 <dependencies><dependency><groupId>org.redisson</gr…...
gurobi属性篇一
1.构造目标函数 (1)一般的写法: 我们常见的目标函数写法通常是定义好式子zf(x,y,...),然后用m.setObjective(z, GRB。MINIMIZE),这样的定义方式比较普遍。 这也是一般的写法。 (2)但还有一种写法…...
【python数据建模】Pandas库
概述 Pandas库主要提供了三种数据结构: (1)Series:带标签的一维数据 (2)DataFrame:带标签且大小可变的二维表结构 (3)Panel:带标签且大小可变的三维数据 Pan…...
Flutter笔记:关于应用程序中提交图片作为头像
Flutter笔记 关于应用程序中提交图片作为头像 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/133418554…...
【C++】C++的类型转换
文章目录 1. C语言中的类型转换2. C中的类型转换2.1 static_cast2.2 reinterpret_cast2.3 const_cast2.4 dynamic 1. C语言中的类型转换 在C语言中,经常会出现一种情况:运算符两边的类型不同,或者形参实参类型不匹配,此时就会发生…...
ahk系列——ahk_v2实现win10任意界面ocr
前言: 不依赖外部api接口,界面简洁,翻译快速,操作简单, 有网络就能用 、还可以把ocr结果非中文翻译成中文、同样可以识别中英日韩等60多个国家语言并翻译成中文,十分的nice 1、所需环境 windows10及其以上…...
linux下端口映射
linux下端口映射 1. 允许数据包转发 echo 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -j MASQUERADEiptables -A FORWARD -i [内网网卡名称] -j ACCEPTiptables -t nat -A POSTROUTING -s [内网网段] -o [外网网卡名称] -j MASQUERADE# 例:…...
C++ 迭代器(iterator)
迭代器介绍 迭代器(iterator):容器类型内置的“指针” - 使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。 - 有迭代器的类型都拥有 begin 和 end 成员- begin:返回指向第一个元素(或字…...
基于Python3搭建qt开发环境
Python可视化编程相信大部分刚接触都是tkinter,tkinter是Python自带的库,不需要安装第三方库即可使用,在我的Python专栏中也有很多基于tkinter来设计的可视化界面。本篇文章将尝试另外一个Python的可视化编程库(pyqt),与tkinter编…...
Linux常见操作命令(1)
前言:作者也是初学Linux,可能总结的还不是很到位 ♈️今日夜电波:达尔文—林俊杰 0:30━━━━━━️💟──────── 4:06 🔄 ◀️ …...
GEO生信数据挖掘(一)数据集下载和初步观察
检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例 目录 GEOquery 简介 安装并加载GEOquery包 getGEO函数获取数据(联网下载) 更换下载数据源 对数据集进行初步观察处理 GEOquery 简介 GEOquery是一个…...
Tensorflow2 GPU 安装方法
一、Tensorflow2 GPU 安装方法 1. 首先安装Anaconda3环境2. 在Anaconda Prompt 中安装tensorflow23. 验证GPU是否可以使用 1. 首先安装Anaconda3环境 https://www.anaconda.com/ 2. 在Anaconda Prompt 中安装tensorflow2 conda update conda conda create -n tensorflow pyt…...
QSS之QLineEdit
QLineEdit我们在开发过程中是经常使用的,一般情况下默认的风格是不适合设计师的要求,本篇介绍QLineEdit的基本qss风格: 1.基本属性设置 QLineEdit{background-color:#FFFFFF;color:#333333;border:none;} 2.悬浮状态设置 QLineEdit:hover…...
在比特币上支持椭圆曲线 BLS12–381
通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比,BLS12-381 的安全性明显更高,并且安全目标是 128 位。 所有其他区块链,例如 Zcash 和以太坊,都必须通过硬分叉才能升…...
简单讲解 glm::mat4
文章目录 前言一、下载glm库二、基本数学知识1. 三维中的 4 x 4 矩阵2.旋转3. 位移4. 缩放5. 组合 三、行向量或列向量四、总结 前言 glm库是OpenGL的官方数学库,里面内置多种跟几何变换相关的函数,熟练掌握glm库可以省下很多麻烦。 因为最近在项目中主…...
第3章-指标体系与数据可视化-3.1.1-Matplotlib绘图库
目录 3.1 Python可视化 3.1.1 Matplotlib绘图库 1. 线图 2. 饼图 3. 条形图 4. 直方图 5.散点图...
探索视听新纪元: ChatGPT的最新语音和图像功能全解析
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🤖 人工智能 AI: 🧠 Machine …...
华为乾坤区县教育安全云服务解决方案(1)
华为乾坤区县教育安全云服务解决方案(1) 课程地址方案背景客户痛点分析区县教育网概述区县教育网业务概述区县教育网业务安全风险分析区县教育网安全运维现状分析区县教育网安全建设痛点分析 安全解决方案功能概述架构概述方案架构设备选型 课程地址 本…...
《Jetpack Compose从入门到实战》第三章 定制 UI 视图
目录 配置颜色、字体与形状Welcome PageLogin PageHome Page 主题CompositionLocal 配置颜色、字体与形状 -ui.theme.Color.kt val pink100 Color(0xFFFFF1F1) val pink900 Color(0xFF3F2C2C) val white Color(0xFFFFFFFF) val white850 Color(0xD9FFFFFF) val gray Col…...
工业自动化设备电流检测解决方案——工业控制系统为什么越来越重视隔离电流检测
在工业自动化设备中,电流检测已经成为控制系统的重要组成部分。无论是PLC控制柜、伺服驱动器、工业电源、机器人控制系统还是变频器系统,控制器都需要实时获取负载电流信息,用于过流保护、闭环控制、功率计算以及设备状态监测。但很多工程师在…...
从单机到团队协作:手把手教你用SVN在Windows上搭建个人小型项目版本库(含汉化与日常使用图解)
从单机到团队协作:Windows环境下SVN轻量化部署与实战指南 在个人开发和小型团队协作中,版本控制是保证代码安全和团队高效协作的基石。对于Windows平台的开发者而言,SVN(Subversion)以其简单可靠的特点,成为…...
kafka安装与可视化工具offset explore连接操作说明
1.1 环境前置要求 本地部署 Kafka 4.0 极简,无复杂依赖,只需满足 1 个核心条件: 本地已安装 JDK 17 及以上版本(推荐 JDK 17),并配置好 Java 环境变量(能在命令行执行 java -version 和 javac -…...
2026最新免费在线去水印软件推荐:性能对比与选择指南
在2026年,处理视频和图片水印已经成为内容创作者和日常用户的常见需求。无论是社交媒体截图、下载的素材,还是自己录制的视频,水印往往会影响最终的呈现效果。那么,免费在线去水印软件哪个好?不同工具间的优缺点对比如…...
Unity中DragonBones多动画性能优化:图集复用与骨骼模板化
1. 为什么DragonBones动画在Unity里总“卡得莫名其妙”?我第一次在Unity项目里接入DragonBones时,美术给的是一套角色的12个独立动画:idle、walk、run、jump、attack1、attack2、hurt、die、victory、taunt、cast、reload——每个都带完整骨骼…...
物理标签退场,视觉原生上位:UWB vs 镜像视界无感定位・空间智能重构
物理标签退场,视觉原生上位:UWB vs 镜像视界无感定位・空间智能重构在空间智能加速重构物理世界的当下,全域感知技术正经历一场从“物理标签”到“视觉原生”的底层范式革命。长期以来,以UWB(超宽带)为代表…...
数字图像质量提升技术【附代码】
✨ 长期致力于图像质量提升、计算机图形处理器、并行加速、非均匀校正、图像超分辨、反射光消除、深度学习、生成对抗网络研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 &#…...
Kimi LeetCode 2547. 拆分数组的最小代价 C++实现
这道题的核心思路是动态规划 记忆化搜索。我们定义 dfs(i) 为从下标 i 开始拆分数组的最小代价,答案即为 dfs(0)。关键观察子数组的重要性 k trimmed(subarray).length。其中 trimmed 操作会移除子数组中只出现一次的数字。如果我们用 cnt[x] 记录数字 x 在当前子…...
利用Taotoken审计日志功能追踪与分析团队内部的模型使用情况
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken审计日志功能追踪与分析团队内部的模型使用情况 对于项目管理者或安全运维人员而言,清晰掌握团队内部大模…...
从elm-react-native学习React Native最佳实践:10个关键开发技巧
从elm-react-native学习React Native最佳实践:10个关键开发技巧 【免费下载链接】elm-react-native A react native app simulating eleme app,run ios and android. 项目地址: https://gitcode.com/gh_mirrors/el/elm-react-native 想要快速掌握…...
