Linux 安装 Bugzilla 及打补丁,添加中文包

yegen00 2015-03-22

bugzilla版本:bugzilla-4.4.5.tar.gz
 
一、安装bugzilla

1. 安装Apache,略

2. 安装mysql,启动服务,略

手动创建数据库bugs,及用户bugs

mysql> create database bugs default character set utf8;

mysql> grant all on bugs.* to bugs@localhost identified by 'bugs123456';

mysql> quit

3. 安装bugzilla

# tar zxf bugzilla-4.4.5.tar.gz
 # mv bugzilla-4.4.5 /var/www/html/bugzilla

直接执行 # ./checksetup.pl 进行安装,检查一系列依赖包,此时服务器必须能够访问互联网。

执行完成后会生成localconfig配置文件,用来连接数据库的配置

# vi localconfig

$db_driver = 'mysql';

$db_host = 'localhost';

$db_name = 'bugs';

$db_user = 'bugs';

$db_pass = 'bugs123456';

其他默认,保存
再次执行# ./checksetup.pl,将会自动创建表结构,并提示创建一个管理员及口令(管理员必须是一个邮件地址)。
4. 执行./checksetup.pl后提示修改mysql中的max_allowed_packet参数,如下所示:

警告:你必須在你的 MySQL 設定裡將 max_allowed_packet 參數設定為
3276750 。現在它設定為 1048576 。
 你可以在 MySQL 設定檔中的 [mysqld] 段落中找到此參數。

修改/etc/my.cnf

[mysqld]

max_allowed_packet=3276750

保存,重启mysqld服务

进入mysql中修改

mysql> set global max_allowed_packet = 3276750;
 Query OK, 0 rows affected (0.00 sec)

mysql> show VARIABLES like '%max_allowed_packet%';
 +--------------------+---------+
 | Variable_name      | Value  |
 +--------------------+---------+
 | max_allowed_packet | 3275776 |
 +--------------------+---------+
 1 row in set (0.00 sec)

bugzilla安装完成

5. 配置 httpd.conf文件,允许web访问

第一种方案:修改下面的默认参数

AddHandler cgi-script .cgi    #让apache执行cgi程序,而不是当成文件读取。

<Directory "/var/www/html">

Options  ExecCGI Indexes FollowSymLinks    #添加ExecCGI语句到最前面,如果不添加访问apache会出现下面的画面。

Linux 安装 Bugzilla 及打补丁,添加中文包

AllowOverride None

Order allow,deny
 Allow from all

</Directory>

第二种配置方案:前面什么参数都不改,直接添加下面的虚拟机语句,这适合多个虚拟机共存的环境。

<VirtualHost *:800>
    DocumentRoot /var/www/html/bugzilla
    ServerName www.bugzilla.com
    ErrorLog logs/bugzilla-error_log
    CustomLog logs/bugzilla-access_log common
  <Directory /var/www/html/bugzilla>
        AddHandler cgi-script .cgi
        Options  ExecCGI Indexes FollowSymLinks
        DirectoryIndex index.cgi index.html
        AllowOverride None
  </Directory>
 </VirtualHost>

保存,重启apache使生效。

最后,客户端浏览器访问测试,成功访问。
 
二、配置中文

由于下载的中文模版是4.4.6,而我们安装的bugzilla是4.4.5,所以需要先打一个bugzilla的补丁

# cd /var/www/html/bugzilla/

# patch -p1 < /usr/local/software/bugzilla-4.4.5-to-4.4.6.diff

说明:进入要打补丁的目标目录后,使用patch的参数-p1,后面跟补丁文件(补丁文件无论在哪无所谓写绝对路径就可以)。

解压缩中文压缩包,拷贝

# gunzip bugzilla-tw-4.4.6.tar.gz 

# ls bugzilla-tw-4.4.6
 README.md  template

# ls bugzilla-tw-4.4.6/template/
 en  zh-TW

# cp -rf bugzilla-tw-4.4.6/template/* /var/www/html/bugzilla/template/

打完补丁,添加了语言包后,需要重新执行checksetup.pl命令,否则访问页面出现无法正常显示的问题

# ./checksetup.pl
 * 這是在 Linux 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 ,
* Perl 5.20.1 上執行的 Bugzilla 4.4.6 。

檢查 perl 模組中...
檢查              CGI.pm (v3.51)    OK: 找到版本 v4.03
檢查          Digest-SHA (任何)        OK: 找到版本 v5.88
檢查            TimeDate (v2.23)    OK: 找到版本 v2.24
檢查            DateTime (v0.28)    OK: 找到版本 v1.12
檢查    DateTime-TimeZone (v0.71)    OK: 找到版本 v1.81
檢查                  DBI (v1.614)    OK: 找到版本 v1.632
檢查    Template-Toolkit (v2.22)    OK: 找到版本 v2.26
檢查          Email-Send (v2.04)    OK: 找到版本 v2.199
檢查          Email-MIME (v1.904)    OK: 找到版本 v1.928
檢查                  URI (v1.37)    OK: 找到版本 v1.65
檢查      List-MoreUtils (v0.32)    OK: 找到版本 v0.401
檢查    Math-Random-ISAAC (v1.0.1)    OK: 找到版本 v1.004

此时运行的字体都变成繁体中文的了。一切搞定。

测试,客户端浏览器访问,如下图:

Linux 安装 Bugzilla 及打补丁,添加中文包

三、FAQ

解决Bugzilla管理员登录后,设置参数时,立即退出的问题?

Linux 安装 Bugzilla 及打补丁,添加中文包

这里必须选择关闭,否则管理员点击任何配置都会立即退出要求重新登录。

Bugzilla 的详细介绍:请点这里
Bugzilla 的下载地址:请点这里

相关推荐