运维经验 | BookStack 部署在宝塔面板的Linux机器上
原文来来自于:在宝塔或aaPanel中安装BookStack APP的过程以及URL重写规则问题
官网参考链接 | Admin Documentation | Configuring File Uploads
前言
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.7 或 MariaDB >= 10.2 用来存储BookStack配置和数据
Git Version Control 用来安装或从Git更新
Composer >= v2.0 用来安装PHP前置
和PHP兼容的网页服务器,Apache或Nginx
安装步骤
-
使用 cd 指令指定目录位置
-
用指令来克隆release分支的最新BookStack
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
确保当前目录是你clone下来的根目录,然后继续步骤 -
composer install --no-dev来执行compser的安装指令 -
复制一份 .env.example,然后将复制出来的文件命名为 .env, 然后填写你的数据库信息以及你的邮件服务器信息
cp .env.example .env -
确保 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 -
在当前目录下运行 php artisan key:generate 来生成一个新的key,确保生成出来的key在 .env 中更新
警告:如果你已经在这个文件夹生成过key了,就别生成了,会出大问题!
-
在aaPanel或宝塔面板中的网站“URL重写”项中填写以下内容并保存。
listen [::]:8080;
server_name localhost;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
如果用CPannel只需要关心 .attaccess文件即可
-
在aaPanel或宝塔面板中的网站目录中的运行目录更改为 /public
-
php artisan migrate来同步更新到数据库
完成!你现在可以访问你的网站,默认账户是admin@admin.com,密码是password。
不要忘记给你的站上SSL!
后记
总而言之就是很好用!
No Comments