如何基于ubuntu部署docHub?

Linux基础

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

没有评论

发表评论

Linux基础
如何二进制部署Metabase?

1 基础知识 1.1 Metabase的简介 – Metabase是一款简单、开源商业智 …

Linux基础
如何熟悉跨站点攻击CSRF?

1 CSRF的概念 – CSRF是英文“Cross-site request forge …

Linux基础
如何安装配置Oracle客户端?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境有一台服务器需要连接Oracle数据库,于是整 …