如何在CentOS 7上安装Bugzilla 5.0.x
Zuoxiaojuan
・12 分钟阅读
Bugzilla是一个免费的开源缺陷跟踪系统,它被各种厂商广泛使用,用来持续改进他们的软件程序。
在本文中我会指导你在Centos7服务器实例上安装Bugzilla5.0.4.
前提条件
- 一个新的CentOS 7x64服务器实例,它的IP地址是203.0.113.1 ,
- 一个sudo用户 ,
- 使用EPEL YUM repo将服务器实例更新到最新的稳定状态。
Bugzilla 5.0.4需要Perl 5.14或更新,一个web服务器和一个数据库服务器,我们将相应安装Perl 5.16 .x,apache 2.4 .x和MariaDB 10.2 .x。
步骤1:安装Perl5.16.x和其他依赖项
以sudo用户身份登录后,你可以使用aYUM repo轻松安装Perl二进制文件和所需的Perl模块:
sudo yum install perl perl-CPAN perl-DBD-MySQL -y
安装Perl后,请使用以下命令确保它版本比5.14新:
perl -v
现在,你可以从输出中找到v5.16.3
,它是运行Bugzilla 5.0.4的一个限定版本。
安装Perl后,仍然需要安装几个依赖项:
sudo yum install gcc gd gd-devel rst2pdf graphviz patchutils -y
第2步:安装和配置Apache 2.4 .x
安装并配置Apache 2.4.6,如下所示:
sudo yum install httpd httpd-devel -y
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
步骤3:安装,并且配置MariaDB 10.2 .x
安装最新的MariaDB稳定发行版:
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-devel -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
安全MariaDB :
sudo /usr/bin/mysql_secure_installation
当出现提示时,按如下方式回复问题:
- 输入root (输入为无)的当前密码: 输入
- 设置root密码[Y/n] :
Y
? - 新密码:
your-MariaDB-root-password
- 输入新密码:
your-MariaDB-root-password
- 删除匿名用户[Y/n] :
Y
? - 不允许远程登录root[Y/n] :?
Y
- 删除测试数据库并访问它? [Y/n] :
Y
- 现在重新加载权限表[Y/n] :?
Y
以root的形式登录到MySQL shell :
mysql -u root -p
使用以下MySQL查询为Bugzilla创建专用的MariaDB数据库和专用MariaDB用户:
注意:出于安全目的,请确保将下面的bugzilla
,bugzillauser
和yourpassword
替换为你自己的。
CREATE DATABASE bugzilla;
CREATE USER 'bugzillauser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON bugzilla.* TO 'bugzillauser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
修改Bugzilla的MariaDB配置:
sudo vi /etc/my.cnf.d/server.cnf
在[mysqld]
行下面插入以下行:
# Bugzilla
# Allow packets up to 16M
max_allowed_packet=16M
# Allow small words in full-text indexes
ft_min_word_len=2
保存和退出:
:wq
!重新启动MariaDB以加载新设置:
sudo systemctl restart mariadb.service
第4步:安装Bugzilla 5.0.4
从官方网站获取Bugzilla 5.0.4存档:
cd
wget https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.4.tar.gz
将归档文件解压缩到你首选的位置:
sudo tar -C /opt -zxvf bugzilla-5.0.4.tar.gz
为了方便未来的更新,你可以创建一个版本独立软链接,指向当前版本的NamedRange所在的目录:
sudo ln -s /opt/bugzilla-5.0.4 /var/www/html/bugzilla
在Bugzilla目录中使用一个Perl脚本来检查缺少的Perl模块:
sudo /var/www/html/bugzilla/checksetup.pl
通过运行这个Perl脚本,你会了解到机器上任何必需或可选的Perl模块的可用性。
你可以这种方式单独安装Perl模块:
sudo /usr/bin/perl /var/www/html/bugzilla/install-module.pl CGI
或者,尝试使用一个命令安装所有必需的和可选的Perl模块:
sudo /usr/bin/perl /var/www/html/bugzilla/install-module.pl --all
Perl模块的编译可能需要一些时间。
编译完成后,运行checksetup.pl
脚本以确认结果,确保所有必需的Perl模块和DBD mysql
Perl模块都已安装,稍后可以处理缺少的可选Perl模块。
sudo /var/www/html/bugzilla/checksetup.pl
接下来,将MySQL数据库信息添加到localconfig
文件中:
sudo vi /var/www/html/bugzilla/localconfig
查找并编辑以下行,确保所有参数都使用正确的值,如下所示:
$webservergroup = 'apache';
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugzilla';
$db_user = 'bugzillauser';
$db_pass = 'yourpassword';
保存和退出:
:wq
!对于第三次,运行checksetup.pl
脚本初始化Bugzilla :
sudo /var/www/html/bugzilla/checksetup.pl
进程中,将要求你提供管理员的凭据:
- 管理员地址的E-mail :
admin@example.com
- 管理员名称的真实:
John Doe
- 管理员密码:
your-admin-password
为了允许Apache访问Bugzilla文件,你需要修改所有Bugzilla文件的所有权:
sudo chown -R apache:apache /opt/bugzilla-5.0.4
既然Apache还不知道Bugzilla,你需要为Bugzilla创建一个Apache虚拟主机,如下所示:
sudo vi /etc/httpd/conf.d/bugzilla.conf
填充文件:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/bugzilla/
ServerName bugzilla.example.com
ServerAlias www.bugzilla.example.com
<Directory /var/www/html/bugzilla/>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes Options AuthConfig
</Directory>
ErrorLog /var/log/httpd/bugzilla.example.com-error_log
CustomLog /var/log/httpd/bugzilla.example.com-access_log common
</VirtualHost>
保存和退出:
:wq
!重新启动Apache以加载新设置:
sudo systemctl restart httpd.service
步骤5:修改防火墙规则
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
步骤6:测试并访问Bugzilla的安装
安装Bugzilla后,你可以使用Perl脚本来测试你的安装:
sudo /var/www/html/bugzilla/testserver.pl http://203.0.113.1
输出将类似于以下内容:
TEST-OK Webserver is running under group id in $webservergroup.
TEST-OK Got padlock picture.
TEST-OK Webserver is executing CGIs via mod_cgi.
TEST-OK Webserver is preventing fetch of http://203.0.113.1/localconfig.
TEST-OK GD version 2.68, libgd version 2.0.34; Major versions match.
TEST-OK GD library generated a good PNG image.
TEST-OK Chart library generated a good PNG image.
TEST-OK Template::Plugin::GD is installed.
最后,将你喜爱的网页浏览器指向http://203.0.113.1/
以访问你的Bugzilla站点。
在Bugzilla Web界面上单击登录
按钮,然后输入要登录的管理员凭据,然后你可以继续按照自己的意愿设置Bugzilla。
步骤7安装,并且配置Apache mod_perl
module可选
为了在运行Perl脚本时提高Apache的性能,建议使Apache具有如下mod_perl
模块:
sudo yum install mod_perl mod_perl-devel -y
你可以使用以下命令来确认安装:
apachectl -M | grep perl
结果为:
perl_module (shared)
在一个Apache配置文件中修改perl相关设置:
sudo vi /etc/httpd/conf.d/perl.conf
显示行号:
:set nu
取消注释第15行和第24行
PerlSwitches -w
PerlSwitches -T
在文件末尾添加一个新行:
PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
保存和退出:
:wq
!重新启动Apache以加载新配置:
sudo systemctl restart httpd.service