Bugzilla的安装配置,其实也没有传说中的那么困难,问题在没有经验.刚刚完成bugzilla的配置,我想记录下来我的详细安装过程,一是留点记录进一步记忆理解,二是供朋友们参考. 好了言归正传!
(以下所列皆为本人安装配置过程中的所用资源,不同版本的文件,系统等参照本文安装不保证一定成功)
OS: Linux Red Hat Enterprise 5 (确保gcc编译器等都已安装上去,手工安装gcc比较麻烦)
DB: MySQL-server-community-5.0.67-0.rhel5.i386.rpm, MySQL-client-community-5.0.67-0.rhel5.i386.rpm, MySQL-devel-community-5.0.67-0.rhel5.i386.rpm, MySQL-share-compat-5.0.67-0.rhel5.i386.rpm, MySQL-share-community-5.0.67-0.rhel5.i386.rpm. (http://www.mysql.org)
Apache: httpd-2.2.3-6.el5 (http://www.apache.org)
Bugzilla: Bugzilla-3.2rc2(目前是新的稳定版本,http://www.bugzilla.org)
开始安装:
前提Linux平台都已搭建完备,本文以此为基础,Linux安装不作赘述.
安装配置mysql
1.安装mysql,顺序:MySQL-server***.rpm, MySQL-client***.rpm, MySQL-share-community***.rpm, MySQL-devel***.rpm, MySQL-share-compat***.rpm.
2.初始化数据库: 输入如下命令为root添加密码, (真该死这个破blog不能方便贴图)!
输入:/usr/bin/mysqladmin -u root password '你的密码',如你使用123456作为密码,则输入:/usr/bin/mysqladmin -u root password 123456即可.
3.创建bugs用户,并分配权限.(注:bugzilla-2.18rc1版本后已经不需要用户自己创建bugs数据库了,用户只需创建bugs用户即可)
进入mysql(输入命令:mysql -uroot -p, 回车后根据提示输入刚才你初始化的密码), 登入mysql后查看现有数据库情况,输入命令如下,
mysql>show databases;(别忘了这里的分号,该命令将显示所有database,初始默认有: information_schema, mysql, test)
输入如下创建bugs用户并分配权限:
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES ON bugs.* TObugs@localhostINDENTIFIED BY '$db_pass';
mysql>FLUSH PRIVILEGES;
注: '$db_pass'为bugs用户的密码,随你设定,但一定要紧记此密码,下面将会用到. 本人设为bugs,即输入GRANT... BY 'bugs';
至此数据库方面配置完毕!
配置apache
关于apache的学习资料进apache官网:http://www.apache.org,查找学习,这里不做介绍.
新版本的apache需要修改的地方不多,主要有3个地方要注意:(修改配置文件httpd.conf即可,该文件一般存在你安装路径的/conf/下,若使用Linux系统自带的apache,则可到/etc/httpd/conf/查找, vi编辑保存)
a.DocumentRoot,需要设置为你的bugzilla文件所在路径,以及<Diretory "你的bugzilla文件所在路径">
b.使用"./"找到AddHandler.cgi这行内容,去掉注释,如果已经去掉,保留即可.如果不添加该语句,会把cgi文件中的内容当成文本形式显示出来,而不是运行cgi程序.
c.创建一个目录的权限说明, 一般如下所示:本例中bugzilla所在路径为:/var/www/html/bugzilla
<Directory "/var/www/html/bugzilla">
Options ExecCGI FollowSymLinks
AllowOverride Limit
Order allow,deny
Allow from all
</Directory>
主要修改的内容是, 在Options中增加ExecCGI,该选项让该目录下的CGI脚本可以运行. 其次把AllowOverride的参数改为Limit, 这样修改可以让bugzilla通过生成.htaccess文件来控制目录的访问权限.
至此apache配置完毕!记得apache配置完毕后,要重启啊,这样你的配置才会生效!
配置bugzilla
bugzilla的运行还需要perl的一些模块的支持, 在这提供一个网站www.cpan.org, 该网站提供了perl所有的模块, 用户可以在这search所需的perl模块.好了,下面开始!
cd 到你bugzilla所在的目录, 如:cd /var/www/html/bugzilla/
执行./checksetup.pl文件,查看perl模块情况.直接在输入:./checksetup.pl,回车即可.接下来会给出很多信息,仔细看你会发现有些模块已经安装ok,并给出版本,如:CGI.pm (v3.21) ok: found v3.42,但是初次安装会有很多模块缺失,会提示not found等信息.
关于安装perl缺失模块,有2个方法:
1. 如果网络连接正常,可尝试网络安装,根据运行./checksetup.pl后的提示信息输入,即可自动下载安装缺失模块,此方法为方便,运气好的话,可能一次性OK.
此处以安装perl-Magick为例:输入 /usr/bin/perl install-module.pl Image::Magick, 即可.
2. 手动安装,需要到www.cpan.org下载相关模块,此过程较为复杂(因为模块间存在依赖关系,不是每个模块都是一次安装OK的),但可加深理解.手动安装过程中,有以下几点需要注意:
a.一般情况下Linux自带的perl已经有了DBI模块,此时根据提示正常安装DBD-mysql即可.若perl的DBI模块还没有的话,又或是Linux没有安装perl,则到www.perl.org下载新的perl模块安装。
b.perl模块的的安装方法多为:
perl Makefile.PL
make
make test
make install
到此应该知道为什么强调要安装gcc编译器了吧?
有些模块之间存在依赖性, 若make test过程中,产生异常可于make install后,重新执行perl Makefile.PL命令,此时可看到安装异常的原因.若存在模块依赖,则会提示需要安装相应模块.
当perl的必须模块以及数据库的DBD都安装成功后,再次执行./checksetup.pl文件,查看perl模块的安装情况,若必须的perl模块都安装成功后,则会提示编辑/bugzilla/目录下刚生成的的localconfig文件, 使用vi编辑该文件,修改该文件中的2个参数的值:
a. $index.html='0' 改为 $index.html='1', 这样会生成一个index.html文件,该文件指向index.cgi.
b. 把$db_pass=''的空字符改为你当初创建bugs用户时为其分配的密码.
保存修改后退出,再次执行./checksetup.pl文件,此时将创建bugs数据库以及数据库中的表格,同时提示输入管理员的用户名, 真实姓名, 口令是什么. 自此bugzilla的配置完成.
注:提示输入管理员的用户必须使用邮箱名称,如:test@163.com, 这是bugzilla的默认规定.
后使用浏览器打开bugzilla地址,进入第一次登陆界面.
如果出现提示没有权限访问bugzilla的话,则说明bugzilla目录权限需要重新设置,可使用如下命令修改目录权限: chown -R apache.apche <Bugzilla目录名>,然后重新访问可以了.
OK,终于总结完毕了,有问题留言吧,我会及时上来看的,谢谢!