# 游嘻CMS **Repository Path**: bala123/youxi-cms ## Basic Information - **Project Name**: 游嘻CMS - **Description**: 一款轻量级游戏内容管理系统,专为游戏分享和资源下载平台设计,支持数据同步、模板伪原创、广告管理等核心功能。 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-01 - **Last Updated**: 2026-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: 游戏, CMS, 下载 ## README # 游嘻CMS 宝塔面板搭建使用教程 ## 目录 - [环境要求](#环境要求) - [一、宝塔面板安装](#一宝塔面板安装) - [二、创建网站](#二创建网站) - [三、上传程序文件](#三上传程序文件) - [四、配置伪静态](#四配置伪静态) - [五、运行安装向导](#五运行安装向导) - [六、配置定时任务](#六配置定时任务) - [七、后台功能使用](#七后台功能使用) - [八、安全加固建议](#八安全加固建议) - [九、常见问题](#九常见问题) --- ## 环境要求 | 项目 | 最低要求 | 推荐配置 | |------|---------|---------| | PHP | 7.4+ | 8.0 / 8.1 / 8.2 | | MySQL | 5.7+ | 5.7 / 8.0 | | Nginx | 1.18+ | 1.22+ | | 磁盘空间 | 100MB | 1GB+(含图片缓存) | | PHP扩展 | pdo_mysql、openssl、json、mbstring、curl | 同左 + opcache | --- ## 快速开始 ```bash git clone https://gitee.com/bala123/youxi-cms /www/wwwroot/your-site ``` > **更新地址**:https://gitee.com/bala123/youxi-cms --- ## 伪静态配置 ### Nginx 在网站伪静态配置中粘贴以下规则: ```nginx location / { try_files $uri $uri/ /index.php?$query_string; } location ~ ^/(uploads)/.*\.(php|phtml|phar)$ { deny all; } location ~ ^/(config.*\.php|includes/|templates/.*\.php|cron/(?!sync\.php)|logs/|cache/(?!sitemap\.xml)) { deny all; } ``` 完整规则请参考项目中的 `nginx.conf` 文件。 ### Apache 项目已内置 `.htaccess` 规则,确保启用 `mod_rewrite` 即可,无需额外配置。 ### 未配置伪静态时的临时访问 如果暂未配置伪静态,可通过 `index.php?route=` 参数临时访问: ``` https://your-domain.com/index.php?route=/admin/dashboard ``` > 注意:临时路由仅用于过渡,请尽快配置伪静态规则以获得完整的URL重写支持。 --- ## 一、宝塔面板安装 如果尚未安装宝塔面板,通过SSH连接服务器后执行: **Ubuntu/Debian:** ```bash wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec ``` **CentOS:** ```bash yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec ``` 安装完成后,记录面板访问地址、用户名和密码。 --- ## 二、创建网站 ### 2.1 安装LNMP环境 首次进入宝塔面板会提示安装LNMP套件,选择以下配置: - **Nginx**:1.22+ - **MySQL**:5.7 或 8.0 - **PHP**:8.0 或 8.1 - **phpMyAdmin**:可选安装 > 建议选择"编译安装",稳定性更好。安装过程约需20-40分钟。 ### 2.2 安装PHP扩展 进入 **软件商店 → PHP → 设置 → 安装扩展**,确保以下扩展已安装: - `fileinfo`(必须) - `opcache`(推荐) - `openssl`(必须,一般默认已装) - `pdo_mysql`(必须,一般默认已装) - `mbstring`(必须,一般默认已装) - `curl`(推荐) ### 2.3 创建网站 1. 点击 **网站 → 添加站点** 2. 填写配置: - **域名**:填写你的域名,如 `game.example.com` - **根目录**:默认即可,如 `/www/wwwroot/game.example.com` - **PHP版本**:选择 PHP 8.0 或 8.1 - **数据库**:选择"MySQL",填写数据库名和密码(建议使用随机密码) - **记下数据库名、用户名和密码**,安装时需要用到 3. 点击"提交"创建网站 ### 2.4 配置域名解析 在你的域名服务商后台,将域名A记录解析到服务器IP地址: ``` 类型: A 主机记录: game(或 @) 记录值: 你的服务器IP TTL: 600 ``` --- ## 三、上传程序文件 ### 3.1 下载并上传 1. 将游嘻CMS程序包下载到本地 2. 在宝塔面板进入 **文件** 管理 3. 进入网站根目录(如 `/www/wwwroot/game.example.com`) 4. **删除**目录中默认的 `index.html` 等文件 5. 上传程序压缩包并解压,或将文件直接上传 上传后的目录结构应如下: ``` /www/wwwroot/game.example.com/ ├── admin/ 后台管理目录 ├── assets/ 静态资源 ├── cron/ 定时任务 ├── includes/ 核心类库 ├── install/ 安装向导 ├── logs/ 日志目录 ├── templates/ 模板目录 ├── uploads/ 上传目录 ├── .htaccess Apache伪静态规则 ├── config.php 核心配置 ├── index.php 入口文件 ├── nginx.conf Nginx参考配置 ├── robots.txt 搜索引擎规则 └── cache/ 缓存目录(含sitemap.xml) ``` ### 3.2 设置目录权限 在宝塔 **文件** 管理中,右键网站根目录 → **权限**,设置为: ``` 所有者: www 权限: 755 ``` 或通过SSH执行: ```bash cd /www/wwwroot/game.example.com chown -R www:www ./ chmod -R 755 ./ chmod -R 777 uploads/ logs/ ``` > `uploads/` 和 `logs/` 目录需要写入权限,设为777即可。 --- ## 四、配置伪静态 ### 4.1 Nginx(推荐) 1. 在宝塔面板进入 **网站 → 设置 → 伪静态** 2. 选择"自定义"模板 3. 粘贴以下规则: ```nginx location / { try_files $uri $uri/ /index.php?$query_string; } location ~ ^/(uploads)/.*\.(php|phtml|phar)$ { deny all; } location ~ ^/(config.*\.php|includes/|templates/.*\.php|cron/(?!sync\.php)|logs/|cache/(?!sitemap\.xml)) { deny all; } ``` 4. 点击"保存" ### 4.2 Apache Apache用户无需额外配置,程序已内置 `.htaccess` 规则,上传后即可使用。 确保Apache已启用 `mod_rewrite` 模块: ```bash # Ubuntu/Debian sudo a2enmod rewrite sudo systemctl restart apache2 ``` --- ## 五、运行安装向导 ### 5.1 开始安装 1. 打开浏览器,访问:`http://你的域名/install/` 2. 进入安装向导页面 ### 5.2 安装步骤 **第一步:环境检测** 系统会自动检测PHP版本、扩展和目录权限,全部通过后点击"下一步"。 **第二步:填写配置** | 配置项 | 说明 | |-------|------| | 数据库主机 | 默认 `localhost` | | 数据库端口 | 默认 `3306` | | 数据库名称 | 填写创建网站时的数据库名 | | 数据库用户 | 填写数据库用户名 | | 数据库密码 | 填写数据库密码 | | 站点名称 | 你的网站名称,如"XX游戏网" | | 后台路径 | 管理后台访问路径,默认 `admin`,**建议修改为自定义路径** | | 管理员用户名 | 至少3个字符,建议不用默认的admin | | 管理员密码 | 至少6个字符,建议使用强密码 | > ⚠️ **重要**:修改后台路径可以增加安全性,如改为 `myadmin`,则后台地址为 `http://域名/myadmin/` 点击"测试连接"确认数据库可连通后,点击"下一步"。 **第三步:确认安装** 核对信息无误后,点击"🚀 开始安装",等待安装完成。 **第四步:安装完成** 安装成功后会显示: - 首页访问地址 - 后台管理地址 - 定时任务配置说明 - 伪静态规则说明 ### 5.3 安装后安全操作 安装完成后,请执行以下操作: 1. **删除安装目录**(推荐):在宝塔文件管理中删除 `install/` 目录 2. 或保留安装目录但确认 `install/install.lock` 文件存在(安装时自动创建) --- ## 六、配置定时任务 定时任务用于自动同步数据,确保网站内容持续更新。 ### 方式一:Shell脚本(推荐) 1. 在宝塔面板进入 **计划任务** 2. 点击"添加任务" 3. 配置: - **任务类型**:Shell脚本 - **任务名称**:游嘻CMS数据同步 - **执行周期**:每天(或每12小时) - **脚本内容**: ```bash php /www/wwwroot/game.example.com/cron/sync.php ``` > 请将路径替换为你的实际网站路径 4. 点击"提交" ### 方式二:URL访问 1. 在宝塔面板进入 **计划任务** 2. 点击"添加任务" 3. 配置: - **任务类型**:访问URL - **任务名称**:游嘻CMS数据同步 - **执行周期**:每天 - **URL地址**: ``` http://你的域名/cron/sync.php?key=你的cron_key ``` > `cron_key` 可在后台 **系统设置 → 同步设置** 中查看 4. 点击"提交" ### 验证定时任务 添加完成后,可以手动执行一次,查看日志输出是否正常。正常输出类似: ``` 2026-05-01 12:00:00 同步完成: games: 成功 - 50 条 gifts: 成功 - 120 条 categories: 成功 - 10 条 tags: 成功 - 30 条 articles: 成功 - 25 条 ``` --- ## 七、后台功能使用 ### 7.1 登录后台 访问 `http://你的域名/后台路径/`,输入安装时设置的管理员账号密码。 ### 7.2 仪表盘 登录后首先看到仪表盘,显示: - 游戏数量、礼包数量、文章数量、今日访问量 - 同步状态和最近同步记录 - 首次使用引导提示 ### 7.3 数据同步 进入 **数据同步** 页面: 1. **全量同步**:首次使用时点击"全量同步",从数据源获取所有数据 2. **增量同步**:仅同步上次同步后新增/更新的数据 3. **同步日志**:查看每次同步的详细记录 > 首次同步可能需要较长时间,取决于数据量大小,请耐心等待。 ### 7.4 系统设置 进入 **系统设置**,包含以下标签页: #### 基本设置 - 站点名称、描述、关键词 - 站点URL(重要:请填写完整URL,如 `https://game.example.com`) - 页脚文字、版权信息、备案号 - 统计代码 #### SEO设置 - 标题后缀和分隔符 - 自动生成描述 - Canonical URL - nofollow控制 #### 显示设置 - 每页显示数量 - 热门游戏数量 - 最新文章数量 #### 广告设置 - 各广告位开关 - 广告位包含:顶部横幅、侧边栏、游戏列表、游戏详情、文章、底部 #### 导航设置 - 导航菜单显示/隐藏 - 导航文字自定义 #### CDN设置 - 资源加载源:本地 / Staticfile / BootCDN / jsDelivr / cdnjs / 自定义 - 默认使用本地资源,无需额外配置 - 如需加速可切换到CDN源 #### 同步设置 - 同步文章开关 - 自动同步开关 - 同步间隔 - **定时任务配置说明**(含Shell脚本和URL访问两种方式的详细指引) #### 模板伪原创 - 开启后自动替换CSS class前缀 - 使每个站点HTML结构具有唯一性 - 有助于SEO差异化 #### 修改密码 - 修改管理员登录密码 ### 7.5 文章管理 - 查看所有文章列表(含同步和本地创建的) - 编辑/删除本地文章 - 切换发布状态 - 设置置顶 - 新建文章(支持富文本编辑器) ### 7.6 SEO管理 - 管理各页面的SEO信息(标题、关键词、描述) - 支持AI自动生成SEO信息 - 页面包括:首页、游戏列表、文章列表、标签页、搜索页 ### 7.7 分类标签管理 - 查看分类和标签列表 - 编辑分类/标签的SEO信息 - 支持AI批量生成分类和标签的SEO关键词和描述 ### 7.8 AI伪原创 进入 **AI伪原创** 页面: 1. **配置AI**:选择AI服务商(智谱/通义千问/文心一言/DeepSeek/Kimi/豆包/自定义),填写API Key 2. **单个伪原创**:选择游戏或文章进行伪原创 3. **批量伪原创**:一键批量处理未伪原创的游戏/文章/分类/标签 4. **自定义提示词**:可修改各类型内容的AI提示词 ### 7.9 广告管理 - 管理8个广告位的内容 - 支持HTML代码(SVG图片、广告联盟代码等) - 每个广告位可独立启用/禁用 ### 7.10 友情链接 - 添加/编辑/删除友情链接 - 设置排序和启用状态 ### 7.11 导航菜单 - 管理顶部导航菜单 - 支持自定义链接和新窗口打开 ### 7.12 数据清除 - 清除游戏/标签/文章数据 - 清除所有内容数据(保留配置) - ⚠️ 操作不可恢复,请谨慎使用 --- ## 八、安全加固建议 ### 8.1 修改后台路径 安装时已设置自定义后台路径,如需修改: 1. 编辑 `config_user.php`,修改 `admin_path` 值 2. 修改后使用新路径访问后台 ### 8.2 配置SSL证书 1. 在宝塔面板进入 **网站 → 设置 → SSL** 2. 选择"Let's Encrypt",勾选域名,点击"申请" 3. 申请成功后开启"强制HTTPS" ### 8.3 删除安装目录 安装完成后,建议删除 `install/` 目录: ```bash rm -rf /www/wwwroot/game.example.com/install/ ``` ### 8.4 保护敏感文件 Nginx伪静态规则已包含以下保护(确保已配置): - 禁止访问 `config.php`、`config_user.php` - 禁止访问 `includes/` 目录 - 禁止访问 `templates/` 目录下的PHP文件 - 禁止访问 `logs/` 目录 - 禁止访问 `cache/` 目录 - 禁止访问 `cron/` 目录(仅允许 `sync.php`) - 禁止 `uploads/` 目录执行PHP文件 ### 8.5 PHP安全配置 在宝塔 **软件商店 → PHP → 设置** 中: 1. **禁用函数**:确保以下函数被禁用 - `exec`、`system`、`passthru`、`shell_exec`、`proc_open`、`popen` 2. **上传限制**:根据需要调整 `upload_max_filesize` 和 `post_max_size` 3. **open_basedir**:建议设置为网站根目录 ### 8.6 防火墙配置 在宝塔 **安全** 页面: 1. 放行端口:80(HTTP)、443(HTTPS)、8888(宝塔面板) 2. 其他端口建议全部关闭 3. 开启SSH端口修改(不使用默认22) --- ## 九、常见问题 ### Q1:访问页面显示404 **原因**:伪静态规则未配置或配置错误 **解决**: 1. 检查Nginx伪静态规则是否正确配置 2. Apache用户检查 `.htaccess` 文件是否存在 3. 重启Nginx/Apache服务 ### Q2:安装页面无法访问 **原因**:可能安装目录已被锁定 **解决**: 1. 检查 `install/install.lock` 文件是否存在 2. 如需重新安装,删除 `install.lock` 文件和 `config_user.php` 3. 重新访问 `/install/` ### Q3:数据同步失败 **原因**:服务器无法连接数据源 **解决**: 1. 检查服务器网络连接是否正常 2. 检查PHP的 `allow_url_fopen` 是否开启(宝塔 → PHP设置 → 配置文件) 3. 检查 `curl` 扩展是否安装 4. 查看同步日志了解具体错误 ### Q4:图片无法显示 **原因**:图片URL无法访问或下载失败 **解决**: 1. 检查 `uploads/` 目录权限是否为777 2. 检查Nginx/Apache是否有图片缓存规则 3. 在后台手动触发同步,重新下载图片 ### Q5:后台登录失败 **原因**:密码错误或登录次数过多被限制 **解决**: 1. 确认密码正确 2. 登录失败5次后会被锁定15分钟,等待后重试 3. 如忘记密码,可通过数据库重置: ```sql -- 进入phpMyAdmin,执行: UPDATE subsite_admin SET password = '$2y$10$新的密码hash' WHERE username = '你的用户名'; ``` 或使用PHP生成新密码hash: ```php ``` ### Q6:定时任务不执行 **原因**:cron路径错误或权限问题 **解决**: 1. 确认Shell脚本中的PHP路径正确:`which php` 查看PHP路径 2. 确认网站路径正确 3. 在宝塔计划任务中查看执行日志 4. 手动执行测试:`php /www/wwwroot/game.example.com/cron/sync.php` ### Q7:页面样式错乱 **原因**:CSS文件未加载或CDN不可用 **解决**: 1. 检查浏览器控制台是否有CSS加载失败 2. 在后台 **系统设置 → CDN设置** 中切换为"本地"资源 3. 清除浏览器缓存后重试 ### Q8:AI伪原创不工作 **原因**:AI API Key未配置或余额不足 **解决**: 1. 在 **AI伪原创** 页面配置AI服务商和API Key 2. 检查API Key是否有效、余额是否充足 3. 查看AI请求是否超时(可在PHP设置中增加 `max_execution_time`) ### Q9:如何修改网站域名 1. 在后台 **系统设置 → 基本设置** 中修改站点URL 2. 在宝塔面板中添加新域名 3. 更新域名解析 4. 配置新域名的SSL证书 ### Q10:如何备份数据 1. **数据库备份**:宝塔面板 → 计划任务 → 添加数据库备份任务 2. **文件备份**:宝塔面板 → 计划任务 → 添加网站备份任务 3. 建议设置每日自动备份,保留最近7天 --- ## 技术支持 - 如遇到问题,请提交Issue到项目仓库 - 请附上错误日志(`logs/error.log`)和操作步骤 - PHP版本、MySQL版本、Nginx版本等环境信息