DEPLOYMENT GUIDE

从零部署云枢社区

适用于全新服务器、宝塔面板和已有站点升级。文档覆盖 PHP 环境、数据库、安装向导、域名授权、安全配置和在线更新。

预计 20–40 分钟PHP 7.4+MySQL 5.7+无需 Node.js
展开部署文档目录

一、部署概览

云枢社区后端由 PHP API、三套管理后台、安装向导、上传目录和授权配置组成。整个项目应作为网站根目录,不能把 Web 根目录单独指向 api/ 或某个后台目录。

浏览器访问

Nginx 或 Apache 承载后台页面与 API。

PHP-FPM

运行安装器、API、后台和授权检查。

MySQL

保存用户、内容、运营和授权绑定数据。

uploads

默认保存头像、帖子图片、应用图标和轮播图。

首次部署必须使用 HTTPS,并先备份已有数据库。安装完成后会生成安装锁 api/install.lock.php,不要删除。

二、服务器要求

推荐使用 64 位 Linux、2 核 CPU、4 GB 内存和 40 GB 可用磁盘。小型测试环境可以使用 2 GB 内存。

项目最低要求推荐
Web 服务Nginx 1.18+ / Apache 2.4+Nginx + PHP-FPM
PHPPHP 7.4+PHP 8.1 或 8.2
数据库MySQL 5.7+ / MariaDB 10.3+MySQL 8.0
字符集utf8mb4utf8mb4_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"));'

三、域名和网站目录

01

解析域名

给实际域名添加 A 记录,指向服务器公网 IP,并确认 80、443 端口可访问。

02

创建 PHP 站点

在宝塔面板创建站点,PHP 版本选择 8.1 或 8.2,网站根目录指向后端项目实际根目录。

03

上传项目

上传的内容应直接包含 api/、admin/、admin-ui/、admin-ui-v2/、installer/、index.php 和 install.php。

不要把 ZIP 解压成 /www/wwwroot/site/云枢社区后端/api 这样的多层目录后,却仍然把上级目录作为网站根目录。访问 https://你的域名/api/config.php 不应返回源码或 404。

目录权限

Linux
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。

数据库字符集使用 utf8mb4
数据库用户只授权当前数据库
不要在网站根目录保存 SQL 备份
升级前先导出完整数据库
如果使用已有数据库升级,必须先在宝塔或命令行中完整备份,安装时选择保留现有数据,不要直接清空生产库。

五、运行安装向导

首次访问网站根域名时,系统会检测是否已安装并跳转安装页面。也可以直接访问:

安装入口
https://community.example.com/install.php
  1. 检查 PHP 版本、扩展、目录写入能力。
  2. 填写 MySQL 地址、端口、数据库名、用户名和密码。
  3. 选择是否导入初始数据,已有站点应勾选保留数据。
  4. 创建管理员账号并设置强密码。
  5. 等待安装器建表、写入数据库配置并生成安装锁。
安装完成后访问 api/install.lock.php 应返回空内容或不可见,不能再次进入安装流程。不要把安装锁、数据库配置和授权配置暴露给外部用户。

六、HTTPS 与安全配置

  • 在宝塔中申请并强制启用 HTTPS。
  • 后台管理域名建议限制管理员 IP,或启用面板访问密钥。
  • 禁止直接访问 SQL、ZIP、日志、数据库备份和系统更新存储目录。
  • PHP 进程只能写入必要的 uploads/、系统临时目录和更新所需目录。
  • 不要随意修改 PHP 的 open_basedir 或关闭 HTTPS 证书校验。
Nginx 最小安全示例
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;
}

下载完整 Nginx 配置示例

七、购买并绑定域名授权

打开授权平台,注册账号后进入“购买授权”,先选择“云枢社区”程序,再选择授权周期和实际部署域名。

02

绑定域名

填写不带协议和路径的域名,例如 community.example.com。授权生效后保留到期时间。

03

配置服务端授权文件

根据实际授权系统地址和程序 AppKey 编辑 api/license_config.php。

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/

原版 SPA

/admin-ui/

星云动效版

/admin-ui-v2/

数据大屏

/admin-ui-v2/big-screen.html

上线前建议配置

站点名称、Logo、SEO 与备案号
SMTP 邮件与工单提醒
板块、审核规则与举报处理
AppKey 和客户端接口测试
维护模式与备份策略
管理员密码和后台访问密钥

九、授权与在线更新

授权管理后台发布新版本时配置版本、更新标题、更新日志和 ZIP 下载链接。社区后台进入“系统配置 → 系统更新”检查版本。

  • 社区服务器需要 PHP ZipArchive 扩展。
  • 系统会校验授权域名、程序 AppKey 和更新包 SHA-256。
  • 覆盖文件前会保存可回滚备份。
  • 数据库配置、授权配置、安装锁、uploads 和 storage 不会被更新包覆盖。
  • 安装成功后可删除不再需要的旧更新备份,但不要删除当前可用的回滚记录。

十、备份和维护

每天备份 MySQL 数据库
每周备份 uploads 目录
更新前手动创建完整备份
定期检查磁盘、PHP 错误和 Nginx 日志

建议保留最近至少 7 天的数据库和文件备份,并将备份下载到另一台服务器或对象存储。在线更新的临时回滚目录位于系统临时目录,服务器重启或临时文件清理后可能消失,不能代替正式备份。

十一、常见故障

现象常见原因处理方式
数据库连接失败账号密码、库名、端口或字符集错误核对宝塔数据库配置并重新运行安装器
后台空白或 500PHP 扩展缺失、文件权限或 PHP 错误检查 PHP-FPM 日志和站点错误日志
上传失败upload_max_filesize 或目录权限不足提高上传限制并确保 uploads 可写
当前程序未授权域名、AppKey 或到期时间异常核对授权平台与 license_config.php
更新提示 ZIP 扩展缺失当前 PHP 未加载 zip给站点实际使用的 PHP 安装 zip 并重启 PHP-FPM
后台样式加载失败CDN 被网络阻断使用动效版或本地化经典后台静态资源
排查数据库、授权和更新问题时,先确认网站实际使用的 PHP 版本和 PHP-FPM 运行用户。宝塔中 CLI PHP 与站点 PHP 不一定是同一版本。