步骤流程

1. 创建空数据库

mysql -uroot -p123456
create database bookstack character set utf8mb4 collate utf8mb4_unicode_ci;
create user 'bookstack'@'localhost' identified by '123456';
grant all on bookstack.* to 'bookstack'@'localhost';
flush privileges;
exit;

2. 配置好.env数据库参数

cp .env.example .env
sed -i \
-e 's#^APP_URL=https://example.com#APP_URL=https://linuxnote.asia#' \
-e 's#^DB_HOST=localhost#DB_HOST=127.0.0.1#' \
-e 's#^DB_DATABASE=database_database#DB_DATABASE=bookstack#' \
-e 's#^DB_USERNAME=database_username#DB_USERNAME=bookstack#' \
-e 's#^DB_PASSWORD=database_user_password#DB_PASSWORD=123456' \
.env
cat >>.env<<'EOB'
APP_TIMEZONE=Asia/Shanghai
APP_VIEWS_BOOKSHELVES=list
APP_VIEWS_BOOKSHELF=list
APP_VIEWS_BOOKS=list
EOB

cat .env | grep -E 'APP_URL|DB_HOST|DB_DATABASE|DB_USERNAME|DB_PASSWORD|APP_VIEWS_BOOKSHELVES|APP_VIEWS_BOOKSHELF|APP_VIEWS_BOOKS'
php artisan config:clear

3. 先安装依赖,生成vendor目录

composer install --no-dev

4. 生成app_key

php artisan key:generate

cat .env | grep APP_KEY

5. 【生成全部数据表】

php artisan migrate --force

mysql -u bookstack -p123456 bookstack -e "show tables;"

6. 全部目录归属 nginx

chown -R nginx:nginx /web/BookStack-26.05.3

7. 基础目录权限

chmod -R 755 /web/BookStack-26.05.3

8. 写入目录放开组写权限

chmod -R 775 /web/BookStack-26.05.3/storage
chmod -R 775 /web/BookStack-26.05.3/bootstrap/cache
chmod -R 775 /web/BookStack-26.05.3/public/uploads

9. .env 严格保护,仅属主可读

chmod 600 /web/BookStack-26.05.3/.env

10. 设置管理员账号

cd /web/BookStack-26.05.3
php artisan bookstack:create-admin --initial
# 交互输入邮箱:admin@example.com
# 交互输入密码:ioio9800-

Revision #1
Created 2026-08-20 13:43:14 CST by Admin
Updated 2026-08-20 13:50:49 CST by Admin