BUG管理系统运维记录(bugfree)

    xiaoxiao2022-07-15  229

    创建时间:     2013-06-18   最新版本:    1.3   制作者:       Teemo君   release 1.1  2013-06-08     文档初生成   release 1.2  2014-03-07      二次修改,添加维护记录   release 1.3  2014-03-11      BUG管理系统,再次修改放在blog   目的:  记录 工作轨迹,积累工作经验.  通过知识积累形成自己的运维体系。   工作过两间公司,都与开发打交道,需要为开发提供帮助, BUG管理系统是 软件开发必不可少的应用,   对软件生命周期直到很重要作用,运维必须掌握的应用之一。   文档已经形成一年多,不会对目前公司造成危害,可以通过外网发布。    需求:   cc company 属于创新型通信行业公司,旗下开发加 测试有n+2人,需要拥有自己的bug管理跟踪系统,以解决软件开发遇到的问题.  当前使用eazybug来维护,可是些软件需要收费和人员限制,出于成本和扩展性出发,需要选择开源软件在公司内服搭设服务器,以满足公司开发需求。   经过之前比对zentao,qc,JIRA等项目软件,其中QC属于重量级,安装麻烦且还要收费,排除;JIRA软件也不错,反正也由于某种原因,排除;zentao 禅道管理软件轻量级,小清新,可是测试说有点复杂。最后通过比对软件易用性和简单性,出于单纯只是解决bug管理的功能,最终选择使用 bugfree软件.    软件介绍:   BugFree是借鉴 微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理系统。简单实用、免费并且开放源代码(遵循GNU GPL).命名BugFree 有两层意思:一是希望软件中的缺陷越来越少直到没有,Free嘛;二是表 示它是免费且开放源代码的,大家可以自由使用传播。    补充说明:   由于版权纠纷,bugfree已经处于停止开发和技术支持,现在其官网和相关技术文档都少之又少了.之前的开始人员已经转入到zentao的开发系统中了,而且zentao项目管理系统更加优秀,功能更加强大,在yc公司有一年使用体验,推荐.   也是因为资料少之又少,写这个文档也是了留下技术资料,以备将来使用.   ################################分界线##########################################   1. 软件部署平台   RHEL 5.5   64位    2.6.18内核稳定版本   2. 所需相应软件下载   bugfree3.0.4.zip   php-json-ext-1.2.1.tar.bz2   3. 安装说明   bugfree 是由php开发,部署在LAMP平台即可,并且bugfree需要php-json扩展库的支持,以达到数据交互和展现,而这个软件包是系统默认安装的,而且yum源也没有json,需要我们手动编译.   出于业务的简单性,使用yum方式安装lamp软件系列,方便管理维护.   4. 安装LAMP涉及软件 # rpm -qa | grep php php-cli-5.1.6-27.el5 php-pdo-5.1.6-27.el5                 这个软件包特别注意下 php-pecl-json-1.2.1-4.el5 php-common-5.1.6-27.el5 php-devel-5.1.6-27.el5 php-mysql-5.1.6-27.el5 php-gd-5.1.6-27.el5 php-pear-1.4.9-8.el5 php-5.1.6-27.el5 # rpm -qa | grep  mysql mysql-server-5.0.77-4.el5_4.2 php-mysql-5.1.6-27.el5 mysql-devel-5.0.77-4.el5_4.2 mysql-devel-5.0.77-4.el5_4.2 mysql-5.0.77-4.el5_4.2 mysql-5.0.77-4.el5_4.2 # rpm -qa | grep httpd httpd-2.2.3-43.el5    5. 根据自己需求,找到对应版本的php-json库   下载地址: wgethttp://pkgs.fedoraproject.org/repo/pkgs/php-json/php-json-ext-1.2.1.tar.bz2/e06e701412a055f3372775216ec3d604/php-json-ext-1.2.1.tar.bz2    6. 之前的LAMP平台准备好,重启mysqld and httpd服务器,   接着执行相关操作,安装php-json扩展 #解压文件,并进行到目录 # tar -xjf php-json-ext-1.2.1.tar.bz2 #进入当前路径,并使用当前系统phpize刷新configure文件 # cd php-json-ext-1.2.1 # phpize Configuring for: PHP Api Version:         20041225 Zend Module Api No:      20050922 Zend Extension Api No:   220051025 #可以看到以configure等文件已经刷新到当前的时间了. # ll total 1468 -rw-r--r-- 1 10008 10008  66540 Jun 18 12:13 acinclude.m4 -rw-rw-r-- 1 10008 10008 298049 Jun 18 12:13 aclocal.m4 drwxr-xr-x 2 root  root    4096 Jun 18 12:13 autom4te.cache drwxrwxr-x 2 10008 10008   4096 Jun 18 12:13 build -rwxr-xr-x 1 10008 10008  42037 Jun 18 12:13 config.guess -rw-rw-r-- 1 10008 10008   1610 Mar 31  2006 config.h.in -rw-rw-r-- 1 10008 10008   2139 Jan 31  2006 config.m4 -rwxr-xr-x 1 10008 10008  30253 Jun 18 12:13 config.sub -rwxrwxr-x 1 10008 10008 658032 Jun 18 12:13 configure #进行默认当前路径编译,可以看到会生成一个我们需要的模块 # ./configure # make Libraries have been installed in: /root/php-json-ext-1.2.1/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- Build complete. (It is safe to ignore warnings about tempnam and tmpnam). #由此我们可以知道,其实YUM安装的LAMP创建的模块放置在/usr/lib64/php/modules/,上面的configure记录也不太可靠. # make install Installing shared extensions:     /usr/lib64/php/modules/ # ll /usr/lib64/php/modules/json.so -rwxr-xr-x 1 root root 92750 Jun 18 12:14 /usr/lib64/php/modules/json.so    7. php-json 验证   做完进行数据确认,是运维良好的习惯。重启httpd服务器以加载PHP配置,通过简单的phpinfo函数,   以确认已经支持json   spacer.gif@这是就不放图,大家都知道,需要通过php页面,了解此处php已经支持相关模块   ################################分界线##########################################    8. 实际安装bugfree软件   #解压目录,并移到httpd DocumentRoot下,再通过浏览器访问以下路径:   # unzip bugfree3.0.4.zip   # mv bugfree3.0.4 /var/www/html/bugfree   # chown -R apache.apache /var/www/html/bugfree    9. 访问下面连接,即可进行页面安装工作,根据自己情况调整   http://192.168.0.107/bugfree/install   bugfree安装十分简单,只需要三个步骤即可.   9.1 环境检查,如果有不符合的内容,按要求添加即可.   上面如果没有安装要求准备LAMP的软件,在环境检查时会报错的。   9.2 在数据库创建相应用户,界面会往自动调用,往里面创建表格.   细看一下那个创建数据表的文件,所创建的表格绝大部分是INNODB存储引擎创建的表格.   create database bugfree;   grant all privileges on bugfree.* to bugfree@localhost identified by "xxxx";   9.3  填写数据库连接信息,可以让应用与数据库交互   9.4  经过几分钟等待,就可以完成安装. 9.5 访问页面,这是最新版本的bugfree 3.0.4,不知道现在还有软件下载不   http://192.168.0.107/bugfree   目前用户: admin   密码:       xxx   请更改相应的密码   9.5 打开页面效果图.    10.  邮件通知功能添加   保证sendmail服务器正常启动,保证域名能被DNS正常解释   修改相对应的配置文件 # sed -n '105,117p' /var/www/html/bugfree/protected/config/main.php array ( 'on' => '1', 'from_address' => 'xxxxxx', 'from_name' => 'BugFree', 'send_method' => 'SMTP', 'send_params' => array ( 'host' => 'xxxx', 'smtp_auth' => true, 'username' => 'xxxx', 'password' => 'xxxx', ), ),    11.  bugfree 维护记录   11.1  注意应用所在目录的读写权限,因为apache会对目录/var/www/html/bugfree内容进行读写操作,权限不对,会造成页面访问不畅。此处当时通过查看/var/log/httpd下面的错误和访问日志分析解决   11.2  bugfree发送不了邮件,对应应用日志位置,可以检查下面文件内容,发现和解决问题   重启检查下上面那个main.php文件内容   验证邮件用户正常发信   最后发现是由于/etc/resolv.conf 没有内容,加入DNS记录,可是没有把httpd重启,应用无法连接DNS进行MX解析   # tail -2 /var/www/html/bugfree/protected/runtime/application.log   2014/03/11 11:18:35 [error] [bugfree.ProductService] mail send failed:"Language string failed to load: data_not_accepted"   2014/03/11 11:20:32 [error] [bugfree.ProductService] mail send failed:"Language string failed to load: data_not_accepted"   12. 目前bugfree几乎在网络上绝迹,而且相关开发团队出现矛盾,此文档只是相关维护记录,感谢相关开发者贡献,才能让用户用上这个软件,致敬。   这个软件挺稳定的,用了一年多9个月,满足公司需求,当然后期需求复杂化,我也挺赞同迁移到升级版本的 zentao禅道。 最新内容请见作者的GitHub页:http://qaseven.github.io/ 相关资源:bugfree3.0.4安装、升级、迁移指南
    最新回复(0)