Windows下安装部署BookStack(简版)

    大家常遇到的问题,我这边放在前面!

    1. 如果您无任何技术基础,不建议安装和部署bookstack,以免浪费您的时间!!!
    2. 安装部署的时候,强烈建议在用户下进行部署!!!
    3. 给程序所在目录下的cachestore给予读写权限,以免图片等验证码无法正常显示等情况!!!
    4. calibre极易由于下载失败而无法安装成功,根据您用calibre官方提供的脚本安装下载失败的版本,到GitHub( )下载该版本放到/tmp/calibre-installer-cache目录下,再重复执行一次即可。
    5. BookStack不是一定要依赖阿里云OSS!!!
    6. 如果不需要全文搜索,服务器最低配置建议2C4G;如果需要全文搜索,请安装elasticsearch,并在管理后台进行配置,此时服务器最低配置建议在4C8G。

    安装Chrome(非必须)

    直接从网上下载Chrome浏览器安装,并配置path路径,以便通过chrome命令可以启动谷歌浏览器。

    这个主要用于在发布文档的时候,渲染未被渲染的markdown文档,以及强力模式下的网页采集。 安装chrome,是为了兼容以前的问题,并且自动安装puppeteer的一些chrome浏览器依赖。

    安装puppeteer、pm2

    这个主要用于在发布文档的时候,渲染未被渲染的markdown文档、渲染自定义封面、以及强力模式下的网页采集。

    需要先安装 node.js。可直接下载直接安装。

    calibre官网:https://www.calibre-ebook.com/

    执行下面命令,能看到版本号,表示安装成功。

    1. ebook-convert --version

    calibre主要用于将文档导出生成pdf、epub、mobi文档。

    本人已经使用Go语言对calibre导出pdf、epub、mobi文档进行了一层封装,欢迎大家给个star ==》

    1. echo "Hello BookStack。你好,书栈。" > test.txt

    转成pdf

    1. 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文档,将下面两行粘贴进去:

    1. styleName:cover,styleBody:image/resize,m_fill,w_175,h_230,limit_0/auto-orient,1/quality,q_100
    2. 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,配置该文件。

    1. # 阿里云OSS配置
    2. [oss]
    3. # 是否是内网,如果您的阿里云服务器和OSS是同一内网,请设置为true,这样能更快地将文件移到oss上,否则设置为false。
    4. # 一般情况下,在开发阶段,设置为false
    5. IsInternal=false
    6. # 内网Endpoint,如:oss-cn-hongkong-internal.aliyuncs.com
    7. EndpointInternal=
    8. # 外网Endpoint,如:oss-cn-hongkong.aliyuncs.com
    9. EndpointOuter=
    10. # 您的阿里云AccessKeyId
    11. AccessKeyId=
    12. # 您的阿里云AccessKeySecret
    13. AccessKeySecret=
    14. # 只读状态的Bucket,不要私有的,也不要公共读写的
    15. Bucket=
    16. # oss中绑定的域名,如果您没有绑定域名,则使用阿里云oss的自带域名也行
    17. Domain=

    配置第三方登录(非必须)

    oauth.conf.example重命名成oauth.conf,并根据提示修改配置。

    1. # 第三方登录配置
    2. [oauth]
    3. # 申请地址(需要先登录):https://gitee.com/oauth/applications
    4. # 您的ClientId
    5. giteeClientId=
    6. # 您的ClientSecret
    7. giteeClientSecret=
    8. # 回调地址,把下面的bookstack.cn的域名换成你的即可
    9. giteeCallback=http://www.bookstack.cn/login/gitee
    10. # 下面这两项不要动
    11. giteeAccesstoken=https://gitee.com/oauth/token
    12. giteeUserInfo=https://gitee.com/api/v5/user
    13. ######## GitHub ########
    14. # 申请地址(需要先登录你的GitHub):https://github.com/settings/developers
    15. # 您的ClientId
    16. githubClientId=
    17. # 您的ClientSecret
    18. githubClientSecret=
    19. # 回调地址,把下面的bookstack.cn的域名换成你的即可
    20. githubCallback=http://www.bookstack.cn/login/github
    21. # 下面这两项不要动
    22. githubAccesstoken=https://github.com/login/oauth/access_token
    23. githubUserInfo=https://api.github.com/user
    24. #### QQ ####
    25. # 申请地址(需要先登录你的QQ):https://connect.qq.com/manage.html
    26. #ClientId,即 APP ID
    27. qqClientId=
    28. #ClientSecret,即 APP Key
    29. qqClientSecret=
    30. # 回调地址,把下面的bookstack.cn的域名换成你的即可
    31. qqCallback=http://www.bookstack.cn/login/qq
    32. # 下面这三项不要动
    33. qqAccesstoken=https://graph.qq.com/oauth2.0/token
    34. qqOpenId=https://graph.qq.com/oauth2.0/me
    35. qqUserInfo=https://graph.qq.com/user/get_user_info
    36. ### TODO 微信和微博登录,主要是我这边忘记了以前注册的个人开发者信息,当前没开发,后续会开发出来 ####

    1、将修改和配置好了的程序压缩,上传到站点根目录下,解压。 2、执行数据库安装。程序安装一些站点配置项、SEO项等。命令:

    3、配置反向代理 宝塔面板用户,直接在站点的设置里面配置反向代理,但是需要注意的是,需要修改缓存,如把下面两句注释掉:

    1. add_header X-Cache $upstream_cache_status;

    Nginx反向代理配置参考(宝塔的配置):

    1. server
    2. {
    3. server_name demo.bookstack.cn;
    4. index index.php index.html index.htm default.php default.htm default.html;
    5. root /www/wwwroot/demo.bookstack.cn;
    6. location /
    7. {
    8. proxy_pass http://localhost:8181;
    9. proxy_set_header Host $host;
    10. proxy_set_header X-Real-IP $remote_addr;
    11. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    12. proxy_set_header REMOTE-HOST $remote_addr;
    13. #缓存相关配置
    14. #proxy_cache cache_one;
    15. #proxy_cache_key $host$request_uri$is_args$args;
    16. #proxy_cache_valid 200 304 301 302 1h;
    17. #持久化连接相关配置
    18. #proxy_connect_timeout 30s;
    19. #proxy_read_timeout 86400s;
    20. #proxy_send_timeout 30s;
    21. #proxy_http_version 1.1;
    22. #proxy_set_header Upgrade $http_upgrade;
    23. #proxy_set_header Connection "upgrade";
    24. }
    25. location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$
    26. {
    27. proxy_set_header Host $host;
    28. proxy_set_header X-Real-IP $remote_addr;
    29. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    30. proxy_set_header REMOTE-HOST $remote_addr;
    31. proxy_pass http://localhost:8181;
    32. }
    33. #PROXY-END
    34. include enable-php-54.conf;
    35. #PHP-INFO-END
    36. #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    37. include /www/server/panel/vhost/rewrite/demo.bookstack.cn.conf;
    38. #REWRITE-END
    39. #禁止访问的文件或目录
    40. location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    41. {
    42. return 404;
    43. }
    44. access_log off;

    打开程序所在目录,执行:

    1. pm2 start BookStack.exe

    关于 PM2简单使用教程

    默认管理员账号和密码

    admin admin

    v2.0 正式版开始,默认管理员账号密码调整为:

    总结