- 论坛徽章:
- 0
|
以下是自己3月17号安装配置bugzilla的全过程, 记录下来, 算是对自己接触linux的一个纪念吧。
linux 内核版本:2.6.9-5.EL
Perl是已经安装好的。
webServer是之前安装好的apache2,位于/usr/local/apache2.
mysql也是之前已经安装好的,位于/usr/local/mysql。
Bugzilla
Version 2.20.1
安装与配置目标:在服务器(linux)上安装配置好bugzilla, 使得公司局域网内都能够通过ie使用它。
安装配置参考:主要是参考了bugzilla的官方文档:The Bugzilla Guide - 2.20.1 Release。
参考资料来源:
http://www.bugzilla.org/docs/2.20/html/index.html
声明:我是在局域网内的windows xp系统上使用SecureCRT 5.0远程控制linux服务器的。这个软件很好用,功能和linux上面的终端差不多。所以,以下的安装过程和在linux上直接操作没有太大区别。
以下是具体的安装步骤,过程中出现的问题和解决办法也记录下来了:
1)检查是否安装了perl
# perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
Copyright 1987-2004, Larry Wall
....
说明已经安装了perl。
提示:一般linux都会安装perl的,如果没有,访问
http://www.perl.com
下载安装。
2)检查是否安装了perl
# mysql -V
mysql Ver 14.7 Distrib 4.1.7, for redhat-linux-gnu (i386)
说明mysql已经安装好了。
提示:bugzilla2.20可以支持两种数据库:MySQL 和PostgreSQL,任选其一即可,我选择的是mysql。如果两个都没有安装,可以访问
http://www.mysql.com
下载安装mysql,或者访问
http://www.postgresql.org/
下载安装postgresql。
如果要检查postgresql是否安装了,用以下命令:
psql -V
3)检查是否安装了Web Server
也就是apache啦,这是人家bugzilla官方强烈推荐的webserver,理由肯定每个对web有所了解的人都会知道的。apache就是牛哦!
这个检查方法很简单,我用的是ps -ef, 看到进程里面有apache运行,就知道安装咯,路径也直接显示了:
pp 3134 2439 0 09:04 ? 00:00:00 /usr/local/apache2/bin/httpd -k start
当然这个方法不是对所有的机器都合适,而是自己比较懒,先看了看是不是默认的开机就启动了apache,结果真的有。当然,也可以访问
http://192.168.1.220/
, 192.168.1.220是我的linux服务器ip,这个默认的是apache的测试页,但是如果配置过apache,改变了它的主页,那显示的就是配置后的主页, 公司的这个就是。此外,unix类家族的os应该都有自带的apache的,安装一下就可以啦。
提示:如果真的没有或者要安装一个新的版本,访问
http://httpd.apache.org/
下载安装就ok!
4)到
http://www.bugzilla.org/releases/
下载bugzilla,我下载的是bugzilla-2.20.1.tar.gz。
5)目前,准备工作都已经ok,就开始安装了
#cd/usr/local
#tar -zxvf bugzilla-2.20.1.tar.gz
解压后的目录名bugzilla-2.20.1太长了,改成了bugzilla。
#cd bugzilla
说明:进入到bugzilla目录之下。
#./checksetup.pl --check-modules
说明:./checksetup.pl --check-modules主要是检查安装所必需的perl modules是否完整,根据提示的信息,会看到检查结果, 我的结果显示我有好几个都没有安装, 所以必须先安装这几个才可以。
这里好几种安装缺少的modules方法:
a)可以按照运行结果提示,用
# perl -MCPAN -e 'install ""'
这个命令来一个一个安装
b)用一条语句即可把所有的都安装上:
# perl -MCPAN -e 'install Bundle::Bugzilla'
安装完整后,运行#./checksetup.pl --check-modules看到以下信息:
Checking for AppConfig (v1.52) ok: found v1.56
Checking for CGI (v2.93) ok: found v3.17
Checking for Data::Dumper (any) ok: found v2.121
Checking for Date::Format (v2.21) ok: found v2.22
Checking for DBI (v1.38) ok: found v1.50
Checking for File::Spec (v0.84) ok: found v3.17
Checking for File::Temp (any) ok: found v0.16
Checking for Template (v2.08) ok: found v2.14
Checking for Text::Wrap (v2001.0131) ok: found v2005.0824
Checking for Mail::Mailer (v1.65) ok: found v1.74
Checking for Storable (any) ok: found v2.15
The following Perl modules are optional:
Checking for GD (v1.20) ok: found v2.32
Checking for Chart::Base (v1.0) ok: found v2.3
Checking for XML::Parser (any) ok: found v2.34
Checking for GD::Graph (any) ok: found v1.4307
Checking for GD::Text::Align (any) ok: found v1.18
Checking for PatchReader (v0.9.4) ok: found v0.9.5
吃饭去了,回来继续...
饭毕,继续,打字真是辛苦啊....
注意,前面一些是必须有的,后面optional是可选的,自己斟酌就可以了。
发现自己真是懒阿,不过只有懒人才可以更好的推动世界进步嘛,呵呵,自夸一下,我采用的b)方法安装的,一条语句就ok.
6)下面要进行配置工作了(从这里开始,和bugzilla官方配置文档有所不同了):
首先,运行
# ./checksetup.pl
这次不用参数--check-modules了。
正常情况下,会提示所有的modules都已经被正确安装,可以修改localcongfig这个文件了。555,真不幸,运行完却提示我Template 这个有问题,真是郁闷,之后回去重新运行./checksetup.pl --check-modules,发现这个没有问题,怪了,没办法,只好又用# perl -MCPAN -e 'install "Template"'单独安装这个,结果失败,用# perl -MCPAN -e 'install Bundle::Bugzilla'也是失败,其实第一条语句不行,这条就当然也不行啦,真是懒到家了,居然白痴的重复了n遍,贼心不死哦,看来这次真得浪费点体力了,于是到
http://www.perl.com
下载这个模块,用#make install强行安装啦。
之后,重新运行# ./checksetup.pl,终于看到曙光了,嘻嘻。
以下的两个步骤呢,顺序可以随便的,先做哪个,后做哪个,都可以。
我的顺序:
a)为mysql中建立了新的管理员:
usr name: bugzilla
password: bug
建了一个新的数据库:
databasename:bugza
character set: gbk
为了安全,密码其实应该复杂一点,不过这里完全是测试,就很简单了,无所谓的。
提示:单纯用linux命令做事情实在麻烦,我在xp上安装了一个软件:Navicat MySQL,可以很直观的操作mysql哦~
说明:数据库的characterset其实还是蛮重要的,用哪一种测试都没有大问题,不过真正使用起来,还是用utf-8比较好哦,后来汉化的时候和使用bugzilla建立bugazilla的时候受到不少教训。
b)修改/usr/local/bugzilla下面的localconfig文件:
修改结果如下:
$db_name = "bugza"; # name of the SQL database
$db_user = "bugzilla"; # user to attach to the SQL database
$db_port = 3306;
$db_pass = 'bug';
按照配置文档的说明, db_name和db_port是不用修改的,但是既然建立了一个专门的管理员来管理bugzilla 的database, 何必浪费,而db_port是因为用0的时候我得测试通不过,只好改为mysql的启动端口3306了,结果真的好使了。
7)测试配置的是否正确
重新运行
#./checksetup.pl
正常提示,所有的modules都正确安装了,并且检测到localonfig被修改,然后提示我输入administor Account的一些信息,包括email,real name, password等等,这样,直到提示完成。
运行完这个,可以在mysql下看到bugza这个库的Tables下面多了好多表,而之前是空的表~~。
说明:此后#./checksetup.pl可以随时运行,不过我后来发现我又运行的时候会有问题,把数据库删了重新建,却都可以,后来又试着改为utf-8的数据库,结果可以多次重复运行而不需要每次都重新建立库,所以这才觉得character set还是蛮重要的。
8)配置webserver
打开/usr/local/apache2/conf/下的http.conf文件。
首先,找到#AddHandler cgi-script .cgi这行,将#去掉是指生效,目的是允许运行.cgi文件。
然后添加如下一段代码:
Alias /bugs/ "/usr/local/bugzilla/"
AddHandler cgi-script .cgi
Options Indexes ExecCGI FollowSymLinks
DirectoryIndex index.cgi index.htm
AllowOverride Limit
Allow from all
这样,为在bugzilla建立了一个虚拟的访问路径bugs,并将该路径指向了真正的路径/usr/local/bugzilla,多看看apache的文档就可以理解这么做的原理%C
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15416/showart_89603.html |
|