常见问题解答 (FAQ)
本文档回答 Yuan-ICP 系统用户最常遇到的问题。
🔧 安装与部署
Q: Yuan-ICP 支持哪些操作系统?
A: Yuan-ICP 支持所有主流操作系统:
- Linux: Ubuntu、CentOS、Debian、Red Hat 等
- Windows: Windows Server、Windows 10/11
- macOS: macOS 10.14 及以上版本
- 容器: Docker、LXC 等容器环境
Q: 系统的最低要求是什么?
A: 最低系统要求:
- PHP: 7.4 或更高版本
- 内存: 512MB RAM(推荐 1GB+)
- 存储: 100MB 可用空间
- 数据库: SQLite 3.8+ / MySQL 5.7+ / PostgreSQL 9.5+
- Web服务器: Apache 2.4+ / Nginx 1.18+
Q: 如何选择数据库类型?
A: 数据库选择建议:
- SQLite: 适合小型部署、测试环境,零配置
- MySQL: 适合生产环境、高并发场景
- PostgreSQL: 适合复杂查询、数据完整性要求高的场景
Q: 安装过程中遇到权限问题怎么办?
A: 常见权限问题解决方案:
bash
# 设置目录权限
sudo chown -R www-data:www-data /var/www/yuan-icp
sudo chmod -R 755 /var/www/yuan-icp
sudo chmod -R 777 /var/www/yuan-icp/uploads
sudo chmod -R 777 /var/www/yuan-icp/data
# 检查 SELinux 状态(CentOS/RHEL)
sudo sestatus
sudo setsebool -P httpd_can_network_connect 1
📧 邮件配置
Q: 支持哪些邮件服务商?
A: 支持所有标准 SMTP 服务商:
- 国内: QQ邮箱、163邮箱、126邮箱、新浪邮箱
- 国外: Gmail、Outlook、Yahoo、ProtonMail
- 企业: 自建邮件服务器、Exchange 服务器
Q: 邮件发送失败怎么办?
A: 邮件发送失败排查步骤:
- 检查 SMTP 配置参数
- 验证邮箱账号和密码
- 确认端口和加密方式
- 检查网络连接和防火墙
- 查看系统错误日志
Q: 如何测试邮件配置?
A: 邮件配置测试方法:
php
<?php
require_once 'includes/functions.php';
$result = send_email(
'test@example.com',
'测试邮件',
'这是一封测试邮件',
'noreply@example.com'
);
if ($result) {
echo "邮件发送成功";
} else {
echo "邮件发送失败";
}
?>
🗄️ 数据库管理
Q: 如何备份数据库?
A: 数据库备份方法:
bash
# SQLite 备份
cp data/database.sqlite backup/database_$(date +%Y%m%d).sqlite
# MySQL 备份
mysqldump -u username -p database_name > backup/database_$(date +%Y%m%d).sql
# PostgreSQL 备份
pg_dump -U username -h hostname database_name > backup/database_$(date +%Y%m%d).sql
Q: 数据库性能优化建议?
A: 性能优化建议:
- 添加索引:为常用查询字段添加索引
- 查询优化:使用 LIMIT 分页,避免 SELECT *
- 连接池:配置数据库连接池
- 定期维护:定期清理日志和临时数据
Q: 如何迁移到其他数据库?
A: 数据库迁移步骤:
- 备份当前数据库
- 安装目标数据库驱动
- 修改配置文件
- 导入数据
- 测试功能完整性
🌐 网站配置
Q: 如何配置 HTTPS?
A: HTTPS 配置步骤:
- 获取 SSL 证书(Let's Encrypt 免费)
- 配置 Web 服务器
- 设置强制 HTTPS 重定向
- 更新系统配置中的 URL
Q: 如何设置自定义域名?
A: 域名配置步骤:
- 修改 DNS 记录指向服务器
- 配置 Web 服务器虚拟主机
- 更新系统设置中的网站 URL
- 配置 SSL 证书
Q: 如何优化网站性能?
A: 性能优化建议:
- 启用缓存:配置系统缓存
- 压缩资源:启用 Gzip 压缩
- CDN 加速:使用 CDN 加速静态资源
- 图片优化:压缩和优化图片
🔐 安全与权限
Q: 如何保护管理员账号?
A: 安全建议:
- 使用强密码(字母+数字+特殊字符)
- 定期更换密码
- 限制登录 IP 地址
- 启用双因素认证(如果支持)
- 监控登录日志
Q: 如何防止 SQL 注入?
A: 系统已内置防护:
- 使用 PDO 预处理语句
- 输入验证和过滤
- 参数绑定
- 错误信息隐藏
Q: 如何配置防火墙?
A: 防火墙配置建议:
bash
# UFW (Ubuntu)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw enable
# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
📱 主题与界面
Q: 如何自定义主题?
A: 主题自定义步骤:
- 复制默认主题到新目录
- 修改 CSS 样式文件
- 调整 HTML 模板
- 更新主题配置文件
- 在后台切换主题
Q: 主题不显示怎么办?
A: 主题问题排查:
- 检查主题文件完整性
- 验证文件权限
- 清理系统缓存
- 检查主题配置
- 查看错误日志
Q: 如何添加自定义 CSS?
A: 添加自定义 CSS 方法:
- 在主题目录创建 custom.css
- 在模板中引入文件
- 使用钩子系统添加样式
- 通过插件系统扩展
🔌 插件系统
Q: 如何安装插件?
A: 插件安装方法:
- 上传安装:通过后台界面上传 ZIP 文件
- 手动安装:将插件目录复制到 plugins/ 目录
- Git 安装:克隆插件仓库到 plugins/ 目录
Q: 插件冲突怎么办?
A: 插件冲突解决:
- 禁用所有插件
- 逐个启用插件测试
- 检查插件依赖关系
- 更新插件到最新版本
- 联系插件开发者
Q: 如何开发自定义插件?
A: 插件开发步骤:
- 创建插件目录结构
- 编写 plugin.php 主文件
- 注册钩子和功能
- 测试插件功能
- 打包分发
📊 数据管理
Q: 如何批量导入号码?
A: 批量导入方法:
- 准备号码列表文件(每行一个号码)
- 在后台"号码池设置"中粘贴
- 选择是否为靓号
- 点击"添加到号码池"
Q: 如何导出备案数据?
A: 数据导出方法:
- 在后台"备案管理"页面
- 使用筛选和搜索功能
- 选择需要导出的数据
- 点击"导出"按钮
Q: 如何清理过期数据?
A: 数据清理建议:
- 定期清理日志文件
- 删除过期的临时文件
- 清理未使用的上传文件
- 优化数据库表结构
🚀 性能优化
Q: 系统响应慢怎么办?
A: 性能优化步骤:
- 检查数据库查询性能
- 优化 PHP 配置
- 启用 OPcache
- 使用 Redis 缓存
- 配置 CDN 加速
Q: 如何监控系统性能?
A: 性能监控方法:
- 查看系统日志
- 监控数据库性能
- 使用系统监控工具
- 分析访问日志
- 定期性能测试
Q: 高并发场景如何优化?
A: 高并发优化建议:
- 使用负载均衡
- 配置数据库读写分离
- 启用缓存系统
- 优化代码逻辑
- 使用队列处理任务
🔄 升级与维护
Q: 如何升级系统?
A: 系统升级步骤:
- 备份当前系统和数据
- 下载新版本源码
- 替换系统文件
- 运行升级脚本
- 测试功能完整性
Q: 升级失败怎么办?
A: 升级失败处理:
- 恢复备份数据
- 检查错误日志
- 验证系统要求
- 手动修复问题
- 重新执行升级
Q: 如何回滚到旧版本?
A: 版本回滚方法:
- 停止 Web 服务
- 恢复旧版本文件
- 恢复数据库备份
- 重启 Web 服务
- 验证系统功能
📞 技术支持
Q: 如何获取技术支持?
A: 技术支持渠道:
- GitHub Issues: 报告 Bug 和功能请求
- 社区论坛: 用户交流和问题解答
- 官方文档: 详细的使用说明
- 邮件支持: 重要问题直接联系
Q: 如何贡献代码?
A: 代码贡献流程:
- Fork 项目仓库
- 创建功能分支
- 编写代码和测试
- 提交 Pull Request
- 等待代码审查
Q: 如何报告 Bug?
A: Bug 报告要求:
- 详细描述问题现象
- 提供复现步骤
- 包含系统环境信息
- 附加错误日志
- 说明期望行为
🎯 最佳实践
Q: 生产环境部署建议?
A: 生产环境建议:
- 使用 HTTPS 加密
- 配置防火墙和入侵检测
- 定期备份数据
- 监控系统性能
- 制定应急预案
Q: 如何制定备份策略?
A: 备份策略建议:
- 全量备份: 每周一次完整备份
- 增量备份: 每日增量备份
- 异地备份: 重要数据异地存储
- 定期测试: 验证备份可恢复性
Q: 安全最佳实践?
A: 安全实践建议:
- 定期更新系统和依赖
- 使用强密码策略
- 限制管理员访问
- 监控异常活动
- 定期安全审计
如果您的问题未在本 FAQ 中找到答案,请:
- 搜索文档: 使用文档搜索功能
- 查看日志: 检查系统错误日志
- 社区求助: 在 GitHub Issues 中提问
- 联系支持: 发送邮件获取帮助
我们会在收到问题后及时更新 FAQ 内容,帮助更多用户解决问题。