| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #!/bin/bash
- # 设置工作目录为脚本所在的目录
- cd "$(dirname "$0")" || exit 1
- # 引入依赖脚本
- source scripts/lib.sh
- # 信号处理
- trap 'rm -f .env; exit' SIGINT SIGTSTP SIGTERM
- # ===============================================
- # 1. 初始化和环境检查
- # ===============================================
- # 清理不需要的文件
- clean_files
- # 检查 Web 环境 (检查 PHP/Nginx/MySQL 等工具)
- print_message "Checking the web environment..." "检查 Web 运行环境..."
- check_web_environment
- # ===============================================
- # 2. 核心依赖安装 (Composer, Supervisor, Node.js/npm)
- # ===============================================
- print_message "Checking/Installing core system dependencies..." " 检查/安装核心系统依赖项..."
- # 安装 Composer
- install_composer
- # 安装 Supervisor (Horizon/Reverb 所需)
- install_supervisor
- # 安装 Node.js/npm (前端构建所需)
- install_nodejs_npm
- # ===============================================
- # 3. 应用程序安装与配置
- # ===============================================
- # 执行 Composer 安装
- print_message "Installing packages via Composer..." "通过 Composer 安装程序包..."
- composer install --no-interaction --no-dev --optimize-autoloader
- # 执行 Panel 安装 (Handles .env, DB, key:generate, storage:link)
- php artisan panel:install
- # 设置权限 (在 storage:link 完成后设置权限)
- print_message "Setting Folder Permissions..." "设置文件夹权限..."
- set_permissions
- # ===============================================
- # 4. 服务和资源构建
- # ===============================================
- # 设置定时任务
- print_message "Enabling Panel schedule tasks..." "开启面板定时任务..."
- set_schedule
- # 设置 Horizon
- print_message "Setting Horizon daemon..." "设置 Horizon 守护程序..."
- set_horizon
- # 配置 Reverb WebSocket 服务
- print_message "Configuring Reverb WebSocket service..." "配置 Reverb WebSocket 服务..."
- configure_reverb
- # 构建前端资源
- print_message "Building frontend assets..." "构建前端资源..."
- build_frontend_assets
- # ===============================================
- # 5. 最终步骤
- # ===============================================
- # 下载IP数据库文件
- print_message "Downloading IP database files..." "下载 IP 数据库文件..."
- cd scripts/ && bash download_dbs.sh
|