================================================================================
          蚂蚁视频CMS · 宝塔面板安装指南（一步一步）
================================================================================
适用：宝塔 Linux 面板 + Nginx + MySQL/MariaDB + Node.js
程序端口默认：3000（可在宝塔 Node 项目里改）


--------------------------------------------------------------------------------
第 0 步：准备
--------------------------------------------------------------------------------

你需要有：
  1）一台已装好宝塔的服务器
  2）一个域名（可先用 IP 测试）
  3）本程序压缩包（完整包，不要漏 lib/.seal 等目录）

建议软件版本：
  - Node.js 18 LTS（最低 16.18+）
  - MySQL 5.7 / 8.0 或 MariaDB 10.5+
  - Nginx（宝塔自带即可）


--------------------------------------------------------------------------------
第 1 步：宝塔安装运行环境
--------------------------------------------------------------------------------

1. 登录宝塔面板
2. 打开「软件商店」，安装以下软件（已装可跳过）：
   - Nginx
   - MySQL 8.0（或 5.7 / MariaDB）
   - PM2管理器 或 直接用「网站 → Node项目」（推荐 Node 项目）
   - Node.js 版本管理器

3. 打开「Node.js 版本管理器」
   - 安装 v18（没有就装列表里最新的 LTS）
   - 设为命令行默认版本

4. 打开宝塔「终端」，执行：

   node -v
   npm -v

   正常会显示版本号，例如：
   v18.20.0
   10.x.x

   若提示找不到命令，先执行（版本目录按你机器实际改）：

   ls /www/server/nodejs/
   export PATH=/www/server/nodejs/v18.20.0/bin:$PATH
   node -v


--------------------------------------------------------------------------------
第 2 步：创建数据库
--------------------------------------------------------------------------------

1. 宝塔 → 「数据库」→ 「添加数据库」
2. 填写：
   - 数据库名：例如 mayi_cms
   - 用户名：例如 mayi_cms（可与库名相同）
   - 密码：点生成，复制保存好
   - 访问权限：本地服务器
   - 编码：utf8mb4
3. 点提交，把「库名 / 用户名 / 密码」记到记事本


--------------------------------------------------------------------------------
第 3 步：上传程序
--------------------------------------------------------------------------------

方式 A（推荐）：宝塔文件管理上传
  1. 宝塔 → 「文件」
  2. 进入 /www/wwwroot/
  3. 新建目录，例如：mayi-cms
  4. 上传压缩包到该目录并「解压」
  5. 确保解压后能直接看到这些文件/文件夹：
       server.js
       package.json
       lib/
       public/
       config/
       scripts/

方式 B：终端上传后解压（示例）

   cd /www/wwwroot
   mkdir -p mayi-cms
   cd mayi-cms
   # 假设你已把 zip 传到当前目录，文件名按实际修改：
   unzip -o 蚂蚁CMS本次更新.zip
   # 若解压后多了一层目录，把内容挪到当前目录：
   # mv 解压出来的目录名/* ./

检查关键文件是否在：

   cd /www/wwwroot/mayi-cms
   ls -la server.js package.json lib public config
   ls -la lib/.seal


--------------------------------------------------------------------------------
第 4 步：安装 Node 依赖
--------------------------------------------------------------------------------

在宝塔终端执行（路径改成你的实际目录）：

   cd /www/wwwroot/mayi-cms
   npm install --production

成功后会生成 node_modules 目录。

若 npm 很慢，可用：

   npm install --production --registry=https://registry.npmmirror.com


--------------------------------------------------------------------------------
第 5 步：添加网站（域名）
--------------------------------------------------------------------------------

1. 宝塔 → 「网站」→ 「添加站点」
2. 域名：填你的域名（如 video.example.com）
3. 根目录：选 /www/wwwroot/mayi-cms
4. FTP / 数据库：可不创建（数据库第 2 步已建）
5. PHP：纯静态 或不选（本程序是 Node，不靠 PHP）


--------------------------------------------------------------------------------
第 6 步：用宝塔「Node项目」启动程序
--------------------------------------------------------------------------------

1. 宝塔 → 「网站」→ 「Node项目」→ 「添加 Node 项目」
2. 填写建议：
   - 项目名称：mayi-cms
   - 项目路径：/www/wwwroot/mayi-cms
   - 启动文件：server.js
   - 项目端口：3000
   - Node 版本：选已安装的 v18
   - 包管理器：npm
   - 启动方式：node / 或按面板选项选「node server.js」
3. 保存并启动
4. 看运行日志，应出现类似：

   蚂蚁CMS 已启动: http://127.0.0.1:3000
   首次安装: http://127.0.0.1:3000/install

   （若已装过库，可能不会出现「首次安装」提示，属正常）

终端也可手动测试启动（面板已跑着时不要重复开）：

   cd /www/wwwroot/mayi-cms
   node server.js

本机探测端口（可选）：

   curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3000/install


--------------------------------------------------------------------------------
第 7 步：Nginx 反向代理到 Node
--------------------------------------------------------------------------------

1. 宝塔 → 「网站」→ 点你的站点「设置」
2. 打开「反向代理」→ 「添加反向代理」
3. 填写：
   - 代理名称：node
   - 目标URL：http://127.0.0.1:3000
   - 发送域名：$host
4. 提交

高级用户也可在「配置文件」里加入（示例）：

   location / {
       proxy_pass http://127.0.0.1:3000;
       proxy_http_version 1.1;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
   }

保存后重载 Nginx：

   nginx -t && nginx -s reload

   # 或在宝塔点「重载配置」


--------------------------------------------------------------------------------
第 8 步：打开安装向导（重要）
--------------------------------------------------------------------------------

浏览器访问：

   http://你的域名/install
   或
   http://服务器IP/install

填写：
  - 数据库主机：127.0.0.1
  - 端口：3306
  - 数据库用户 / 密码 / 库名：填第 2 步创建的
  - 管理员账号：默认 admin（可改）
  - 管理员密码：默认 admin123（请改成自己的，至少 6 位）
  - 后台入口路径：建议保留随机值（如 mayi_a1b2c3d4）

点「开始安装」。

成功后页面会显示：
  - 管理员账号密码
  - 后台登录地址（请立刻收藏！）

然后到宝塔把 Node 项目「重启」一次。


--------------------------------------------------------------------------------
第 9 步：登录后台
--------------------------------------------------------------------------------

打开安装成功页给出的地址，例如：

   http://你的域名/mayi_xxxxxx/login

默认（若安装时未改）：
  账号：admin
  密码：admin123

登录后建议立刻：
  1）「账号安全」修改密码
  2）「站点设置」改站点名称等
  3）「授权激活」填写授权码（若已对接授权）
  4）添加分类 / 采集 / 广告等

注意：若你改过后台入口路径，原来的 /admin 会打不开（防扫描），请用新路径。


--------------------------------------------------------------------------------
第 10 步：HTTPS（可选但推荐）
--------------------------------------------------------------------------------

1. 网站设置 → 「SSL」
2. 用 Let’s Encrypt 申请证书并开启「强制 HTTPS」


--------------------------------------------------------------------------------
常见问题
--------------------------------------------------------------------------------

【1】打开网站 502 / 无法访问
  - 看 Node 项目是否在运行
  - 端口是否真是 3000
  - 反向代理目标是否 http://127.0.0.1:3000
  终端检查：

    ss -lntp | grep 3000
    curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3000/install

【2】安装页提示数据库连接失败 / Access denied
  - 用户名密码与宝塔「数据库」里完全一致
  - host 用 127.0.0.1，不要用外网 IP
  - 库是否已创建

【3】安装成功但后台进不去
  - 是否用了安装页显示的「自定义入口」而不是 /admin
  - Node 是否已重启
  - 浏览器强制刷新 Ctrl+F5

【4】提示盗版 / 文件完整性异常
  - 上传不完整，或改过关键加密文件
  - 请用官方完整包重新覆盖（不要漏 lib/.seal）

【5】已经手动配过 mysql.json 的老站点
  - 有 config/mysql.json 时不会再进安装向导
  - 属正常；新站不要预先放 mysql.json

【6】想重装
  终端（危险操作，会清空安装标记；表需你自己在数据库里处理）：

    cd /www/wwwroot/mayi-cms
    rm -f config/install.lock
    # 如需连配置一起重来（会丢掉库连接信息）：
    # rm -f config/mysql.json
    # 然后重启 Node，再访问 /install


--------------------------------------------------------------------------------
常用终端命令速查
--------------------------------------------------------------------------------

# 进入目录
cd /www/wwwroot/mayi-cms

# 装依赖
npm install --production

# 看 Node 是否在听 3000
ss -lntp | grep 3000

# 本机访问测试
curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3000/install

# 重载 Nginx
nginx -t && nginx -s reload

# 看最近错误（若用宝塔 Node 项目，优先看面板日志）
# 或：
tail -n 100 /www/wwwroot/mayi-cms/*.log 2>/dev/null


--------------------------------------------------------------------------------
安装完成后你应该有
--------------------------------------------------------------------------------

  ✓ 网站域名已反代到 Node
  ✓ 数据库表已自动创建
  ✓ 管理员账号已生成
  ✓ 自定义后台入口已生效
  ✓ 可在后台继续设置分类、采集、广告、授权等

蚂蚁CMS · 作者：Future
================================================================================
