DocHub v2.1 安装部署教程
DocHub v2.1 安装部署教程
说明
- 当前教程为 Ubuntu 部署教程,使用的是 Ubuntu 16.04
- Windows用户,建议简单学习下
Docker
(Docker系列教材),然后直接拉取DocHub
的 Docker 镜像环境对程序进行部署。镜像环境:
[sudo] docker pull truthhun/dochub:env
- 支持收费代部署,费用在
300 ~ 800元/次
。
需要800元/次
的情况,一般出现在你什么东西都没准备好,双方的时间都浪费在了沟通而不是程序部署… - 很多网友在问,为什么不支持文档本地化存储,个人坚决不支持本地化存储的理由如下:
- 云存储和CDN,目前已经是白菜价了.
- 不能纵容倒退的行为.
- 本地化存储,运维和迁移不方便.
- 我比较懒…
- 可能一些企业想要内部使用这套文库系统来管理企业内部文档,不过建议使用
nextcloud
开源程序,这套程序是一套PHP开发的开源网盘程序,使用Docker部署也很方便,程序实现了Office等文档在线预览。 - 演示站点:https://www.wenkuzhijia.cn
- 双拼域名
wenku.it
打算出手,.it
结尾,IT行业,wenku
即文库。联系方式在当前文档教程最底部。
硬件配置
最低配置
CPU: 2 * core
内存:4 GB
硬盘:20 GB
如果需要安装ElasticSearch,建议最低配置
CPU: 4 * core
内存:8 GB
硬盘:20 GB
配置阿里云OSS云存储
- 登录阿里云,进入
OSS
,创建两个bucket
,一个设置为私有
,一个设置为公共读
,如私有的叫dochub-private
,公共读的叫dochub-public
。 - 导入样式
创建一个txt文件,复制下面的文本粘贴进去。
styleName:cover,styleBody:image/resize,m_pad,w_140,h_200,limit_0/auto-orient,0/quality,q_90
styleName:avatar,styleBody:image/resize,m_fill,w_120,h_120,limit_0/auto-orient,0/quality,q_90
styleName:banner,styleBody:image/resize,m_fill,w_825,h_316,limit_0/auto-orient,0/quality,q_90
进入公共读的bucket,如
dochub-public
,在导入样式
里面选择导入样式
,选择您刚刚的txt文件进行导入。然后点击
访问设置
,将自定义分隔符设置为/
,如图:
安装环境依赖
最好命令执行的时候,不需要添加sudo
,如果需要sudo
才能调用程序命令的话,我目前不知道程序在文档处理的时候会不会出现问题。
安装依赖之前,请先执行
apt update
安装字体支持
作用:避免文档乱码
一些程序系统,在转换文档的时候,中文可能会出现乱码,很多时候是缺少字体造成的。
安装中文字体:
apt install -y fonts-wqy-zenhei fonts-wqy-microhei
更多字体支持,请在Ubuntu使用apt search
命令进行搜索,搜索fonts
一般能搜到各种语言的很多字体
安装 libreoffice
作用:将office文档转PDF
apt install libreoffice
测试
想办法弄一个中文内容的office文档,如文档名称test.docx
,使用以下命令进行转换,看下有没有出现中文乱码,出现乱码,请自行Google或者百度解决。
soffice --headless --invisible --convert-to pdf test.docx
会在当前目录下生成test.pdf
文档,下载下来看下有没有乱码。
安装 pdf2svg
作用:将PDF 转 svg
apt install pdf2svg
使用方法:
pdf2svg <in file.pdf> <out file.svg> [<page no>]
转化文档,看下效果(test1.svg
文件)
pdf2svg test.pdf test1.svg 1
安装 pdftotext工具
作用:提取PDF中的文本
apt install poppler-utils
测试
pdftotext -f 1 -l 5 test.pdf test.txt
用法:
pdftotext --help
------
pdftotext version 0.41.0
Copyright 2005-2016 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC
Usage: pdftotext [options] <PDF-file> [<text-file>]
-f <int> : first page to convert
-l <int> : last page to convert
-r <fp> : resolution, in DPI (default is 72)
-x <int> : x-coordinate of the crop area top left corner
-y <int> : y-coordinate of the crop area top left corner
-W <int> : width of crop area in pixels (default is 0)
-H <int> : height of crop area in pixels (default is 0)
-layout : maintain original physical layout
-fixed <fp> : assume fixed-pitch (or tabular) text
-raw : keep strings in content stream order
-htmlmeta : generate a simple HTML file, including the meta information
-enc <string> : output text encoding name
-listenc : list available encodings
-eol <string> : output end-of-line convention (unix, dos, or mac)
-nopgbrk : don't insert page breaks between pages
-bbox : output bounding box for each word and page size to html. Sets -htmlmeta
-bbox-layout : like -bbox but with extra layout bounding box data. Sets -htmlmeta
-opw <string> : owner password (for encrypted files)
-upw <string> : user password (for encrypted files)
-q : don't print any messages or errors
-v : print copyright and version info
-h : print usage information
-help : print usage information
--help : print usage information
-? : print usage information
安装 calibre
作用:将epub等转PDF
注意:不要使用apt install
进行安装,因为安装的会是老版本的,要安装最新版。
安装命令:
wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin
calibre详细安装教程:https://calibre-ebook.com/download_linux
国内用户安装会很慢,我也没办法…
测试
ebook-convert test.txt calibre-test.pdf
查看calibre-test.pdf
文件中的中文字符是否会出现乱码
安装 imagemagick
作用:将svg转png,主要是用在文档封面上。
安装
apt install imagemagick
测试
输入如下命令,显示版本号,即表示安装成功:
convert --version
[非必需]安装 svgo
作用:去除svg文件中的多余字符,减小svg体积
这个是一个node模块,需要node环境…
apt install -y nodejs-legacy npm && npm install -g svgo
测试
输入svgo
命令,显示如下内容,即表示安装成功。
Usage:
svgo [OPTIONS] [ARGS]
Options:
-h, --help : Help
-v, --version : Version
-i INPUT, --input=INPUT : Input file, "-" for STDIN
-s STRING, --string=STRING : Input SVG data string
-f FOLDER, --folder=FOLDER : Input folder, optimize and rewrite all *.svg files
-o OUTPUT, --output=OUTPUT : Output file or folder (by default the same as the input), "-" for STDOUT
-p PRECISION, --precision=PRECISION : Set number of digits in the fractional part, overrides plugins params
--config=CONFIG : Config file or JSON string to extend or replace default
--disable=DISABLE : Disable plugin by name
--enable=ENABLE : Enable plugin by name
--datauri=DATAURI : Output as Data URI string (base64, URI encoded or unencoded)
--multipass : Enable multipass
--pretty : Make SVG pretty printed
--indent=INDENT : Indent number when pretty printing SVGs
-q, --quiet : Only output error messages, not regular status messages
--show-plugins : Show available plugins and exit
Arguments:
INPUT : Alias to --input
OUTPUT : Alias to --output
安装supervisor
作用:将程序加入系统守护进程
安装命令:
apt install supervisor
判断是否安装成功:
supervisord --version
显示版本号,即表示安装成功。
supervisor
主要用于将程序加入到系统守护进程
Supervisord
安装完成后有两个可用的命令行 supervisord 和 supervisorctl,命令使用解释如下:
- supervisord,初始启动 Supervisord,启动、管理配置中设置的进程。
- supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx 为 [program:beepkg] 里配置的值,这个示例就是 beepkg。
- supervisorctl start programxxx,启动某个进程
- supervisorctl restart programxxx,重启某个进程
- supervisorctl stop groupworker: ,重启所有属于名为 groupworker 这个分组的进程(start,restart 同理)
- supervisorctl stop all,停止全部进程,注:start、restart、stop 都不会载入最新的配置文件。
- supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
- supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
下载安装和部署程序
DocHub 程序源码托管在 Gitee 和 GitHub,地址:
然而我们的程序部署,并不需要用源码进行部署,因为 DocHub 采用的是 Go 语言进行开发的程序,直接使用编译好的程序进行部署即可。
程序下载地址:
https://gitee.com/truthhun/DocHub/releases
下载 DocHub.V2.1_linux_amd64.zip
文件,即DocHub v2.1 版本,Linux 64位系统程序。
将程序解压到你想要的目录,如:
/www/wwwroot/dochub
解压后的目录结构,应该如下:
- DocHub - DocHub 可执行程序
- LICENSE - 开源协议
- conf - 配置文件目录,里面有个`app.conf.example`文件
- dictionary - 分词字典,用于自动分词
- static - 静态资源目录,存放CSS、Js和图片等静态资源
- views - 模板目录,里面存放HTML模板文件
- zoneinfo.zip - 时区文件,一般可以不用理会
进入/www/wwwroot/dochub
,运行如下命令启动程序:
./DocHub
程序默认监听8090
端口,访问如下地址:
http://ip:8090
程序自动跳转到安装页面,输入数据库配置即可安装成功。
或者直接命名
conf
目录下的app.conf.example
文件为app.conf
,然后根据提示修改数据库配置,启动程序后即可安装成功。
管理后台地址:
http://ip:8090/admin
默认的管理员账号、密码、验证码:
账号:admin
密码:admin
验证码:芝麻开门
注意:初始化数据是写在程序内部的,不需要额外的SQL文件导入数据,每当程序启动,都会先检测是否已经初始化,如果数据已经初始化,则不会再初始化。
重要
安装完成之后,进入管理后台 > 系统设置
。
邮箱设置
– 必须要设置,否则用户无法注册。OSS设置
– 必须设置,否则无法存储上传的文档和图片等。
其他设置,自己看着办,自定义设置。
收尾工作
将DocHub 加入系统守护进程
走完了以上的不走,程序算是安装部署完毕,但是为了让程序稳健运行,需要把程序通过supervisor加入到系统守护进行。
1、进入supervisor的配置目录
cd /etc/supervisor/conf.d/
2、配置守护进程
创建dochub.conf
文件,并配置。
[program:dochub]
directory = 您的程序目录
command =您的程序执行命令
autostart = true
autorestart=true
user = 启动该程序的用户
redirect_stderr = true
stdout_logfile = 日志地址
配置示例:
[program:dochub]
directory = /www/wwwroot/www.dochub.me
command =/www/wwwroot/www.dochub.me/DocHub
autostart = true
autorestart=true
user = root
redirect_stderr = true
stdout_logfile = /var/log/supervisor/dochub.log
配置完成之后,重启supervisor
supervisorctl reload
配置反向代理
您可以使用通过Apache
或者Nginx
设置反向代理,具体请参考: