展开部署文档目录
一、部署概览
云枢社区后端由 PHP API、三套管理后台、安装向导、上传目录和授权配置组成。整个项目应作为网站根目录,不能把 Web 根目录单独指向 api/ 或某个后台目录。
Nginx 或 Apache 承载后台页面与 API。
运行安装器、API、后台和授权检查。
保存用户、内容、运营和授权绑定数据。
默认保存头像、帖子图片、应用图标和轮播图。
api/install.lock.php,不要删除。二、服务器要求
推荐使用 64 位 Linux、2 核 CPU、4 GB 内存和 40 GB 可用磁盘。小型测试环境可以使用 2 GB 内存。
| 项目 | 最低要求 | 推荐 |
|---|---|---|
| Web 服务 | Nginx 1.18+ / Apache 2.4+ | Nginx + PHP-FPM |
| PHP | PHP 7.4+ | PHP 8.1 或 8.2 |
| 数据库 | MySQL 5.7+ / MariaDB 10.3+ | MySQL 8.0 |
| 字符集 | utf8mb4 | utf8mb4_unicode_ci |
| 扩展 | pdo_mysql、mbstring、json、session | 另装 curl、zip、openssl、fileinfo、gd |
宝塔面板安装扩展
进入“软件商店”,打开网站实际使用的 PHP 版本,进入“设置 → 安装扩展”,安装 pdo_mysql、mbstring、curl、zip、openssl、fileinfo 和 gd,随后重启 PHP-FPM。
php -m | grep -E 'pdo_mysql|mbstring|curl|zip|openssl|fileinfo|gd'
php -r 'var_dump(class_exists("ZipArchive"));'
三、域名和网站目录
解析域名
给实际域名添加 A 记录,指向服务器公网 IP,并确认 80、443 端口可访问。
创建 PHP 站点
在宝塔面板创建站点,PHP 版本选择 8.1 或 8.2,网站根目录指向后端项目实际根目录。
上传项目
上传的内容应直接包含 api/、admin/、admin-ui/、admin-ui-v2/、installer/、index.php 和 install.php。
/www/wwwroot/site/云枢社区后端/api 这样的多层目录后,却仍然把上级目录作为网站根目录。访问 https://你的域名/api/config.php 不应返回源码或 404。目录权限
chown -R www:www /www/wwwroot/community
find /www/wwwroot/community -type d -exec chmod 755 {} \;
find /www/wwwroot/community -type f -exec chmod 644 {} \;
chmod -R 775 /www/wwwroot/community/uploads
四、创建数据库
在宝塔面板“数据库”中新建 MySQL 数据库,字符集选择 utf8mb4。记录数据库名、用户名和密码,安装器会使用这些信息生成 api/config.local.php。
五、运行安装向导
首次访问网站根域名时,系统会检测是否已安装并跳转安装页面。也可以直接访问:
https://community.example.com/install.php
- 检查 PHP 版本、扩展、目录写入能力。
- 填写 MySQL 地址、端口、数据库名、用户名和密码。
- 选择是否导入初始数据,已有站点应勾选保留数据。
- 创建管理员账号并设置强密码。
- 等待安装器建表、写入数据库配置并生成安装锁。
api/install.lock.php 应返回空内容或不可见,不能再次进入安装流程。不要把安装锁、数据库配置和授权配置暴露给外部用户。六、HTTPS 与安全配置
- 在宝塔中申请并强制启用 HTTPS。
- 后台管理域名建议限制管理员 IP,或启用面板访问密钥。
- 禁止直接访问 SQL、ZIP、日志、数据库备份和系统更新存储目录。
- PHP 进程只能写入必要的
uploads/、系统临时目录和更新所需目录。 - 不要随意修改 PHP 的
open_basedir或关闭 HTTPS 证书校验。
location ~* \.(sql|zip|log|bak|ini)$ {
deny all;
}
location ~ ^/api/(config\.local\.php|install\.lock\.php|license_config\.php)$ {
deny all;
}
location ^~ /uploads/ {
try_files $uri =404;
}
七、购买并绑定域名授权
打开授权平台,注册账号后进入“购买授权”,先选择“云枢社区”程序,再选择授权周期和实际部署域名。
购买授权
绑定域名
填写不带协议和路径的域名,例如 community.example.com。授权生效后保留到期时间。
配置服务端授权文件
根据实际授权系统地址和程序 AppKey 编辑 api/license_config.php。
return [
'enabled' => true,
'server_url' => 'https://auth.example.com/auth_server.php',
'app_key' => '授权平台中云枢社区程序的 AppKey',
'timeout' => 6,
'cache_minutes' => 5,
];
八、进入管理后台
安装完成后有三种后台入口,可先使用经典后台完成基础配置,再切换到动效版。
/admin/
/admin-ui/
/admin-ui-v2/
/admin-ui-v2/big-screen.html
上线前建议配置
九、授权与在线更新
授权管理后台发布新版本时配置版本、更新标题、更新日志和 ZIP 下载链接。社区后台进入“系统配置 → 系统更新”检查版本。
- 社区服务器需要 PHP
ZipArchive扩展。 - 系统会校验授权域名、程序 AppKey 和更新包 SHA-256。
- 覆盖文件前会保存可回滚备份。
- 数据库配置、授权配置、安装锁、uploads 和 storage 不会被更新包覆盖。
- 安装成功后可删除不再需要的旧更新备份,但不要删除当前可用的回滚记录。
十、备份和维护
建议保留最近至少 7 天的数据库和文件备份,并将备份下载到另一台服务器或对象存储。在线更新的临时回滚目录位于系统临时目录,服务器重启或临时文件清理后可能消失,不能代替正式备份。
十一、常见故障
| 现象 | 常见原因 | 处理方式 |
|---|---|---|
| 数据库连接失败 | 账号密码、库名、端口或字符集错误 | 核对宝塔数据库配置并重新运行安装器 |
| 后台空白或 500 | PHP 扩展缺失、文件权限或 PHP 错误 | 检查 PHP-FPM 日志和站点错误日志 |
| 上传失败 | upload_max_filesize 或目录权限不足 | 提高上传限制并确保 uploads 可写 |
| 当前程序未授权 | 域名、AppKey 或到期时间异常 | 核对授权平台与 license_config.php |
| 更新提示 ZIP 扩展缺失 | 当前 PHP 未加载 zip | 给站点实际使用的 PHP 安装 zip 并重启 PHP-FPM |
| 后台样式加载失败 | CDN 被网络阻断 | 使用动效版或本地化经典后台静态资源 |