Bookstack介绍

  •  Bookstack 是一个使用 PHP 和 Laravel 构建的文档/wiki 内容创建平台。官方 https://www.bookstackapp.com/

  • 适合作为个人的知识站来梳理和沉淀专业知识,界面优化美观,可以象书本一样,按照章节管理内容,并且费用容易使用,这也正是我使用该建站软件的原因。

BookStack ScreenShot

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
    

2026-01-18T14:21:23.png

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

2026-01-18T14:28:42.png

2026-01-18T14:29:51.png

  •  接下来创建mysql数据库

2026-01-19T14:18:05.png

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

2026-01-19T14:21:22.png

至此,第一步环境搭建结束。

2. 下载 bookstack 源码并部署

  1. aaPanel → 文件管理网站根目录
  2. 选择 /www/wwwroot/your-domain/(或其他目录)
  3. 使用 Git 拉取源码:
    git clone https://github.com/BookStackApp/BookStack.git --branch release
    ⚠️ --branch release 确保下载稳定版本

 

3 安装依赖(Composer

      如果服务器未安装 Composer

  1. 打开 aaPanel → 终端
  2. 安装 Composer
    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer

  3. 进入 BookStack 目录:
    cd /www/wwwroot/your-domain/
    composer install --no-dev --optimize-autoloader

  4. 可能无法安装成功,看一下报错日志,原因一般是composer版本过低,需要升级。使用 composer self-update 之后,再次执行 composer install命令。看到一连串的输出,最后提示successfully,代表安装成功。

4 配置 .env 文件

  1. 复制模板:
    cp .env.example .env
  2. 编辑 .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

解释:

  1. chown -R www:www . → 整个目录属主和组改成 www
  2. chmod -R 755 . → 所有文件可读可执行
  3. chmod -R 775 storage bootstrap/cache public/uploads → 上传目录和缓存目录可写这样 BookStack 上传图片、写缓存就不会再报权限错误了。

7 Nginx 配置(aaPanel

2026-01-20T14:40:56.png

8 启用 HTTPSLet'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/文件夹内容


发表评论