# 安装指南 从零安装 LaraLog。已有 SaBlog-X 老数据的先看本页,数据迁移见 `docs/import.md`,上线见 `docs/deploy.md`。 ## 环境要求 | 组件 | 要求 | |------|------| | PHP | **8.2+**(需 pcntl 扩展用于 Workerman;GD/Imagick 用于缩略图) | | MySQL | **8.x** | | Composer | 2.x | | 可选 | Node.js(前台资源构建)、S3 兼容存储(R2/COS/OSS/MinIO)、OpenAI 兼容 LLM | ## 1. 获取代码与依赖 ```bash git clone laralog cd laralog composer install --no-dev # 开发环境不加 --no-dev cp .env.example .env php artisan key:generate ``` `.env.example` 已包含全部配置键,关键项: ```dotenv APP_URL=http://laralog.test # 生产改正式域名(影响生成的全部链接) DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_DATABASE=laralog DB_USERNAME=root DB_PASSWORD= # 以下为可选能力(不配也能跑,见注释): # S3_* 附件存储(不配置回退本地 public) # LLM_* AI 评论审核/润色 # MARKET_* 插件/主题远程市场 ``` ## 2. 建库与初始化 ```bash # 先在 MySQL 建库 mysql -uroot -p -e "CREATE DATABASE laralog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" # 迁移 + 种子(创建管理员) php artisan migrate --seed ``` **后台登录**:`http://{APP_URL}/admin`,默认账号 `admin@laralog.test` / `password`(**上线后第一时间改密码**)。 > 内置插件(SEO/AI/支付/会员/外链中转)随迁移自动建表并默认启用(config/plugins.php),后台「插件管理」可启停。 ## 3. 开发环境运行 ### Herd / Valet(推荐,macOS) ```bash # Herd:站点指向本目录即可,直接访问 http://laralog.test ``` ### 内置服务器 ```bash php artisan serve # http://127.0.0.1:8000 ``` ### 队列消费者(AI 审核/润色才需要) ```bash php artisan dev:watch # 开发期:监听代码变化自动重启 workerman(fswatch 或 PHP 轮询兜底) # 或简单模式 php artisan queue:work --queue=default,ai ``` ## 4. 验收清单 - [ ] 前台首页/文章/分类/归档/标签/搜索/友链/登录注册正常 - [ ] 后台 `/admin` 登录成功,文章/评论/设置/主题/插件页面可访问 - [ ] 主题切换正常(后台「主题管理」,内置 sablog/modern/demo 三套) - [ ] 发一条评论:评论区显示(若有 AI 配置,进审核队列) - [ ] 支付:后台「支付设置」默认沙箱模式,会员套餐可走模拟支付闭环 - [ ] 文章写 `[hello 世界]` 变问候语(demo 插件启用后,`/hello-world` 可访问) ## 5. 常见问题 | 现象 | 处理 | |------|------| | 页面 500 / 空白 | `storage/`、`bootstrap/cache/` 目录需可写;`php artisan config:clear` | | 中文乱码 | 数据库/连接字符集 utf8mb4 | | 后台样式错乱 | `php artisan filament:assets`(重新发布后台资源) | | 文章编辑框太小 | 已内置加大样式;仍不够可调整 `app/Providers/AppServiceProvider.php` 中 `.fi-fo-markdown-editor` 的 min-height | | 附件上传失败 | 未配 S3 时走本地 public 磁盘;配 S3 后确认 `S3_*` 键与桶权限 | | 插件停用后功能消失 | 属预期:付费列/外链中转等由插件注入,后台「插件管理」重新启用即可 |