开源地址: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纯代码为文章自动生成标签和自动添加标签内链
网友评论
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
- [编程相关] 熊猫脚本助手_吾爱专版 V1.9
- [办公辅助] Office AI 助手免费版 v0.2.01
- [配音工具] 一点红语音合成2.0版本 -吾爱专版
- [课程] Procreate元计划板绘入门系统课程
- [课程] DK图解数学动画课程
- [有声读物] 儿童汉语分级读物《小羊上山》第1-4季PDF电子版+精读视频+MP3音频
- [影视] 法国女郎 WEB-DL版下载/法国女孩 / Chez les beaux-parents 2024 French Girl
- [影视] 普通天使 WEB-DL版下载 2024 Ordinary Angels 20.51G
- [游戏辅助] 游戏资源提取神器 | RPGViewer(20240319)
- [实用工具] 玥儿工具箱 | YueRTools(1.0.0.0)
- [影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
- [电影] 孤注一掷 [1080p].No.More.Bets.2023.Chinese.CAMRip.x264[MP4]
- [资料合集] 14.2G珍藏图鉴系列大全(一次全部打包)
- [综艺文艺] 周海媚综艺小合集
- [水印处理] Inpaint(图片去水印工具) V10.2.4 中文破解版
- [即时通讯] 腾讯QQ PC版9.7.22.29315去广告绿色纯净版
- [安卓软件] 小薇直播TV(电视直播软件)_v2.7.0.1 去广告版
- [安卓软件] Nekogram安卓版(猫报APP)_v10.8.1 中文版
- [即时通讯] 微信PC版WeChat 3.9.9.43 多开防撤回绿色版
- [影视] 谍影追凶 WEB-DL版下载/瓦工 2023 The Bricklayer 7.45G
- [影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
- [电影] 孤注一掷 [1080p].No.More.Bets.2023.Chinese.CAMRip.x264[MP4]
- [影视] 海王2:失落的王国 WEB-DL版下载/Aquaman 2/水人2/水行侠 失落王国(台)/水行侠与失落王国(港)/海王与失落的王国/潜水侠2 2023 Aquaman and the Lost Kingdom 24.97G
- [影视] 首尔之春 WEB-DL版下载 /12.12: The Day 2023 8.06GB
- [影视] 年会不能停! WEB-DL版下载/Johnny Keep Walking! 2023 年会不能停! 21.71G
- [资料合集] 14.2G珍藏图鉴系列大全(一次全部打包)
- [战争剧] [大道通天][28集全][MP4]
- [系统辅助] YDArk(ARK工具) v1.0.3.3 x64 系统内核级辅助工具
- [系统增强] 右键菜单增强工具 Configure FileMenu Tools v8.3.0
- [即时通讯] 微信PC版WeChat 3.9.9.43 多开防撤回绿色版
- 最新评论
-
谢谢支持115大咖 评论于:04-03 感謝樓主分享,來詳細看看麻鬼烦 评论于:04-02 谢谢分享森森 评论于:04-02 谢谢支持!!115大咖 评论于:04-02 感谢。zhibonba 评论于:03-30 感谢分享huhuloo 评论于:03-22 感谢楼主分享这么好的资源Finder502 评论于:03-22 灌籃高手mizubish 评论于:03-16 一直很想看,谢谢。502633 评论于:03-15 不错不错architect2 评论于:02-24
- 热门标签
- 站点信息
-
- 文章总数:14087
- 页面总数:0
- 分类总数:19
- 标签总数:363
- 评论总数:210
- 浏览总数:909777