安装依赖插件
- 依赖的字体和 Chrome 安装
//依赖的字体和Chrome安装
yum install -y ttf-wqy-zenhei fonts-wqy-microhei chromium
- 安装 puppeteer
//安装puppeteer
yum install -y nodejs-legacy npm
//设置npm加速
//阿里云
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
//腾讯云
npm config set registry http://mirrors.cloud.tencent.com/npm/
npm config set disturl http://mirrors.cloud.tencent.com/npm/
sudo npm install -g n && sudo n stable
//npm安装puppeteer
sudo npm install puppeteer
//cnpm安装puppeteer
sudo npm install -g cnpm
sudo cnpm install puppeteer
- 安装 calibre
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
//执行后有版本输出算成功
ebook-convert --version
- 安装 supervisor
yum intall -y supervisor
下载并设置配置
- 下载
wget https://github.com/TruthHun/BookStack/releases/download/v2.9/BookStack.V2.9_Linux_amd64.zip
- 解压
mkdir sltin_book && unzip -n BookStack.V2.9_Linux_amd64.zip -d ./sltin_book
- 修改配置文件 把邮件,数据库主要配置修改为自己的即可,文件存储本地或 oss 等根据自己情况选择配置
//复制默认文件 修改自己的信息进去
cd ./sltin_book/conf
cp cp app.conf.example app.conf
cp oss.conf.example oss.conf
cp oauth.conf.example oauth.conf
//把网站地址,标题,数据库连接,smtp等信息修改
vim app.conf
//特别参数
chrome=chromium-browser
puppeteer=true
# 存储类型目前可选项:local、oss 可选
store_type=oss
- 第三方登陆 可配置 gitee 和 github 以及 qq 第三方登陆
- gitee 登陆 打开 https://gitee.com/oauth/applications 申请 申请后如下
- github 登陆 打开https://github.com/settings/developers申请 申请后如下
- 最后把相关配置填写到 oauth.conf 中即可
开始部署
- 导入数据库等
./BookStack install
- 加入系统守护进行
//创建supervisor的配置目录并且进入
mkdir -p /etc/supervisor/conf.d/ && cd /etc/supervisor/conf.d/
//创建bookstack.conf文件 例子如下 根据自己的修改
[program:sltinBook]
command =/data/go/sltin_book/BookStack ;你的程序执行命令
autostart = true ; 在 supervisord 启动的时候也自动启动
startsecs = 1 ; 启动 1 秒后没有异常退出,就当作已经正常启动了
autorestart = true ; 程序异常退出后自动重启
startretries = 3 ; 启动失败自动重试次数,默认是 3
user = root ;启动用户
redirect_stderr = true ;日志重定向
stdout_logfile = /var/log/supervisor/sltinBook.log
- 启动 supervisord -c /etc/supervisor/supervisord.conf
- 配置nginx 可以参考我这个配置修改
server {
listen 80;
server_name www.sltin.com sltin.com book.sltin.com ici.ink *.sltin.com;;
access_log /var/log/nginx/www.sltin.com.access.log main;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_pass http://127.0.0.1:8181;
}
}
server {
listen 443 ssl;
server_name www.sltin.com sltin.com book.sltin.com *.sltin.com;
access_log /var/log/nginx/www.sltin.com.access.log main;
ssl_certificate ssl/sltin.com.crt;
ssl_certificate_key ssl/sltin.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_pass http://127.0.0.1:8181;
}
}
部署后页面如下
欢迎识别添加,一起交流哦!
- 也可以点击主页菜单获取