BugFree缺陷管理系统部署全流程指南(含PHP+MySQL环境配置详解)

一、环境准备阶段

1.1 基础环境要求

BugFree作为基于LAMP架构开发的缺陷管理系统,对运行环境有明确要求:PHP版本需限定在5.2-5.6区间(因系统架构较老旧),MySQL建议使用5.0及以上版本。对于开发测试环境,推荐采用集成式开发套件(如XAMPP/WAMP),其预装Apache+PHP+MySQL的组合可大幅降低配置复杂度;生产环境则建议使用主流云服务商提供的标准化Linux环境(如CentOS 7+),搭配LNMP或宝塔面板实现快速部署。

1.2 依赖组件安装

在Linux生产环境中,需通过包管理器完成基础组件安装:

  1. # CentOS系统示例
  2. yum install httpd php php-mysql mysql-server -y
  3. systemctl start httpd mysqld

对于Windows开发环境,下载XAMPP安装包后需特别注意:安装路径不应包含中文或特殊字符,且需在控制面板中手动启动Apache和MySQL服务。建议通过http://localhost/phpmyadmin验证数据库服务是否正常启动。

1.3 源代码处理

从官方托管仓库获取压缩包后,需使用专业解压工具处理:

  • Windows环境推荐7-Zip(支持RAR/ZIP双格式)
  • Linux环境使用unrar x bugfree.rar命令解压
    解压后应获得包含完整项目文件的目录结构,重点检查以下关键目录是否存在:
    1. bugfree/
    2. ├── protected/ # 核心配置目录
    3. ├── Attachment/ # 附件存储目录
    4. ├── Data/ # 数据缓存目录
    5. └── Log/ # 系统日志目录

二、系统部署实施

2.1 目录权限配置

Linux环境需通过chmod命令设置可写权限(建议755权限,特殊情况可用777):

  1. chmod -R 755 /var/www/html/bugfree/{Attachment,Data,Log}
  2. chown -R apache:apache /var/www/html/bugfree # 根据实际web用户调整

Windows环境则需在目录属性中:

  1. 取消”只读”属性
  2. 添加IIS_IUSRS或NETWORK SERVICE用户
  3. 赋予”修改”权限

2.2 数据库创建

通过命令行或可视化工具创建专用数据库:

  1. CREATE DATABASE bugfree_db
  2. CHARACTER SET utf8 COLLATE utf8_general_ci;
  3. CREATE USER 'bugfree_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
  4. GRANT ALL PRIVILEGES ON bugfree_db.* TO 'bugfree_user'@'localhost';
  5. FLUSH PRIVILEGES;

安全建议:生产环境应限制数据库用户权限,仅授予SELECT/INSERT/UPDATE/DELETE必要权限

2.3 核心配置修改

编辑protected/config/main.php文件,重点修改以下参数:

  1. 'db'=>array(
  2. 'connectionString' => 'mysql:host=127.0.0.1;dbname=bugfree_db',
  3. 'emulatePrepare' => true, // 老版本PHP兼容设置
  4. 'username' => 'bugfree_user',
  5. 'password' => 'StrongPassword123!',
  6. 'charset' => 'utf8',
  7. ),
  8. 'components'=>array(
  9. 'user'=>array(
  10. 'allowAutoLogin'=>true,
  11. 'loginUrl'=>array('/site/login'),
  12. ),
  13. ),

配置技巧:对于高并发场景,建议在my.cnf中增加max_allowed_packet=64M参数优化大附件上传

2.4 安装向导执行

访问安装页面时需注意:

  1. 必须通过HTTP协议访问(如http://server_ip/bugfree
  2. 环境检测阶段会验证PHP扩展(需开启pdo_mysql、gd库)
  3. 管理员账号建议采用强密码策略(包含大小写字母+数字+特殊字符)

故障排查:若出现”Database connection failed”错误,应:

  • 检查MySQL服务是否运行
  • 验证防火墙是否放行3306端口
  • 确认配置文件中的数据库名与实际创建的名称完全一致

三、部署后优化

3.1 安全加固措施

  1. 删除或重命名install目录(防止重新安装)
  2. 修改默认后台路径(通过.htaccess重写规则实现)
  3. 配置HTTPS加密传输(获取SSL证书后修改Apache虚拟主机配置)

3.2 性能优化建议

  • 附件存储:建议将Attachment目录挂载至独立磁盘或对象存储服务
  • 会话存储:修改protected/config/main.php中的session配置,使用数据库存储会话
    1. 'session' => array(
    2. 'class' => 'CDbHttpSession',
    3. 'connectionID' => 'db',
    4. 'autoCreateSessionTable' => false,
    5. 'sessionTableName' => 'bf_session',
    6. ),

四、系统初始化操作

4.1 基础数据配置

登录后台后应立即完成:

  1. 系统参数设置(时区、邮件服务器配置)
  2. 用户角色定义(建议区分管理员、项目经理、测试员、开发员角色)
  3. 自定义字段配置(根据项目需求扩展Bug属性)

4.2 项目创建流程

通过”项目管理→新建项目”完成初始化:

  • 项目编码规则设置(建议采用”部门-项目-模块”三级结构)
  • 工作流配置(定义Bug从创建到关闭的生命周期状态)
  • 权限矩阵设置(精确控制不同角色对项目的操作权限)

4.3 Bug提交规范

建议制定内部规范要求提交时包含:

  1. 清晰的复现步骤(按操作顺序编号列出)
  2. 完整的系统环境信息(浏览器版本、操作系统等)
  3. 必要的截图或录屏证据
  4. 明确的严重程度评估(参照ISO 25010标准划分)

五、运维监控方案

5.1 日志管理

配置日志轮转策略防止Log目录膨胀:

  1. # /etc/logrotate.d/bugfree 示例配置
  2. /var/www/html/bugfree/Log/*.log {
  3. daily
  4. missingok
  5. rotate 7
  6. compress
  7. delaycompress
  8. notifempty
  9. create 644 apache apache
  10. }

5.2 备份策略

建议采用全量+增量备份组合方案:

  • 每日凌晨3点执行MySQL全量备份
  • 每小时通过rsync同步附件目录
  • 备份数据存储于异机或云存储服务

5.3 监控告警

通过主流监控工具设置以下告警规则:

  1. 磁盘空间使用率>85%
  2. MySQL连接数持续10分钟>80%峰值
  3. HTTP 5xx错误率>5%

本文详细阐述了BugFree系统从环境准备到运维监控的全生命周期管理方案,技术团队可根据实际场景调整实施细节。对于中大型企业,建议考虑基于容器化技术构建高可用集群,结合CI/CD流水线实现自动化部署升级。