Linux 安装 Bugzilla 及打补丁,添加中文包
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会出现下面的画面。
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
此时运行的字体都变成繁体中文的了。一切搞定。
测试,客户端浏览器访问,如下图:
三、FAQ
解决Bugzilla管理员登录后,设置参数时,立即退出的问题?
这里必须选择关闭,否则管理员点击任何配置都会立即退出要求重新登录。
Bugzilla 的详细介绍:请点这里
Bugzilla 的下载地址:请点这里