宝塔面板部署教程
从零开始,12步完成易网SaaS免费版的完整部署。适合零基础用户,图文清晰,每一步都可操作。
安装宝塔面板
服务器要求
| 项目 | 要求 |
|---|---|
| 操作系统 | CentOS 7.x / Ubuntu 20.04+ / Debian 10+(推荐 Ubuntu 22.04) |
| 内存 | 至少 1GB(推荐 2GB+) |
| 硬盘 | 至少 20GB |
| 开放端口 | 8888(宝塔面板)、80(HTTP)、443(HTTPS) |
安装命令
根据你的操作系统选择对应命令,SSH连接服务器后执行:
安装完成后终端会显示面板地址、初始账号和密码。
安装LNMP环境
安装套件
首次登录宝塔面板会弹出「推荐安装套件」,选择 LNMP:
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| Nginx | 1.24+ | Web服务器 |
| MySQL | 5.7 或 8.0 | 5.7更稳定,8.0性能更好 |
| PHP | 7.4 或 8.0 | 必须 ≥ 7.4,推荐 8.0 |
| phpMyAdmin | 最新版 | 数据库管理工具(可选) |
点击「极速安装」,等待5-15分钟完成。
安装PHP扩展
PHP安装完成后,需开启必要扩展:
- 左侧菜单 → 软件商店 → 找到已安装的PHP版本 → 点击「设置」
- 切换到「安装扩展」标签页
- 确保以下扩展已安装并启用:
| 扩展名 | 级别 | 说明 |
|---|---|---|
| pdo_mysql | 必须 | 数据库连接(核心) |
| openssl | 必须 | 知岁OS加密通信 |
| curl | 必须 | API请求 |
| mbstring | 必须 | 中文字符处理 |
| json | 必须 | JSON数据处理 |
| gd | 推荐 | 图片处理 |
| fileinfo | 推荐 | 文件上传检测 |
| session | 必须 | 会话管理(默认已开) |
调整PHP Session配置
教务数据使用SESSION缓存(生命周期8天),必须调整PHP的session配置:
PHP设置 → 「配置修改」标签页
找到 session.gc_maxlifetime 改为 691200(8天 = 86400 × 8)
找到 session.cookie_lifetime 改为 691200
点击「保存」
config.php 中也有 ini_set 设置,双重保障。但如果PHP全局配置更小,SESSION可能提前过期,所以必须同时修改PHP配置。创建网站
添加站点
左侧菜单 → 网站 → 点击「添加站点」
填写域名、根目录、PHP版本
选择「创建数据库」,填写数据库名、用户名、密码
点击「提交」
| 项目 | 填写内容 |
|---|---|
| 域名 | 你的域名,如 yike.example.com(暂无域名填服务器IP) |
| 根目录 | 默认路径,保持不变即可 |
| PHP版本 | 选择已安装的PHP版本 |
| 数据库名 | yike_saas |
| 数据库用户名 | yike_saas |
| 数据库密码 | 点击「生成」按钮自动创建,请记录下来 |
上传项目文件
左侧菜单 → 网站 → 找到站点 → 点击「根目录」
删除根目录下的默认文件(index.html、404.html等)
点击「上传」按钮,将项目所有文件上传到根目录
上传后目录结构应如下:
导入数据库
方法一:宝塔面板导入(推荐新手)
左侧菜单 → 数据库 → 找到 yike_saas → 点击「管理」
进入 phpMyAdmin → 点击顶部「导入」标签
选择文件 → 浏览选择项目中的 database.sql → 点击「执行」
左侧应能看到已创建的表:admin_users、settings、popups、users 等
方法二:命令行导入
输入第三步创建的数据库密码。
修改配置文件
编辑 config.php
宝塔面板 → 文件 → 进入网站根目录
找到 config.php → 点击「编辑」
修改以下配置项:
DEBUG 必须设为 false,否则会暴露敏感错误信息!同步数据库中的站点配置
database.sql 已导入默认配置,但 site_url 需要更新为你的实际域名:
设置文件权限
宝塔面板操作
左侧菜单 → 文件 → 进入网站根目录
选中整个项目文件夹 → 点击「权限」
权限 755,所有者 www,勾选「递归」
点击「确定」
特殊目录
| 目录 | 权限 | 说明 |
|---|---|---|
uploads/ | 755 | 文件上传(头像、群二维码等) |
配置SSL证书(可选但推荐)
免费SSL — Let's Encrypt
网站 → 点击站点名称 → 「SSL」标签
选择「Let's Encrypt」→ 勾选域名 → 点击「申请」
申请成功后,开启「强制HTTPS」
config.php 和 settings 表中的 SITE_URL 改为 https:// 开头。访问与测试
访问前台
浏览器打开:http://你的域名/index.php
访问后台管理
浏览器打开:http://你的域名/admin/login.php
| 项目 | 默认值 |
|---|---|
| 账号 | admin |
| 密码 | admin123 |
admin123 太弱。测试知岁OS同步
在前台注册/登录一个测试账号
进入「导入知岁OS数据」页面
输入知岁OS数据密钥(需先从知岁OS小程序获取)
同步课表/成绩等数据,验证页面是否正常显示
常见问题排查
页面空白 / 500错误
- 检查
config.php数据库配置是否正确 - 检查PHP版本 ≥ 7.4
- 检查
pdo_mysql扩展是否启用 - 宝塔面板 → 网站 → 你的站点 → 日志,查看错误日志
数据库连接失败
- 确认
config.php中 DB_USER/DB_PASS/DB_NAME 与宝塔创建的数据库一致 - 确认数据库用户有访问权限(宝塔 → 数据库 → 点击权限 → 选择「所有人」或指定IP)
SESSION数据丢失 / 同步后刷新丢失
- 检查PHP
session.gc_maxlifetime是否 ≥ 691200 - 检查
config.php中 SESSION 配置是否生效 - 宝塔面板 → PHP设置 → 配置修改 → 检查session配置
- 检查
/tmp或 session存储目录权限
微信登录不工作
- 确认已配置HTTPS(微信回调必须HTTPS)
- 确认
WECHAT_APPID和WECHAT_SECRET正确 - 确认公众号回调地址:
https://你的域名/pages/wechat-callback.php - 检查公众号是否已认证(未认证的订阅号无网页授权能力)
知岁OS同步返回203
Nginx伪静态问题
如果URL访问异常,配置Nginx伪静态:
在 网站 → 你的站点 → 「伪静态」标签中填入并保存。
安全加固
| 项目 | 操作 | 重要性 |
|---|---|---|
| 修改宝塔面板入口 | 面板设置 → 修改「面板入口」和密码,不要用默认路径 | 必须 |
| 修改管理员密码 | 后台 → 系统配置 → 修改密码(默认 admin123 太弱) | 必须 |
| 关闭DEBUG模式 | config.php 中 DEBUG 设为 false(已默认关闭) | 必须 |
| 防火墙设置 | 宝塔 → 安全 → 只开放 80、443、8888 端口 | 推荐 |
数据说明
| 数据类型 | 存储方式 | 生命周期 | 说明 |
|---|---|---|---|
| 用户信息 | 数据库 | 永久 | 注册、微信绑定等 |
| 系统配置 | 数据库(settings表) | 永久 | 站点、学期、知岁OS等 |
| 课表数据 | SESSION | 8天 | 每次同步知岁OS刷新 |
| 成绩数据 | SESSION | 8天 | 每次同步知岁OS刷新 |
| 学业进度 | SESSION | 8天 | 每次同步知岁OS刷新 |
| 空教室 | SESSION | 8天 | 每次同步知岁OS刷新 |
| 考试安排 | SESSION | 8天 | 每次同步知岁OS刷新 |
| 自定义课程 | SESSION | 8天 | 用户手动添加 |
后续维护
| 维护项 | 频率 | 操作路径 |
|---|---|---|
| 数据库备份 | 每日/每周 | 宝塔 → 计划任务 → 添加数据库备份 |
| 知岁OS数据同步 | 每周 | 前台 → 导入知岁OS数据 |
| PHP/MySQL更新 | 按需 | 宝塔 → 软件商店 → 更新 |
| 日志排查 | 定期 | 网站 → 日志 → 查看错误日志 |