SLES 11之安装配置Bugzilla 3.4
昨天著名的Bug跟踪管理工具Bugzilla 3.4正式发布了,因为openJDiary项目管理的内部需要及其他一些必要的用途,我就在我的小机器上配置了一个bugzilla系统。
首先下载Bugzilla 3.4,解压缩到相应的虚拟主机目录:
dws:/srv/www/htdocs # tar xzf bugzilla-3.4.tar.gz将目录bugzilla-3.4更改为需要的名称,如:
dws:/srv/www/htdocs # mv bugzilla-3.4 bugzilla进行安装之前,需要检查一下是否具备了所有需要的模块及perl工具包:
dws:/srv/www/htdocs # cd bugzilla一般情况下,是缺少一些软件包的,不过没有问题,按照提示,只需要运行以下命令自动下载安装所需的软件包即可,过程中可能需要若干次确认操作:
dws:/srv/www/htdocs/bugzilla # ./checksetup.pl
dws:/srv/www/htdocs/bugzilla # /usr/bin/perl install-module.pl --all顺利完成后,再次执行以下命令:
dws:/srv/www/htdocs/bugzilla # ./checksetup.pl此时如果安装条件均具备,会自动生成localconfig,提示您对MySQL数据库参数进行设置,如果建立全新的bugzilla数据库,可参考以下MySQL数据库脚本建立数据库并进行相应权限设置:
create database `bugzilla` default character set utf8 collate utf8_general_ci;另外,因为SLES 11.0使用的Apache用户组名为www,还需要更改第25行的参数$webservergroup,由apache更改为www。
GRANT SELECT, INSERT,UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugzilla.* TO bugzilla@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
一切就绪后,再次执行以下命令,结束安装:
dws:/srv/www/htdocs/bugzilla # ./checksetup.pl安装的最后阶段,会提示你输入系统管理员的Email,真实名字,以及登录密码。
Bugzilla 3.4安装结束后,就需要配置Apache的相应参数了,我采用了虚拟主机方式,配置文件(/etc/apache2/vhosts.d/yast2_vhosts.conf)参考如下:
<VirtualHost 10.15.76.105>重启Apache,就可以使用刚才安装的Bugzilla了:
DocumentRoot /srv/www/htdocs/bugzilla
ServerName bugzilla.dws.cn
ServerAdmin opentiss@gmail.com
<Directory /srv/www/htdocs/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>
</VirtualHost>
/etc/init.d/apache2 restartBugzilla的主页如下图所示:
以系统管理员账号登录后,请先在Parameters->Required Settings中将参数urlbase修改为正确的值。
最后,如果你想以gmail的smtp做为Bugzilla通知邮件服务器的话,可以参照BugZilla alerts using GMAIL进行如下配置:首先安装Perl模块Email::Send::SMTP::TLS,采用CPAN SHELL:
perl -MCPAN -e shell因为安装过程中需要两个模块perl-Test-Pod和perl-Test-Pod-Coverage,所以需要先在YaST中事先安装好。在安装过程中可能需要自动安装一些其他有依赖的包,直接确认安装即可。
cpan[1]> install Email::Send::SMTP::TLS
安装完成后,备份Bugzilla/Mailer.pm,然后对其进行如下修改:
176a177,186即添加针对SMTP::TLS的处理代码,然后以系统管理员账号登录,在Parameters->Email中修改如下设置:
> if ($method eq "SMTP::TLS") {
> my ($smtp_server,$smtp_port) = split /:/,Bugzilla->params->{"smtpserver"};
> push @args, Host => $smtp_server,
> User => Bugzilla->params->{"smtp_username"},
> Password => Bugzilla->params->{"smtp_password"},
> Hello => $smtp_server,
> Port => $smtp_port,
> Debug => Bugzilla->params->{'smtp_debug'};
> }
>
mail_delivery_method > SMTP::TLS保存以上设置之后,您就可以通过gmail发送您的Bugzilla通知邮件了。
mailfrom > username@gmail.com
smtpserver > smtp.gmail.com:587
smtp_username > username@gmail.com
smtp_password > userpassword
以上参考文章将会在维勘翻译中有中方参考译文发布(对原文perl代码错误有所修正),敬请关注。



0 条评论:
发表评论
<< 主页