web部署
步骤流程
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-