Skip to main content

运维经验 | BookStack 部署在宝塔面板的Linux机器上

原文来来自于:在宝塔或aaPanel中安装BookStack APP的过程以及URL重写规则问题

前言

BookStack APP是类似于GitBook的自搭建式知识库框架,拥有较强的分类功能,支持Markdown或WYSIWYG。

在搭建BookStack APP框架的最后一步进入Login页面的时候出现了404问题,也就是URL重写问题,使用的是Nginx。为了简化步骤在另外一台服务器使用了aaPanel,也就是海外版宝塔。URL重写比直接创建Nginx config要简单一些,但网络上没有给出示例,因此本篇教程将完整的过一遍BookStack APP的安装过程。

  • Linux CentOS 7 + aaPanel
警告

本篇教程搭建的是BookStack APP,不是BookStack.cn!请注意区分。该教程不适用于BookStack.cn! BookStack APP官方网站:https://www.bookstackapp.com/


安装过程


安装要求

安装BookStack需要以下配置:

PHP >= 8.0.2

PHP扩展组件: OpenSSL, PDO, MBstring, iconv, Tokenizer, GD, MySQL, SimpleXML & DOM.

可选扩展组件: LDAP (如果你要用LDAP验证).

MySQL >= 5.7MariaDB >= 10.2 用来存储BookStack配置和数据

Git Version Control 用来安装或从Git更新

Composer >= v2.0 用来安装PHP前置

和PHP兼容的网页服务器,ApacheNginx


安装步骤
  1. 使用 cd 指令指定目录位置

  2. 用指令来克隆release分支的最新BookStack
    git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
    确保当前目录是你clone下来的根目录,然后继续步骤

  3. composer install --no-dev来执行compser的安装指令

  4. 复制一份 .env.example,然后将复制出来的文件命名为 .env, 然后填写你的数据库信息以及你的邮件服务器信息
    cp .env.example .env

  5. 确保 storage, bootstrap/cache & public/uploads 三个目录的文件夹权限可读写。
    chmod -R 755 bootstrap/cache public/uploads storage
    如果有必要
    chown 你的用户:你的用户组 -R bootstrap/cache public/uploads storage

    厂长建议 如果是在CPannel下的应用强制要求是public_html目录的,可以使用
    ln -s 原目录(例如public) 新目录(例如要求的public_html)
    这样可以既不影响项目代码的执行,又可以无缝的使用CPannel

  6. 在当前目录下运行 php artisan key:generate 来生成一个新的key,确保生成出来的key在 .env 中更新

    警告:如果你已经在这个文件夹生成过key了,就别生成了,会出大问题!

  7. 在aaPanel或宝塔面板中的网站“URL重写”项中填写以下内容并保存。

listen [::]:8080;

server_name localhost;

index index.php index.html;

location / {
 try_files $uri $uri/ /index.php?$query_string;
}

如果用CPannel只需要关心 .attaccess文件即可

  1. 在aaPanel或宝塔面板中的网站目录中的运行目录更改为 /public

  2. php artisan migrate 来同步更新到数据库


完成!你现在可以访问你的网站,默认账户是admin@admin.com,密码是password

不要忘记给你的站上SSL!


后记

总而言之就是很好用!