安装部署教程
把「幸运塔罗牌占卜系统」部署到你自己的服务器上。本教程以宝塔面板为例,从零开始全程约 10 分钟,无需任何运维经验。
本系统为 PHP + MySQL 独立部署版:源码、78 张牌面图片全部内置打包,不依赖任何外部接口、图床或克隆服务,上传解压、填好数据库即可运行。
准备服务器与宝塔面板
在阿里云 / 腾讯云 / 华为云等平台购买一台云服务器(ECS / 轻量应用服务器均可),系统选择 Ubuntu 20.04+、Debian 11+ 或 CentOS 7.9+,最低 1核2G 即可流畅运行。云厂商控制台「安全组」放行 80 / 443 / 22 端口(安装宝塔还需临时放行 8888)。
SSH 登录服务器后,执行宝塔官方一键脚本(CentOS / Debian / Ubuntu 通用):
url=https://download.bt.cn/install/install_lts.sh && if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi && bash install_lts.sh ed84867bec
安装约 2~5 分钟,完成后终端会输出面板地址、用户名、密码,请妥善保存。首次登录绑定宝塔账号,推荐安装套件选择 LNMP(Nginx + MySQL 5.7+ + PHP-7.4)。
创建网站与数据库
宝塔左侧菜单「网站」→「添加站点」,按以下参数填写后提交:
| 配置项 | 推荐值 / 说明 |
|---|---|
| 域名 | your-domain.com(替换为你的真实域名,需已解析 A 记录到服务器 IP) |
| 根目录 | /www/wwwroot/lucky-tarot(宝塔自动创建,保持默认) |
| 数据库 | MySQL,字符集 utf8mb4(记录自动生成的库名 / 用户名 / 密码) |
| PHP 版本 | PHP-74(或 80 / 81,系统全面兼容 7.4~8.1) |
创建后进入「软件商店」→ PHP-7.4 → 设置 →「安装扩展」,确认 pdo_mysql、curl、fileinfo、mbstring、zip 均已启用(宝塔默认已装,缺哪个点哪个一键安装)。
上传源码并解压(关键步骤)
宝塔「文件」进入站点根目录,点击「上传」将交付的 zip 安装包上传到该目录并解压。解压后默认会多一层 lucky-tarot-php/ 文件夹,必须把该文件夹内所有文件移动到站点根目录,确保 index.php 直接位于根目录:
/www/wwwroot/lucky-tarot/ ├── index.php ← 必须直接在这里 ├── admin/ ├── assets/ ├── install/ ├── includes/ ├── data/ └── ...(其他文件)
宝塔快速移动:进入 lucky-tarot-php/ 全选 →「剪切」→ 返回根目录「粘贴」→ 删除空文件夹。
配置 Nginx 伪静态与安全拦截
宝塔「网站」→ 站点「设置」→「伪静态」,粘贴以下内容并保存:
# 敏感目录拦截(data 目录禁止外部访问)
location ^~ /data/ { deny all; return 404; }
# 禁止访问敏感文件后缀
location ~* \.(sql|log|lock|md|ini)$ { deny all; return 404; }
# 前台伪静态:非文件请求回落到 index.php
location / {
try_files $uri $uri/ /index.php?$query_string;
}
保存后宝塔自动重载 Nginx。Apache 用户无需配置(系统自带 .htaccess,开启 mod_rewrite 即可)。
运行安装向导(1~2 秒完成)
浏览器访问你的域名,系统会自动检测未安装状态并跳转安装向导:
- 第 1 步自动检测环境(PHP 版本、PDO MySQL、目录可写),全部绿色 ✓ 后进入下一步;
- 第 2 步填写数据库信息:主机
127.0.0.1、端口3306、库名 / 用户名 / 密码填宝塔生成的值,表前缀保持默认lt_; - 设置站点名称与管理员账号密码(至少 6 位,建议混合大小写+数字),点击「开始安装」。
安装程序将在 1~2 秒内创建全部数据表、写入默认配置并生成管理员账号。
install/ 目录重命名或删除,彻底防止重复安装。初始化 78 张塔罗牌(安装后必做)
安装完成后数据库仅有空表结构,必须初始化牌库后前台才能抽牌:
- 访问
你的域名/admin/login.php,用安装时设置的管理员账号登录; - 左侧导航点击「克隆与同步」;
- 点击「一键初始化本地 78 张牌」,系统从本地预置数据写入数据库,秒级完成;
- 点击「前往前台」,即可正常开始塔罗占卜。
分站部署如需同步主站图片与数据:在「克隆与同步」页填写主站网址与克隆密钥,一键远程同步。
HTTPS 与安全加固(强烈建议)
- 宝塔「网站」→ 站点「设置」→ SSL → 申请 Let's Encrypt 免费证书,开启「强制 HTTPS」(支付回调、微信分享等需要 HTTPS);
- 宝塔「安全」菜单仅放行 80 / 443 / 22 端口,8888 面板端口建议限制内网访问;
- 宝塔「计划任务」设置每日自动备份网站与数据库,保留 7 天;
- 高安全场景可将
admin/目录重命名为复杂名称。
常见问题排查
站点根目录未指向 index.php 所在目录,或伪静态未配置。对照第 3、4 步检查。
assets/cards/ 目录未上传完整(应有 78 张图片),或 Nginx 存在误拦截规则,删除即可。
数据库连接超时或 MySQL 未启动。宝塔「数据库」菜单重启 MySQL,检查 data/ 目录权限(755、属主 www)与密码是否正确。
服务器无法访问外网或未配置更新地址。将 update.json 与更新包托管到自己的服务器 / OSS,修改 includes/bootstrap.php 中的 UPDATE_SERVER 常量。
异步回调被拦截或未开 HTTPS。放行 80 / 443 端口,确认支付平台回调地址为 https://域名/notify.php,并查宝塔日志确认 POST 请求。