1 基础知识
1.1 软件的简介
– DocHub实现百度文库类似的功能
– DocHub是一个使用Go语言开发的开源项目
1.2 实现原理
– DocHub文库通过svg矢量图实现文档在线阅读
– DocHub文库会经过两次格式转换(office –> pdf –> svg)
1.3 项目的特点
– SVG矢量实现相对有放大不失真的特点
– SVG矢量实现相对尺寸更小
– SVG矢量实现相对压缩比例更高
– SVG矢量实现相对速度更快
2 最佳实践
2.1 安装前的准备
2.1.1 准备系统
OS = ubuntu1 16.04.12
ip address = 10.168.0.100
host name = any
如你不熟悉ubantu的配置,可参阅以下链接配置,
https://www.cmdschool.org/archives/645
2.1.2 下载源代码
wget https://github.com/TruthHun/DocHub/releases/download/v2.4/DocHub.V2.4_linux_amd64.zip
其他版本请从以下链接下载,
https://gitee.com/truthhun/DocHub/releases
2.1.3 设置安装源
cp /etc/apt/sources.list /etc/apt/sources.list.default vim /etc/apt/sources.list
使用如下指令注解国外的安装源,
:%s/^deb/# deb/g
然后使用如下指令添加国内的安装源,
vim /etc/apt/sources.list.d/aliyun.list
添加内容如下,
deb http://mirrors.aliyun.com/ubuntu/ xenial main deb-src http://mirrors.aliyun.com/ubuntu/ xenial main deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
编辑完成后,使用人如下命令刷新存储库索引,
apt update
2.1.4 安装所需的软件包
apt instll -y unzip
2.2 安装数据库
2.2.1 安装所需的软件包
apt install -y mysql-server-5.7 mysql-client-5.7
注:请根据提示设置管理员账号密码
2.2.2 确认服务已经启动
systemctl status mysql.service
2.2.3 设置服务自启动
systemctl enable mysql.service
2.2.4 设置服务自启动
mysql -uroot -p
2.2.5 设置服务自启动
create database dochub character set utf8; grant all privileges on dochub.* to "dochub"@"localhost" identified by "dochubpwd";
注:以上创建的数据库与用户名密码用于后面的配置
2.3 安装依赖的软件包
2.3.1 安装Libreoffice
apt install -y fonts-wqy-zenhei fonts-wqy-microhei libreoffice*
安装完成后,请使用如下命令测试转换,
soffice --headless --invisible --convert-to pdf example.doc
注:文档要求包含中英文
2.3.2 安装Calibre
由于考虑到安装的复杂程度,所以该安装由专门的章节处理,
https://www.cmdschool.org/archives/9179
安装完成后,请使用如下命令测试转换,
useradd dochub su - dochub ebook-convert example.txt example.pdf
2.3.3 安装pdf2svg
apt install -y pdf2svg
安装完成后,请使用如下命令测试转换,
pdf2svg example.pdf example-no1.svg
2.3.4 安装ImagerMagick
apt install -y imagemagick
安装完毕后,请使用如下命令检查,
convert --version
2.4 部署软件包
2.4.1 创建部署目录
mkdir /usr/dochub
2.4.2 部署软件包到目录
unzip DocHub.V2.4_linux_amd64.zip -d /usr/dochub/ chmod +x /usr/dochub/DocHub
2.4.3 手动启动程序
cd /usr/dochub/ ./DocHub
按下【Ctrl+C】结束程序,另外你可以使用如下命令确认软件启动,
netstat -antp | grep -i dochub
可见如下显示,
tcp6 0 0 :::8090 :::* LISTEN 2339/DocHub
如需结束程序,可使用如下命令,
kill 2 `pgrep -uroot DocHub`
2.4.4 配置服务控制
vim /lib/systemd/system/dochub.service
加入如下命令,
[Unit] Description=docHub manager After=mysql.service Documentation=https://github.com/TruthHun/DocHub [Service] Type=forking ExecStart=/bin/sh -c 'cd /usr/dochub; ./DocHub &' ExecStop=/bin/sh -c 'kill 2 `pgrep -u root DocHub`' Restart=on-success [Install] WantedBy=multi-user.target
配置完成后,可使用如下命令重载服务控制脚本,
systemctl daemon-reload
用如下命令控制服务,
systemctl start dochub.service systemctl status dochub.service systemctl stop dochub.service systemctl restart dochub.service
另外,请使用人如下命令设置服务自启动,
systemctl enable dochub.service
2.4.5 链接数据库
http://10.168.0.100:8090
2.4.6 管理员登录
http://10.168.0.100:8090/admin
注:默认的用户名与密码都是“admin”
2.4.7 配置SMTP
如上图所示,
单击【系统设置】->【邮箱设置】
填写smtp的配置信息,包括“主机”、“端口”、“用户名”、“密码”等信息
单击【提交更改】即可完成SMTP配置
2.5 连接私有云存储MinIO
2.5.1 准备私有云存储
如果你尚未部署私有云存储MinIO,请按如下向导部署(本范例使用单节点部署),
https://www.cmdschool.org/archives/9450
2.5.2 创建公共可读Bucket
如上图所示,
单击【+】->【Create Bucket】
弹出窗口中填写“dochub-public”
按【Enter】即可创建公共可读Bucket
如上图所示,
单击【dochub-public】菜单->【Edit policy】
窗口显示如下,
如上图所示,
单击【Add】即可添加Read Only权限
2.5.3 创建私有Bucket
如上图所示,
单击【+】->【Create Bucket】
弹出窗口中填写“dochub-private”
按【Enter】即可创建私有Bucket
2.5.4 配置云存储的连接
如上图所示,
填写存储连接的参数并单击【提交更改】即可完成存储参数定义
2.5.5 启用本地云存储MinIO
如上图所示,
存储类型选择“Minio(本地云存储)”
其他参数根据实际需求定义并单击【提交更改】即可完定义
参阅文档
============================
连接存储
————-
https://www.bookstack.cn/read/dochub/install-linux.md
github
————-
https://github.com/TruthHun/DocHub
demo
————-
https://www.wenkuzhijia.cn/
install
————–
https://www.bookstack.cn/read/dochub/install
实现原理与功能特点
————–
https://github.com/TruthHun/DocHub/#%E5%8A%9F%E8%83%BD%E7%89%B9%E7%82%B9
没有评论