# 安装指南 ## 环境要求 | 组件 | 最低版本 | 说明 | |------|----------|------| | PHP | 8.0+ | 需启用 PHP-FPM | | MySQL | 5.7+ | 或 MariaDB 10.3+ | | Nginx | 1.18+ | 或其他支持 PHP-FPM 的 Web 服务器 | | Composer | 2.0+ | PHP 依赖管理工具 | ### PHP 扩展要求 - PDO(含 PDO MySQL 驱动) - cURL - JSON - mbstring - OpenSSL ## 安装方式 ### 方式一:宝塔面板安装(推荐) 宝塔面板提供图形化界面,最适合快速部署。 #### 1. 安装宝塔面板环境 在宝塔面板中安装以下组件: - Nginx(任意版本) - PHP 8.0(注意选择正确版本) - MySQL 5.7 或 8.0 #### 2. 创建网站 1. 登录宝塔面板 2. 点击"网站" → "添加站点" 3. 填写域名,PHP 版本选择 **PHP 8.0** 4. 数据库选择"不创建"(需在安装前手动创建,安装向导不会自动创建数据库) #### 3. 上传代码 将项目代码上传到网站目录(例如 `/www/wwwroot/your-domain.com/`),或使用 Git 克隆。 #### 4. 安装 PHP 依赖 在宝塔终端中执行: ```bash cd /www/wwwroot/your-domain.com composer install ``` #### 5. 设置目录权限 ```bash chmod 755 public/uploads/ chmod 755 config/ ``` #### 6. 配置伪静态 1. 在宝塔面板中找到你的站点 → 设置 → **网站目录** → 运行目录改为 `/public` 2. 站点设置 → **伪静态** → 将 `docs/baota-nginx-snippet.conf` 的内容粘贴进去 3. 保存配置 > 注意:如 PHP 版本不是 8.0,需将配置中的 `php-cgi-80` 改为对应版本号。 #### 7. 创建数据库 安装向导不会自动创建数据库,需要提前手动创建: 1. 宝塔面板 → 数据库 → 添加数据库 2. 记录数据库名、用户名和密码,安装向导中需要填写 #### 8. 运行安装向导 访问 `http://your-domain.com/install.php`,按照向导步骤: 1. **环境检查** — 系统自动检查 PHP 版本和扩展 2. **数据库配置** — 填写 MySQL 连接信息(数据库需提前创建) 3. **应用配置** — JWT 密钥(可自动生成) 4. **管理员账户** — 设置管理员用户名和密码 5. **AI 供应商** — (可选)配置 AI 服务供应商,安装后也可在设置页面添加 ### 方式二:手动安装 #### 1. 安装环境 ```bash # Ubuntu/Debian sudo apt update sudo apt install php8.0-fpm php8.0-mysql php8.0-curl php8.0-mbstring php8.0-xml sudo apt install mysql-server nginx composer ``` #### 2. 部署代码 ```bash cd /var/www git clone ai-chat cd ai-chat composer install ``` #### 3. 设置权限 ```bash chown -R www-data:www-data /var/www/ai-chat chmod 755 public/uploads/ config/ ``` #### 4. 配置 Nginx 使用 `docs/nginx.conf` 作为完整站点配置: ```bash cp docs/nginx.conf /etc/nginx/sites-available/ai-chat ln -s /etc/nginx/sites-available/ai-chat /etc/nginx/sites-enabled/ # 编辑 server_name 和 root 路径 nginx -t && nginx -s reload ``` #### 5. 创建数据库 ```sql CREATE DATABASE ai_chat DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'ai_chat'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON ai_chat.* TO 'ai_chat'@'localhost'; FLUSH PRIVILEGES; ``` #### 6. 运行安装向导 访问 `http://your-domain.com/install.php` 完成安装。 ### 方式三:本地开发 ```bash php -S localhost:8080 -t public/ public/router.php ``` > 必须使用 `public/router.php` 作为路由文件,否则 `/api/*` 请求无法正确路由。 ## 常见问题 ### Q: 安装页面空白? 检查 PHP 版本是否 >= 8.0,以及 PHP 扩展是否已安装。 ### Q: 500 错误? 检查 Nginx 错误日志:`tail -f /var/log/nginx/error.log` ### Q: 数据库连接失败? 确认 MySQL 服务正在运行,且数据库已提前创建、账号密码正确。 ### Q: SSE 流式响应不工作? 确认 Nginx 配置中已禁用缓冲(参考 `docs/baota-nginx-snippet.conf`)。 ### Q: API 返回非 JSON 响应? 检查 Web 服务器是否正确配置了 `/api/` 路由转发。本地开发需使用 `public/router.php`。