Bookstack介绍
-
Bookstack 是一个使用 PHP 和 Laravel 构建的文档/wiki 内容创建平台。官方 https://www.bookstackapp.com/
-
适合作为个人的知识站来梳理和沉淀专业知识,界面优化美观,可以象书本一样,按照章节管理内容,并且费用容易使用,这也正是我使用该建站软件的原因。

Bookstack部署
1. 网站环境搭建
- 首先为方便操作,安装可视化的服务器面板aapanel. 面板安装过程这里省略,具体参考aapanel官方站。
- 在aapanel中选择安装建站程序 Nginx + PHP 8.3 + Mysql
- 安装PHP扩展程序, Bookstack运行依赖很多PHP拓展程序,其中fileinfo扩展aapanel并不会默认安装,需要手动安装。但是安装扩展需要较大的内存进行编译,对于只有1G内存的vps会造成内存不足卡死,无法安装。所以必须先增加vps的swap内存
-
fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile 使用 free -h 查看,显示swap内存是3Gb

- 接下来安装 PHP fileinfo组件/ mbstring 组件,并检查 gd/xml'zip/tokenizer/ctype/bcmath组件是否安装


- 接下来创建mysql数据库

- 接下来,在 aapanel网站 - PHP项目 -创建站点

至此,第一步环境搭建结束。
2. 下载 bookstack 源码并部署
- aaPanel → 文件管理 → 网站根目录
- 选择 /www/wwwroot/your-domain/(或其他目录)
- 使用 Git 拉取源码:
⚠️ --branch release 确保下载稳定版本git clone https://github.com/BookStackApp/BookStack.git --branch release
3 安装依赖(Composer)
如果服务器未安装 Composer:
- 打开 aaPanel → 终端
- 安装 Composer:
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer - 进入 BookStack 目录:
cd /www/wwwroot/your-domain/ composer install --no-dev --optimize-autoloader - 可能无法安装成功,看一下报错日志,原因一般是composer版本过低,需要升级。使用 composer self-update 之后,再次执行 composer install命令。看到一连串的输出,最后提示successfully,代表安装成功。
4 配置 .env 文件
- 复制模板:
cp .env.example .env - 编辑 .env:
- 数据库配置:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=你的密码 - 网站 URL:
APP_URL=https://your-domain.com
5 生成密钥并迁移数据库
如果提示权限问题,确保 /storage 和 /bootstrap/cache 可写。
/www/server/php/83/bin/php artisan key:generate
/www/server/php/83/bin/php artisan migrate
6 设置文件权限
BookStack 文件夹统一用 www 用户
cd /www/wwwroot/ecar.officesimple.net
chown -R www:www .
chmod -R 755 .
chmod -R 775 storage bootstrap/cache public/uploads
解释:
- chown -R www:www . → 整个目录属主和组改成 www
- chmod -R 755 . → 所有文件可读可执行
- chmod -R 775 storage bootstrap/cache public/uploads → 上传目录和缓存目录可写这样 BookStack 上传图片、写缓存就不会再报权限错误了。
7 Nginx 配置(aaPanel)

8 启用 HTTPS(Let's Encrypt)
- 首先解析域名到服务器上 - 再在aapanel网站配置中生成Let's Encrpyt 证书
9 设置Nginx的URL 重写规则
- 如果访问页面,出现404错误,那么需要设置URL重写规则,在aapanel的网站设置中加入下规则:
location / { try_files $uri $uri/ /index.php$is_args$query_string; } 
至此,安装完成,访问网站域名,成功进入网站,代表安装成功。
BookStack 备份和迁移
- 要在新服务器上安装好同版本的网站环境(PHP等) 和 BookStack
- 备份原服务器上bookstack的
- 数据库
- .env 文件(主要是secret key)
- 备份 /public/uploads/文件夹内容