Lazy loaded image
🔟记录DocHub的搬家过程
字数 1741阅读时长 5 分钟
2023-7-2
2024-12-17
type
Post
status
Published
date
Jul 2, 2023
slug
DocHub
summary
仅供列表展示、文章无内容、文章描述摘要过长时会被截断,仅显示前面几行内容,根据主题决定。这是一个示范
tags
建站
文档
DocHub
搬家
category
技术分享
icon
password
URL
和上一个应用搬家原因一样,
另一个基于DocHub的程序也部署在旧服务器上,
今天有时间再来恢复一下。
安装环境的过程中,又走了一些弯路。
因此有必要记录一下,以免下次再走一次……
notion image
因为我的服务器是 ubuntu 22.04, 因此选择Linux 下安装部署 DocHub 文库系统的教程。
首先打开官方的教程地址:

1,更新服务器所有的配置:

2,安装 libreoffice

3,安装 Calibre

安装Calibre的时候是最郁闷的,官方教程里的地址已经失效,我以为需要到 Calibre 的官网去找正确的地址。
安装的时候等了大半个小时,才下载了3%,我这暴脾气无法忍受,又自己重新从官网直接下载了文件,然后问AI怎么手动安装,折腾了又大半个小时,一查版本,结果还是显示没有安装,提示我是否安装,此时我已经有点急躁了,直接使用终端提供的安装命令sudo apt install calibre就安装了。
结果神奇的是,竟然成功了!! 所以,忽略官方的安装命令,直接使用这个命令即可快速安装Calibre。
使用这个命令来检查是否安装成功:
安装成功后,不要着急,先用宝塔在项目的目录下创建一个example.txt的文件,并在文件中写入一行中文和一行英文(检查转换后的中文内容不会乱码),再使用命令来转换这个文件:
使用这个命令的时候要注意不能使用root用户,但是使用普通用户的时候会提示权限不足,无法将转换后的文件写入目录,需要给用户临时的写入权限:
然后再执行上述命令。
完成后,在根目录下会出现一个名为example.pdf的文件,下载后打开看看有没有乱码。
如果存在乱码,则朝以下两个方向去解决。
  • 字符编码是否支持,比如 gbk 或者 utf-8 等,
  • 是否缺少相应的中文字体库。可以使用如下的方式进行安装:

安装 pdf2svg

直接使用如下命令进行一键安装:
这个很顺利,一下就成功。
在终端执行如下命令:
如果显示如下结果,则表示安装成功:
如果显示的内容不是上面提示的那样,则表示安装的版本不对,请通过搜索引擎找办法进行解决。
使用刚刚转换的example.pdf文件,通过如下命令,将PDF文档转svg:

安装 ImageMagick

这个也很顺利,一下就成功。
在终端执行如下命令查看版本:
如果能查询到版本号,则表示安装成功。 如果查询不到版本号或者提示找不到命令,则排查下 ImageMagick 是否已经安装,并且配置了系统环境变量。
一般情况下,Linux和Mac下使用命令的方式进行一键安装的话,会自动把软件加入到系统环境变量之中。

安装supervisor

作用:将程序加入系统守护进程
安装命令:
判断是否安装成功:
显示版本号,即表示安装成功。

配置守护进程

上传程序文件

上传备份的文件,或下载 DocHub.V2.1_linux_amd64.zip 文件,即DocHub v2.1 版本,Linux 64位系统程序。
将程序解压到网站目录,如:

创网站和建数据库

用宝塔创建网站和数据库,进入项目目录修改/conf/app.conf中数据库账号和密码。

导入数据库文件

【导入备份的数据库文件】,似乎不用导入也可以,官方文档说明如下:
初始化数据是写在程序内部的,不需要额外的SQL文件导入数据,每当程序启动,都会先检测是否已经初始化,如果数据已经初始化,则不会再初始化。
我理解的是,只需要备份项目目录即可,这个不确定,有懂的朋友请指教!

启动并访问项目

通过以下命令启动程序:
然后访问如下地址进行安装(其中IP为您的服务器IP):
http://ip:8090 如果打不开,就要重启守护进程。

重启守护进程

重启不成功

安装过程中,出现了重启守护进程不成功的现象。
出现 ConnectionRefusedError 错误通常意味着 supervisorctl 尝试连接到 supervisord 守护进程时被拒绝。这可能是因为 supervisord 没有运行,或者它的配置文件中有错误导致它无法正常启动。 使用 ps 命令来检查 supervisord 是否正在运行。
果然,返回了这样的结果:
从输出中,我们可以看到 grep 命令正在搜索与 supervisord 相关的进程,但是没有找到任何结果(除了 grep 命令本身)。这意味着 supervisord 进程没有在运行。

解决方法

进入 supervisord的配置文件路径查看,发现没有supervisord.conf 这个文件。 要自己创建,并输入代码:
再次使用命令supervisorctl reload,成功重启,项目也能正常运行了。

申请SSL

在配置反向代理前,要申请和部署SSL证书

配置反向代理

大功告成!

 
上一篇
Bricks 可视化编辑器主题
下一篇
如何精准运用“Establish”提升服务品质