Windows下安装部署BookStack(简版)
大家常遇到的问题,我这边放在前面!
- 如果您无任何技术基础,不建议安装和部署bookstack,以免浪费您的时间!!!
- 安装部署的时候,强烈建议在用户下进行部署!!!
- 给程序所在目录下的
cache
和store
给予读写权限,以免图片等验证码无法正常显示等情况!!! - calibre极易由于下载失败而无法安装成功,根据您用calibre官方提供的脚本安装下载失败的版本,到GitHub( )下载该版本放到
/tmp/calibre-installer-cache
目录下,再重复执行一次即可。 - BookStack不是一定要依赖阿里云OSS!!!
- 如果不需要全文搜索,服务器最低配置建议2C4G;如果需要全文搜索,请安装elasticsearch,并在管理后台进行配置,此时服务器最低配置建议在4C8G。
安装Chrome(非必须)
直接从网上下载Chrome浏览器安装,并配置path
路径,以便通过chrome
命令可以启动谷歌浏览器。
这个主要用于在发布文档的时候,渲染未被渲染的markdown文档,以及 安装chrome,是为了兼容以前的问题,并且自动安装强力模式
下的网页采集。puppeteer
的一些chrome浏览器依赖。
安装puppeteer、pm2
这个主要用于在发布文档的时候,渲染未被渲染的markdown文档、渲染自定义封面、以及强力模式
下的网页采集。
需要先安装 node.js。可直接下载直接安装。
calibre官网:https://www.calibre-ebook.com/
执行下面命令,能看到版本号,表示安装成功。
ebook-convert --version
calibre
主要用于将文档导出生成pdf、epub、mobi文档。
本人已经使用Go语言对calibre导出pdf、epub、mobi文档进行了一层封装,欢迎大家给个star ==》
echo "Hello BookStack。你好,书栈。" > test.txt
转成pdf
ebook-convert test.txt test.pdf
查看测试的转化效果,主要看下转化的过程中有没有报错,以及转化后的文档有没有出现中文乱码。
安装Git
下载地址:https://git-scm.com/
部署程序
配置文件在conf
目录。
注意:conf
文件夹下的 xxx.conf.example
的文件,需要全部修改为 xxx.conf 的文件。.example
后缀的,只是作为示例配置!!!
配置数据库和文档导出项
把app.conf.example
命名为app.conf
,并根据提示,修改配置。这里主要修改MySQL数据库的配置以及生成下载文档的配置。其他项能不改就不改。
配置OSS(非必须)
1、登录你的阿里云,进入OSS,创建一个只读Bucket
。
2、在本地随便创建一个txt文档,将下面两行粘贴进去:
styleName:cover,styleBody:image/resize,m_fill,w_175,h_230,limit_0/auto-orient,1/quality,q_100
styleName:avatar,styleBody:image/resize,m_fill,w_100,h_100,limit_0/auto-orient,1/quality,q_90
4、将oss.conf.example
修改成oss.conf
,并根据您的阿里云OSS,配置该文件。
# 阿里云OSS配置
[oss]
# 是否是内网,如果您的阿里云服务器和OSS是同一内网,请设置为true,这样能更快地将文件移到oss上,否则设置为false。
# 一般情况下,在开发阶段,设置为false
IsInternal=false
# 内网Endpoint,如:oss-cn-hongkong-internal.aliyuncs.com
EndpointInternal=
# 外网Endpoint,如:oss-cn-hongkong.aliyuncs.com
EndpointOuter=
# 您的阿里云AccessKeyId
AccessKeyId=
# 您的阿里云AccessKeySecret
AccessKeySecret=
# 只读状态的Bucket,不要私有的,也不要公共读写的
Bucket=
# oss中绑定的域名,如果您没有绑定域名,则使用阿里云oss的自带域名也行
Domain=
配置第三方登录(非必须)
将oauth.conf.example
重命名成oauth.conf
,并根据提示修改配置。
# 第三方登录配置
[oauth]
# 申请地址(需要先登录):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 微信和微博登录,主要是我这边忘记了以前注册的个人开发者信息,当前没开发,后续会开发出来 ####
1、将修改和配置好了的程序压缩,上传到站点根目录下,解压。 2、执行数据库安装。程序安装一些站点配置项、SEO项等。命令:
3、配置反向代理
宝塔面板用户,直接在站点的设置
里面配置反向代理,但是需要注意的是,需要修改缓存,如把下面两句注释掉:
add_header X-Cache $upstream_cache_status;
Nginx反向代理配置参考(宝塔的配置):
server
{
server_name demo.bookstack.cn;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/demo.bookstack.cn;
location /
{
proxy_pass http://localhost:8181;
proxy_set_header Host $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_cache cache_one;
#proxy_cache_key $host$request_uri$is_args$args;
#proxy_cache_valid 200 304 301 302 1h;
#持久化连接相关配置
#proxy_connect_timeout 30s;
#proxy_read_timeout 86400s;
#proxy_send_timeout 30s;
#proxy_http_version 1.1;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "upgrade";
}
location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$
{
proxy_set_header Host $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://localhost:8181;
}
#PROXY-END
include enable-php-54.conf;
#PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/demo.bookstack.cn.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
access_log off;
打开程序所在目录,执行:
pm2 start BookStack.exe
关于 PM2简单使用教程
默认管理员账号和密码
admin admin
v2.0 正式版开始,默认管理员账号密码调整为: