13 部署可得财务(详细教程)
适用版本:正式版 1.0.4(热更新按
BUILD递增比对,当前文档同步至 Build 191)
官方文档站:https://cwwiki.mercuryseek.cn
相关教程:插件开发详细教程 · 主题开发详细教程 · 热更新机制
本文面向 宝塔面板 生产环境:从零安装、日常热更新、插件/主题部署与排错。部署包已含前端构建产物与 vendor/,无需在服务器上执行 Composer / Node。
一、环境要求
| 项 | 要求 |
|---|---|
| 面板 | 宝塔(推荐)或兼容 Nginx + PHP-FPM |
| PHP | 8.1–8.4(推荐 8.2) |
| PHP 扩展 | pdo_mysql、mbstring、curl、openssl、json;建议再开 gd、fileinfo、zip |
| 数据库 | MySQL 5.7+ / 8.0(utf8mb4);授权站单独要求见下文 |
| 内存 | 建议 ≥ 1GB |
| 域名 | 已解析到服务器,建议启用 HTTPS |
部署包命名示例:
可得财务-全新部署-v1.0.4-build-191.zip ← 全新安装
可得财务-热更新-v1.0.4-build-191.zip ← 已有站点热更新/手动覆盖
kede-finance-update-v1.0.4-build-191.zip ← 同上(英文名,兼容旧脚本)不要用更新包覆盖尚未安装的空站;不要用完整部署包直接覆盖已在运行的生产站(会冲掉
.env/ 运行数据风险高)。已有站点请走「后台系统更新」或按第四节手动更新。
二、全新安装(三步)
① 上传解压
- 宝塔新建网站,PHP 选 8.1–8.4。
- 进入站点目录(如
/www/wwwroot/finance.example.com)。 - 上传
kede-finance-deploy-*.zip并解压。 - 确认根目录能直接看到:
public/ app/ vendor/ deploy/ config/ …若解压多了一层目录,把内层文件全部挪到站点根。
② 一键初始化
宝塔 终端 执行:
cd /www/wwwroot/你的域名
bash deploy/baota-oneclick.sh脚本会:
- 创建
runtime/*并设置www(或www-data)可写 - 写入
public/.user.ini(放宽open_basedir) - 导出伪静态到
/tmp/kede-nginx-rewrite.conf - 检查 PHP 扩展与关键文件语法
没有该脚本时,可手动:
mkdir -p runtime/cache runtime/log runtime/session runtime/temp runtime/license
chown -R www:www runtime public
chmod -R 775 runtime③ 宝塔三项设置 + 安装向导
| 位置 | 操作 |
|---|---|
| 网站 → 设置 → 网站目录 | 运行目录 = /public;关闭「防跨站攻击」 |
| 网站 → 设置 → 伪静态 | 粘贴 /tmp/kede-nginx-rewrite.conf(或包内 deploy/nginx-baota.conf)全部内容并保存;须含 @kede_front(未安装才能自动进安装向导) |
| 网站 → 设置 → 配置文件 | index index.html index.php;;建议加 fastcgi_read_timeout 120; |
浏览器打开:
https://你的域名/admin/按向导:环境检测 → 数据库 + 授权码 → 管理员账号 → 完成。
| 入口 | 地址 |
|---|---|
| 前台 | / |
| 管理后台 | /admin/(若自定义了后台路径则以安装时为准) |
| 安装向导 | /admin/#/install(未安装时) |
三、安装后必做
1. 授权心跳计划任务
宝塔 → 计划任务 → Shell,每天 00:00:
cd /www/wwwroot/你的域名 && /www/server/php/82/bin/php think license:heartbeat按实际 PHP 版本改 82(如 81 / 83)。
也可执行包内:
bash deploy/install-license-cron.sh即使计划任务缺失,当天首个请求也会补偿触发一次心跳;仍建议配置 cron,避免长期无人访问导致宽限期问题。
2. HTTPS 与备份
- 申请 SSL 并强制 HTTPS
- 定期备份:数据库、
.env、runtime/license/、自定义public/plugins//public/themes/
3. 安全清单
- [ ] 生产关闭
APP_DEBUG - [ ] 修改默认/安装时的管理员密码
- [ ] HTTPS +(可选)HSTS
- [ ] 安装完成后限制或删除对
/setup的外网访问 - [ ] 支付密钥仅存后台配置,不进公开仓库
- [ ] 确认伪静态 不要 写
try_files $uri $uri/(会导致登录 POST 被 301)
四、已有站点更新到最新版
方式 A:后台热更新(推荐)
- 登录管理后台 → 系统更新
- 检查更新 → 应用更新
- 更新完成后强制刷新浏览器(Ctrl+F5)
- 查看版本是否变为目标
BUILD
依赖已配置的更新服务地址(后台「系统设置 / 常规」或 .env 的 UPGRADE_SERVER)。
方式 B:手动解压更新包
- 备份:数据库、
.env、runtime/license/、整站 zip - 上传
kede-finance-update-*.zip - 解压覆盖到站点根(保留
.env、runtime/、install.lock) - 若包内有
upgrade/*.sql,按文件名顺序执行(或依赖后台自动迁移) - 执行:
cd /www/wwwroot/你的域名
bash deploy/baota-oneclick.sh # 可选,修正权限热更新比对规则:只比较 BUILD,远端 build > 本地 BUILD 即有更新。详见 26 更新产品开发文档。
五、插件与主题部署
插件(生产)
生产环境 不依赖 插件市场在线安装,请用压缩包:
- 解压到
public/plugins/{type}/{name}/- 功能插件:
public/plugins/addon/xxx/ - 支付:
public/plugins/gateways/xxx/等
- 功能插件:
- 后台 → 插件管理 → 本地插件 → 安装并启用
- 按插件说明填写配置(如授权对接的 API Key)
手把手开发见:04a 插件开发详细教程。
主题
- 将主题产物放到
public/themes/web/{name}/或clientarea/cart - 后台 → 主题模板 → 启用对应类型主题
- 开发与构建见:10a 主题开发详细教程
六、Nginx 要点(排错常用)
- 网站根目录指向站点根,运行目录 必须是
public/ /adminSPA 的location不能加^~,否则/admin/auth/login等 API 可能 403- 静态资源
/themes/、/plugins/、/assets/直接访问 - 本地开发用
php -S 127.0.0.1:8800 public/router.php或scripts/dev-all.sh,不要用php think run(不加载router.php,后台 API 会 404)
自定义后台路径
Build 191 起,修改后台路径(如 /admin666/)后,InstallService 会自动将 nginx location 规则插入站点配置并执行 nginx -s reload。若手动修改过宝塔站点配置,请检查对应 location 块是否存在。
推荐伪静态片段见包内 deploy/nginx-baota.conf。
七、自检命令
curl -sS 'https://你的域名/index.php?s=/ping'
curl -sS 'https://你的域名/index.php?s=/setup/index'应返回 JSON(如 pong / installed),不能是 HTML 错误页。
后台登录页标题应为「可得财务」+「管理后台」;前台首页轮播控制为玻璃圆角样式(Build 122+)。
八、常见问题
| 现象 | 处理 |
|---|---|
| 安装 500 / 目录不可写 | 再跑 bash deploy/baota-oneclick.sh;确认运行目录 /public |
| 首页变成 JSON | 配置文件 index index.html index.php; |
| Nginx 403 / 登录失败 | 伪静态勿带 $uri/;用包内配置 |
| 后台接口全 404 | 检查伪静态与运行目录;确认不是 php think run |
| 授权掉线 | 检查 cron、runtime/license/ 权限、HTTPS 出站 |
| open_basedir 警告 | 一键脚本会写 .user.ini,改后重载 PHP |
更多安全要求见 29 安全加固;授权激活见 28 授权与安装接入。
九、授权站(独立,可选阅读)
财务客户端默认对接双节点授权站(各自独立库与授权码)。授权站要求 MySQL 5.7.x(推荐 5.7.44),与财务主站数据库版本要求不同。
- 1 号:解压
kede-license-server-v*.zip覆盖,保留public/_private/config.php与 pem - 2 号:解压
kede-license-server-node2-v*.zip,独立建库 - 人机验证:登录页点「点击完成人机验证」应弹出弹窗;伪静态需含
/captcha/
细节以授权站包内 DEPLOY.txt 为准。
十、备份建议
| 对象 | 方式 |
|---|---|
| 数据库 | mysqldump 定时任务 |
| 代码 | git / 整站 zip;热更新前系统会自动打 backup |
| 授权与密钥 | .env、runtime/license/ |
| 扩展 | public/plugins/、public/themes/、extend/ |