一、环境准备阶段
1.1 基础环境要求
BugFree作为基于LAMP架构开发的缺陷管理系统,对运行环境有明确要求:PHP版本需限定在5.2-5.6区间(因系统架构较老旧),MySQL建议使用5.0及以上版本。对于开发测试环境,推荐采用集成式开发套件(如XAMPP/WAMP),其预装Apache+PHP+MySQL的组合可大幅降低配置复杂度;生产环境则建议使用主流云服务商提供的标准化Linux环境(如CentOS 7+),搭配LNMP或宝塔面板实现快速部署。
1.2 依赖组件安装
在Linux生产环境中,需通过包管理器完成基础组件安装:
# CentOS系统示例yum install httpd php php-mysql mysql-server -ysystemctl start httpd mysqld
对于Windows开发环境,下载XAMPP安装包后需特别注意:安装路径不应包含中文或特殊字符,且需在控制面板中手动启动Apache和MySQL服务。建议通过http://localhost/phpmyadmin验证数据库服务是否正常启动。
1.3 源代码处理
从官方托管仓库获取压缩包后,需使用专业解压工具处理:
- Windows环境推荐7-Zip(支持RAR/ZIP双格式)
- Linux环境使用
unrar x bugfree.rar命令解压
解压后应获得包含完整项目文件的目录结构,重点检查以下关键目录是否存在:bugfree/├── protected/ # 核心配置目录├── Attachment/ # 附件存储目录├── Data/ # 数据缓存目录└── Log/ # 系统日志目录
二、系统部署实施
2.1 目录权限配置
Linux环境需通过chmod命令设置可写权限(建议755权限,特殊情况可用777):
chmod -R 755 /var/www/html/bugfree/{Attachment,Data,Log}chown -R apache:apache /var/www/html/bugfree # 根据实际web用户调整
Windows环境则需在目录属性中:
- 取消”只读”属性
- 添加IIS_IUSRS或NETWORK SERVICE用户
- 赋予”修改”权限
2.2 数据库创建
通过命令行或可视化工具创建专用数据库:
CREATE DATABASE bugfree_dbCHARACTER SET utf8 COLLATE utf8_general_ci;CREATE USER 'bugfree_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';GRANT ALL PRIVILEGES ON bugfree_db.* TO 'bugfree_user'@'localhost';FLUSH PRIVILEGES;
安全建议:生产环境应限制数据库用户权限,仅授予SELECT/INSERT/UPDATE/DELETE必要权限
2.3 核心配置修改
编辑protected/config/main.php文件,重点修改以下参数:
'db'=>array('connectionString' => 'mysql:host=127.0.0.1;dbname=bugfree_db','emulatePrepare' => true, // 老版本PHP兼容设置'username' => 'bugfree_user','password' => 'StrongPassword123!','charset' => 'utf8',),'components'=>array('user'=>array('allowAutoLogin'=>true,'loginUrl'=>array('/site/login'),),),
配置技巧:对于高并发场景,建议在my.cnf中增加max_allowed_packet=64M参数优化大附件上传
2.4 安装向导执行
访问安装页面时需注意:
- 必须通过HTTP协议访问(如
http://server_ip/bugfree) - 环境检测阶段会验证PHP扩展(需开启pdo_mysql、gd库)
- 管理员账号建议采用强密码策略(包含大小写字母+数字+特殊字符)
故障排查:若出现”Database connection failed”错误,应:
- 检查MySQL服务是否运行
- 验证防火墙是否放行3306端口
- 确认配置文件中的数据库名与实际创建的名称完全一致
三、部署后优化
3.1 安全加固措施
- 删除或重命名install目录(防止重新安装)
- 修改默认后台路径(通过.htaccess重写规则实现)
- 配置HTTPS加密传输(获取SSL证书后修改Apache虚拟主机配置)
3.2 性能优化建议
- 附件存储:建议将Attachment目录挂载至独立磁盘或对象存储服务
- 会话存储:修改
protected/config/main.php中的session配置,使用数据库存储会话'session' => array('class' => 'CDbHttpSession','connectionID' => 'db','autoCreateSessionTable' => false,'sessionTableName' => 'bf_session',),
四、系统初始化操作
4.1 基础数据配置
登录后台后应立即完成:
- 系统参数设置(时区、邮件服务器配置)
- 用户角色定义(建议区分管理员、项目经理、测试员、开发员角色)
- 自定义字段配置(根据项目需求扩展Bug属性)
4.2 项目创建流程
通过”项目管理→新建项目”完成初始化:
- 项目编码规则设置(建议采用”部门-项目-模块”三级结构)
- 工作流配置(定义Bug从创建到关闭的生命周期状态)
- 权限矩阵设置(精确控制不同角色对项目的操作权限)
4.3 Bug提交规范
建议制定内部规范要求提交时包含:
- 清晰的复现步骤(按操作顺序编号列出)
- 完整的系统环境信息(浏览器版本、操作系统等)
- 必要的截图或录屏证据
- 明确的严重程度评估(参照ISO 25010标准划分)
五、运维监控方案
5.1 日志管理
配置日志轮转策略防止Log目录膨胀:
# /etc/logrotate.d/bugfree 示例配置/var/www/html/bugfree/Log/*.log {dailymissingokrotate 7compressdelaycompressnotifemptycreate 644 apache apache}
5.2 备份策略
建议采用全量+增量备份组合方案:
- 每日凌晨3点执行MySQL全量备份
- 每小时通过rsync同步附件目录
- 备份数据存储于异机或云存储服务
5.3 监控告警
通过主流监控工具设置以下告警规则:
- 磁盘空间使用率>85%
- MySQL连接数持续10分钟>80%峰值
- HTTP 5xx错误率>5%
本文详细阐述了BugFree系统从环境准备到运维监控的全生命周期管理方案,技术团队可根据实际场景调整实施细节。对于中大型企业,建议考虑基于容器化技术构建高可用集群,结合CI/CD流水线实现自动化部署升级。