Bugzilla在Linux下的安装(1)

因为很多东西都是自己平常学习要搜索的。所以把有用的都保存下来了。希望对大伙有用。还希望能互相交流。

原文地址:http://www.cublog.cn/u/15416/showart_89603.html
linux 内核版本:2.6.9-5.EL
Perl是已经安装好的。
webServer是之前安装好的apache2,位于/usr/local/apache2.
mysql也是之前已经安装好的,位于/usr/local/mysql。
Bugzilla Version 2.20.1

安装与配置目标:在服务器(linux)上安装配置好bugzilla
安装配置参考:主要是参考了bugzilla的官方文档:The Bugzilla Guide - 2.20.1 Release。

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, 这个检查方法很简单,我用的是ps -ef, 看到进程里面有apache运行,就知道安装咯,路径也直接显示了:
pp 3134 2439 0 09:04 ? 00:00:00 /usr/local/apache2/bin/httpd -k start
当然这个方法不是对所有的机器都合适,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是可选的,自己斟酌就可以了。
6)下面要进行配置工作了(从这里开始,和bugzilla官方配置文档有所不同了):
首先,运行
# ./checksetup.pl
这次不用参数--check-modules了。
正常情况下,会提示所有的modules都已经被正确安装,可以修改localcongfig这个文件了。如果运行完却提示我Template有问题,可以到http://www.perl.com/下载这个模块,用#make install强行安装。
之后,重新运行# ./checksetup.pl。
我的顺序:
a)为mysql中建立了新的管理员:
usr name: bugzilla
password: bug
建了一个新的数据库:
databasename:bugza
character set: gbk

说明:数据库的characterset其实还是蛮重要的,用哪一种测试都没有大问题,重要的是一旦确定编码方式,后续就不要再修改了,不然回出现乱码等问题
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';

7)测试配置的是否正确
重新运行
#./checksetup.pl
正常提示,所有的modules都正确安装了,并且检测到localonfig被修改,然后提示输入administor Account的一些信息,包括email,real name, password等等,这样,直到提示完成。
说明:此后#./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的文档就可以理解这么做的原理

你可能感兴趣的:(linux,mysql,cgi,perl,PostgreSQL)