开源地址:https://github.com/TruthHun/BookStack
0.介绍
BookStack
,基于MinDoc,使用Beego开发的在线文档管理系统,功能类似Gitbook和看云。
程序依赖环境:lnmp
+calibre
+Chrome
+supervisor
DEMO演示站:https://www.bookstack.cn/
1.截图
2.功能
书籍分类
书籍打赏
在线阅读、支持导出markdown、pdf、epub、mobi等格式。
基于bootstrap前端,因此移动端体验优秀
用户页功能:展示分享的书籍、粉丝、关注和手册,增加用户间的互动
3.安装步骤
官方演示文档比较复杂,不利于新手部署,因此本站重新编写安装步骤。
1️⃣环境部署(以centos7系统为例):
第一步:安装好宝塔环境
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
第二步:安装calibre
wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
查看版本号,如果显示则代表安装成功
ebook-convert --version
第三步:安装Chrome+supervisor
yum install -y chromium-browser supervisor
2️⃣BookStack程序部署
第一步:宝塔新建网站
第二步:进入网站,克隆源码并修改配置文件
#注意替换demo.baiyue.one为自己域名 cd /www/wwwroot/demo.baiyue.one git clone https://github.com/TruthHun/BookStack.git tmp && mv tmp/.git . && rm -rf tmp cp conf/app.conf.example conf/app.conf cp conf/oss.conf.example conf/oss.conf cp conf/oauth.conf.example conf/oauth.conf
修改配置文件conf/app.conf
建议不懂的别动,保持默认,主要修改下数据库,完成对接,后期再逐步修改里面的东西。
# 程序名称 appname = BookStack # 程序版本 version = v1.0.0 # 监听端口 httpport = 8181 # 运行模式。开发时,请设置为开发模式"dev",即development;部署时,请设置为产品模式"prod",即product。dev模式下,会打印各种调试信息 runmode = dev # 是否开启session,这个必须开启,否则没法玩了。 sessionon = true # session名称,这个你自己定。 sessionname = bookstack copyrequestbody = true # 启动gzip压缩,则设置为true,否则设置为false。建议启动 EnableGzip=true # 要压缩的静态文件扩展名,其中.xml是sitemap站点地图压缩。建议按照这个来就行了 StaticExtensionsToGzip = .css, .js, .xml # 默认Session生成Key的秘钥 beegoserversessionkey=bookstack ########Session储存方式############## #以文件方式储存 sessionprovider=file sessionproviderconfig=store/session # 静态目录。这个是站点地图的静态目录 StaticDir = sitemap:sitemap #生成下载文档的时间间隔。也就是距离用户第一次点击生成下载文档到第二次点击生成下载文档的时间间隔,避免用户频繁点击生成下载文档而导致大量耗费服务器资源导致服务器宕机 GenerateInterval=300 # 站点可直接访问的静态文件【注意,这里千万不能配置.conf文件扩展名,否则会把.conf文件当做静态文件而被外部访问,导致数据库账号密码等泄露。按照默认的来即可】 StaticExt=.txt,.xml,.ico,.png,.jpg,.jpeg,.gif,.html #评论时间间隔,每次发表评论,限定间隔秒数,避免被恶意刷评论 CommentInterval=10 # 生成下载文档时导出pdf文档的配置,这里建议把关于bookstack.cn的信息替换成你自己的就行,其他的建议不要动 exportHeader=<p style='color:#8E8E8E;font-size:12px;'>_SECTION_</p> exportFooter=<p style='color:#8E8E8E;font-size:12px;'>本文档使用 <a href='http://www.bookstack.cn' style='text-decoration:none;color:#1abc9c;font-weight:bold;'>书栈(BookStack.CN)</a> 构建 <span style='float:right'>- _PAGENUM_ -</span></p> exportFontSize=14 exportPaperSize=a4 exportCreator=书栈(BookStack.CN) exportMarginLeft=72 exportMarginRight=72 exportMarginTop=72 exportMarginBottom=72 #时区设置 timezone = Asia/Shanghai ####################MySQL 数据库配置########################### db_adapter=mysql # 您的数据库host db_host= #您的数据库端口 db_port=3306 #您的数据库用户名 db_username= # 您的数据库密码 db_password= #您使用的数据库 db_database=bookstack # 静态资源域名,没有则留空。比如你将static目录下的所有静态资源都放到了专门的服务器上,那么这个域名就行用来访问你的静态资源的域名。 static_domain=http://static.bookstack.cn # 谷歌浏览器,用于发布内容的时候渲染未被渲染的markdown。建议安装最新版的Chrome浏览器,并把Chrome浏览器加入系统环境变量。 # 使用Chrome的headless去处理。之前考虑使用phantomjs的,但是phantomjs有些小问题,不如Chrome强大。 chrome=chromium-browser #项目默认封面 cover=/static/images/book.png #默认头像 avatar=/static/images/avatar.png #默认阅读令牌长度 token_size=12 #上传文件的后缀 upload_file_ext=txt|doc|docx|xls|xlsx|ppt|pptx|pdf|7z|rar|jpg|jpeg|png|gif ####################邮件配置###################### #是否启用邮件 enable_mail=true #每小时限制指定邮箱邮件发送次数 mail_number=5 #smtp服务用户名 [email protected] #smtp服务器地址 smtp_host=smtpdm.aliyun.com #smtp密码 smtp_password= #端口号 smtp_port=25 #发送邮件的显示名称 [email protected] #接收回件的邮箱。留空则表示使用发送邮件的邮箱作为接收回件邮箱 [email protected] #邮件有效期30分钟 mail_expired=30 include "oss.conf" include "oauth.conf"
修改阿里云oss
(此项请自行搞定)
修改第三方登陆接口conf/oauth.conf
初次使用,可不动此项,后期可随时修改。
# 第三方登录配置 [oauth] ##### Gitee(码云) #### # 申请地址(需要先登录):https://gitee.com/oauth/applications # 您的ClientId giteeClientId= # 您的ClientSecret giteeClientSecret= # 回调地址,把下面的bookstack.cn的域名换成你的即可 giteeCallback=http://www.bookstack.cn/login/gitee # 下面这两项不要动 giteeAccesstoken=https://gitee.com/oauth/token giteeUserInfo=https://gitee.com/api/v5/user ######## GitHub ######## # 申请地址(需要先登录你的GitHub):https://github.com/settings/developers # 您的ClientId githubClientId= # 您的ClientSecret githubClientSecret= # 回调地址,把下面的bookstack.cn的域名换成你的即可 githubCallback=http://www.bookstack.cn/login/github # 下面这两项不要动 githubAccesstoken=https://github.com/login/oauth/access_token githubUserInfo=https://api.github.com/user #### QQ #### # 申请地址(需要先登录你的QQ):https://connect.qq.com/manage.html #ClientId,即 APP ID qqClientId= #ClientSecret,即 APP Key qqClientSecret= # 回调地址,把下面的bookstack.cn的域名换成你的即可 qqCallback=http://www.bookstack.cn/login/qq # 下面这三项不要动 qqAccesstoken=https://graph.qq.com/oauth2.0/token qqOpenId=https://graph.qq.com/oauth2.0/me qqUserInfo=https://graph.qq.com/user/get_user_info ### TODO 微信和微博登录,主要是我这边忘记了以前注册的个人开发者信息,当前没开发,后续会开发出来 ####
第三步:使用脚本部署网站
#在网站根目录下运行 ./BookStack install
第四步:设置域名反代
默认端口8181
可以在配置文件app.conf
修改。
之后就可以访问域名进入网站了,后台管理员默认账户密码admin
和admin888
3️⃣生产环境(完成守护计划)
宝塔面板进入/etc/supervisor/conf.d/
后创建bookstack.conf
的守护任务,文件内容如下:
注意替换demo.baiyue.one为自己的域名
[program:BookStack] directory = /www/wwwroot/demo.baiyue.one command =/www/wwwroot/demo.baiyue.one/BookStack autostart = true autorestart=true user = root redirect_stderr = true stdout_logfile = /var/log/supervisor/BookStack.log
保存完毕后,重启supervisorctl reload
守护计划或者直接reboot
都行。
关于docker版
从宝塔的整个搭建流程而言,过程非常糟糕,体验极差。而程序主要使用go
语言完成运行逻辑,因此docker
化还是可以实现的。目前的思路是基于golang完成编译后,将所内容打包的一个nginx镜像下,利用entrypoint.sh
可实现本地挂载源码文件,调试维护及修改代码可以用vs remote
实现,当然小白可以用宝塔实现。
猜你喜欢
- 2024-03-06[建站交流] PicGo + smms 构建图床
- 2023-11-18[emlog技巧] Emlog非插件显示评论者IP属地
- 2023-07-28[运维笔记] CentOS7 Root密码忘记了怎么办?简单过程重置CentOS7系统密码
- 2023-07-28[运维笔记] 解决网站出现"SSL_ERROR_RX_RECORD_TOO_LONG"问题
- 2023-07-28[运维笔记] 宝塔面板手动和自动释放Linux服务器内存及清理服务器日志缓存
- 2023-06-30[站长帮] CentOS(宝塔)部署安装发布Scratch3.0
- 2023-06-30[站长帮] CentOS 7安装宝塔面板
- 2023-03-23[站长帮] WordPress 网站打不开提示“将您重定向的次数过多”的解决方法
- 2022-08-06[网站教程] 利用宝塔实现百度自动推送
- 2022-06-27[网站运营] WordPress纯代码为文章自动生成标签和自动添加标签内链
网友评论
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
- [游戏周边] 《黑神话:悟空》专题合集
- [书籍资料] 古籍专题资源【135GB】
- [攻略教程] 《百度》神龙红包活动怎么玩?
- [攻略教程] 《冒险大作战》传奇榜前50名职业(9.03)
- [攻略教程] 《冒险大作战》新职业征稿大赛奖励——台服
- [攻略教程] 《冒险大作战》超级矿工卡使用规则
- [攻略教程] 《冒险大作战》头部越战选手——回复法
- [有声读物] 《刘兰芳评书集合》【46部】【播讲:刘兰芳】【WMA】
- [攻略教程] 《光遇》9.3免费魔法怎么领取
- [攻略教程] 《光遇》9.3大蜡烛在哪
- [电影] 惊声尖笑1-6【 4K 】
- [图片浏览] 2345看图王去广告安装版 x86 x64 11.3.0.10165
- [电影] [BT下载][蜘蛛夫人:超感觉醒][WEB-MKV/1.77GB][国英多音轨/中文字幕][1080P][流媒体][BATWEB小组作品]
- [Android] 阅读APP(小说软件)v3.23.032021 解除限制版
- [动画] [BT下载][机动战士高达SEED FREEDOM][WEB-MKV/6.97GB][简繁双语特效字幕][1080P][流媒体][SONYHD小组作品]
- [网络软件] IPTools(IP地址修改器) v5.0.6.6 中文绿色版
- [体育] UEFA Euro 2024 欧洲杯足球赛10场比赛 【DIEMA SPORT2 4K】
- [图像处理] 光影魔术手v4.6.0.578绿色版
- [游戏] 《职业自行车队经理2024(Pro Cycling Manager 2024)》V1.1.7.120官方版[俄网Пиратка 2024.06.16更新32.67G]
- [书籍] 重订古今名医临证金鉴
- [电影] 惊声尖笑1-6【 4K 】
- [影视] 异星战境 WEB-DL版下载/阿特拉斯 2024 Atlas 14.46G
- [图片浏览] 2345看图王去广告安装版 x86 x64 11.3.0.10165
- [影视] 美国内战 4K蓝光原盘下载+高清MKV版/内战/帝国浩劫:美国内战(台)/美帝崩裂(港) 2024 Civil War 63.86G
- [电影] 红色革命老电影合集
- [Android] 阅读APP(小说软件)v3.23.032021 解除限制版
- [文件编辑] WinHex 21.2 SR-2_x86_x64 绿色单文件版
- [电影] [BT下载][蜘蛛夫人:超感觉醒][WEB-MKV/1.77GB][国英多音轨/中文字幕][1080P][流媒体][BATWEB小组作品]
- [网络软件] IPTools(IP地址修改器) v5.0.6.6 中文绿色版
- [图像处理] 光影魔术手v4.6.0.578绿色版
- 最新评论
- 热门标签
- 站点信息
-
- 文章总数:15540
- 页面总数:0
- 分类总数:19
- 标签总数:621
- 评论总数:244
- 浏览总数:1438257