华为云学生机装ShareLatex
在帖子 [交流吐槽] #化鲲为鹏,我有话说# 华为云安装Docker跑ShareLatex【失败放弃,复盘问题】下的第二回答,也可以直接打开我的博客 华为云学生机装ShareLatex查看
上接[华为云鲲鹏安装Docker跑ShareLatex【失败放弃】](https://blog.bugatii100peagle.cn/2019/11/08/%E5%8D%8E%E4%B8%BA%E4%BA%91%E5%AE%89%E8%A3%85ShareLatex/)
**环境准备**
新机子到手首先
```bash
sudo apt update
sudo apt upgrade
```
## 安装Docker
参考[ubuntu 18.04 安装docker ce](https://www.jianshu.com/p/83483c35bfcd)卸载旧版本Docker,新机子不用,给重装的老机子用。
```bash
sudo apt-get remove docker docker-engine docker.io
```
安装包以允许通过HTTPS使用存储库
```bash
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
```
添加Docker的官方GPG密钥
```bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
```
确认指纹
```bash
sudo apt-key fingerprint 0EBFCD88
```
设置稳定存储库,默认最新版
```bash
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
```
再次更新apt包索引
```bash
sudo apt-get update
```
安装最新版本的Docker CE
```bash
sudo apt-get install docker-ce
```
查看Docker CE 版本
```bash
docker -v
```
通过运行hello-world映像验证是否正确安装了Docker CE
```bash
sudo docker run hello-world
```
学生机上述过程丝滑流畅,毫无问题。突然有点想念刚刚退掉的鲲鹏,他可是折磨了我两天,为他茶不思饭不想!
## Docker-compose
[docker/compose官网仓库](https://github.com/docker/compose/releases)有发布最新的版本,同时也给出了命令行安装方法。
```bash
curl -L https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
```
如果你要是嫌服务器自己`curl`速度慢的话可以再终端中`uname -s`-`uname -m`看自己服务器的参数选择对应版本下载即可,浏览器中下载还挺快的,推荐下载神器IDM,然后用ftp把下载的docker-compose文件传到服务器,再对应地修改目录加权限。
![IDM下载神器](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/143845207.png)
上传好后验证文件完整性
```bash
sha512sum docker-compose-Linux-x86_64
```
我下载的是[docker-compose-Linux-x86_64.1.23.0](https://github.com/docker/compose/releases/download/1.23.0/docker-compose-Linux-x86_64),官网给出的值是`5b6f948a264a2c018a124b3cae0ce788f14b94a37ab05ca3ba3bb8622f5b7d0b`,然而我换了几个版本的我验证出来的sha56值都不是这个,大约是我搞错了验证方式?不过能用的就可以。
![sha56值与md5值](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/150005933.png)
移动到`/usr/local/bin/`文件夹并加权限。
```bash
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
```
测试Docker-compose 可用
```bash
docker-compose -v
```
![Docker-compse版本](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/150404006.png)
## 安装Sharelatex
拉取镜像
```bash
sudo docker pull sharelatex/sharelatex
```
参考[ShareLaTeX安装、配置与部署](https://zhuanlan.zhihu.com/p/54088512)新建文件夹
```bash
cd ~
mkdir sharelatex
cd sharelatex
mkdir sharelatex_data
mkdir mongo_data
mkdir redis_data
```
下载[overleaf官方的docker-compose.yml](https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml)到`sharelatex`文件夹下。
![可以修改一下映射端口,我的没有冲突就不改了](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/165214592.png)
![配置文件中的端口,在安全组中开放](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/165332964.png)
使用docker-compose 启动部署
>第一次运行`docker-compose`会自动拖取镜像mongo和redis,我上一篇在鲲鹏上想尝试的手动安装mongodb代替docker-compose的功能就是这张图的启发。
![docker-compose在拖镜像](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/170601509.png)
```bash
sudo docker-compose up -d
```
`-d`参数可以让docker在后台执行,不加`-d`的话就会在终端输出一大串状态,而且你还得一直保持着终端挂着。
![似乎跑起来了](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/183643022.png)
到这里就换到[使用Docker部署ShareLaTex并简单配置中文环境](https://huanghailiang.github.io/2019/07/25/Docker-deployment-ShareLaTex/)的教程来,进入容器的命令行(sharelatex容器本质上是一个Ubuntu)
```bash
docker exec -it sharelatex bash
```
下载并运行升级脚本
```bash
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
sh update-tlmgr-latest.sh -- --upgrade
```
![新版本自动安装了2019所以更新应该不会太麻烦](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/184336774.png)
更换texlive的下载源,例如国内的清华源
```bash
tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/
```
升级tlmgr
```bash
tlmgr update --self --all
```
安装完整版texlive(漫长的等待,不要让shell断开)
```bash
tlmgr install scheme-full
```
![开始慢慢长征路](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/190049623.png)
等上一步跑完,退出sharelatex的命令行界面,并重启sharelatex容器
```bash
exit
docker restart sharelatex
```
然后在浏览器打开你的IP地址,如果改了端口的加上对应端口,第一次使用会提示注册管理员账号。
![胜利了,为了这一刻,我太难了](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/193127358.png)
中文编程使用xelatex,虽然有报错,但是不影响
![中文编译](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/195447922.png)
参考[overleaf-Chinese](https://cn.overleaf.com/learn/latex/Chinese#The_ctex_Bundle_Classes)和][LaTeX技巧856:在overleaf平台上使用CTeX](https://www.latexstudio.net/archives/7097.html)可以直接使用Ubuntu自带的字体无需自己手动安装字体。
```latex
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK*}{UTF8}{gbsn}
\section{前言}
\section{关于数学部分}
数学、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.
\end{CJK*}
\bigskip %% Just some white space
You can also insert Latin text in your document
\bigskip %% Just some white space
\begin{CJK*}{UTF8}{bsmi}
這是繁體中文。
\end{CJK*}
\begin{CJK}{UTF8}{min}
\section{これは最初のセクションである}
日本語で \LaTeX の組版を実証するための導入部分。
フォントはまた、数学的な形態および他の環境で使用することができる
\end{CJK}
\bigskip
Outside the environment Latin characters may be used.
\begin{CJK}{UTF8}{}
\CJKfamily{mj}
전체 문서에 대한 기본 정보를 소개 단락.
\begin{verbatim}
그것은 간격 방법을 참조 그대로 글꼴을 테스트
\end{verbatim}
\end{CJK}
Latin characters are also allowed.
\end{document}
```
![pdflatex表现良好](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/200021665.png)
![CJK好](http://newblogimg.oss-cn-beijing.aliyuncs.com/blog/20191109/203313875.png)
[Quick Start Guide](https://github.com/overleaf/overleaf/wiki/Quick-Start-Guide)官网还有像设置https,设置语言一类的教程,感兴趣可以再看看。
- 点赞
- 收藏
- 关注作者
评论(0)