51Testing软件测试论坛

标题: 在FreeBSD上安装Bugzilla [打印本页]

作者: 测试积点老人    时间: 2018-12-20 13:10
标题: 在FreeBSD上安装Bugzilla
本帖最后由 测试积点老人 于 2018-12-20 13:17 编辑

Bugzilla 是一款开源的 Web 应用,是一款bug跟踪系统和测试工具,由 mozilla 开发,并采用 Mozilla 公共许可证授权(MPL),它经常被一些高科技公司如 mozilla、红帽公司和 gnome 使用,Bugzilla 起初由 Terry Weissman开发于1998年,它用 perl 语言编写,用 MySQL 作为后端数据库,它是一款旨在帮助管理软件开发的服务器软件,它有丰富的功能、高度优化的数据库等特性。

[attach]120268[/attach]

在本教程中,我们将安装 bugzilla 5.0 ,采用 apache 作为 Web 服务器,并为它启用 SSL,然后在 freebsd 10.2 上安装 mysql 5.1 来作为数据库系统。

准备

FreeBSD 10.2 64位系统
Root 权限为root

更新系统

用 ssh 登录 freebsd 服务器,并更新软件库:

  1. sudo su
  2. freebsd-update fetch
  3. freebsd-update install
复制代码

安装并配置 Apache

在这一步我们将使用 pkg 命令从 freebsd 软件库中安装 apache,然后在 apache24 目录下编辑 "httpd.conf" 文件,来配置apache 以启用 SSL 和 CGI 支持,用 pkg 命令安装 apache:

  1. pkg install apache24
复制代码

进入 apache 目录并用 nano 编辑器编辑"httpd.conf"文件:

  1. cd /usr/local/etc/apache24
  2. nano -c httpd.conf
  3. 取消下面列出行的注释:

  4. #第70行
  5. LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so
  6. #第89行
  7. LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
  8. #第117行
  9. LoadModule expires_module libexec/apache24/mod_expires.so
  10. #第141行,启用SSL
  11. LoadModule ssl_module libexec/apache24/mod_ssl.so
  12. #第162行,支持cgi
  13. LoadModule cgi_module libexec/apache24/mod_cgi.so
  14. #第174行,启用mod_rewrite
  15. LoadModule rewrite_module libexec/apache24/mod_rewrite.so
  16. #第219行,服务器名配置
  17. ServerName 127.0.0.1:80
复制代码

保存并退出,接着,我们需要从 freebsd 库中安装 mod perl,并启用它:

  1. pkg install ap24-mod_perl2
复制代码

启用 mod_perl,编辑"httpd.conf"文件并添加"Loadmodule"行:

  1. nano -c httpd.conf
  2. 添加该行:
  3. #第175行
  4. LoadModule perl_module libexec/apache24/mod_perl.so
复制代码

保存并退出,在启用 apache 之前,用 sysrc 命令添加以下行作为开机启动项:

  1. sysrc apache24_enable=yes
  2. service apache24 start
复制代码

安装并配置 MySQL 数据库

我们要用 mysql 5.1 来作为后端数据库并且支持 perl 模块,用 pkg 命令安装 mysql 5.1:

  1. pkg install p5-DBD-mysql51 mysql51-server mysql51-client
复制代码

现在我们要将 mysql 服务设置为开机启动,然后为 mysql 配置 root 密码,运行以下命令来完成上述所有操作:

  1. sysrc mysql_enable=yes
  2. service mysql-server start
  3. mysqladmin -u root password aqwe123
复制代码

注意:这里 mysql 密码为:aqwe123

[attach]120271[/attach]

以上步骤都完成之后,我们用 root 登录 mysql shell,然后为 bugzilla 安装创建一个新的数据库和用户。

用以下命令登录 mysql shell:

  1. mysql -u root -p
  2. password: aqwe123
复制代码

添加数据库:

  1. create database bugzilladb;
  2. create user bugzillauser@localhost identified by 'bugzillauser@';
  3. grant all privileges on bugzilladb.* to bugzillauser@localhost identified by 'bugzillauser@';
  4. flush privileges;
  5. \q
复制代码

[attach]120269[/attach]


bugzilla 的数据库创建好了,名字为"bugzilladb",用户名和密码分别为"bugzillauser"和"bugzillauser@"。

生成新的 SSL 证书

在 bugzilla 站点的 "ssl" 目录里生成新的自签名 SSL 证书,前往 apache24 目录并在此创建新目录 "ssl":

  1. cd /usr/local/etc/apache24/
  2. mkdir ssl; cd ssl
复制代码

接着,用 openssl 命令生成证书文件,然后更改其权限:

  1. sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/etc/apache24/ssl/bugzilla.key -out /usr/local/etc/apache24/ssl/bugzilla.crt
  2. chmod 600 *
复制代码

配置虚拟主机

我们将在 "/usr/local/www/bugzilla" 目录里安装 bugzilla,所以我们必须为它创建新的虚拟主机配置,前往 apache 目录并为虚拟主机文件创建名为 "vhost" 的新目录:

  1. cd /usr/local/etc/apache24/
  2. mkdir vhost; cd vhost
复制代码

现在为虚拟主机文件创建新文件 "bugzilla.conf":

  1. nano -c bugzilla.conf
复制代码

将以下配置粘贴进去:

  1. ServerName mybugzilla.me
  2. ServerAlias www.mybuzilla.me
  3. DocumentRoot /usr/local/www/bugzilla
  4. Redirect permanent / https://mybugzilla.me/

  5. Listen 443

  6. ServerName mybugzilla.me
  7. DocumentRoot /usr/local/www/bugzilla
  8. ErrorLog "/var/log/mybugzilla.me-error_log"
  9. CustomLog "/var/log/mybugzilla.me-access_log" common
  10. SSLEngine On
  11. SSLCertificateFile /usr/local/etc/apache24/ssl/bugzilla.crt
  12. SSLCertificateKeyFile /usr/local/etc/apache24/ssl/bugzilla.key

  13. AddHandler cgi-script .cgi
  14. Options +ExecCGI
  15. DirectoryIndex index.cgi index.html
  16. AllowOverride Limit FileInfo Indexes Options
  17. Require all granted
复制代码

保存并退出,上述都完成之后,为 bugzilla 安装创建新目录,并在 httpd.conf 文件添加虚拟主机配置来启用 bugzilla虚拟主机,在 "apache24" 目录下运行以下命令:

  1. mkdir -p /usr/local/www/bugzilla
  2. cd /usr/local/etc/apache24/
  3. nano -c httpd.conf
  4. 文末,添加以下配置:
  5. Include etc/apache24/vhost/*.conf
复制代码

保存并退出,现在用 "apachectl" 命令测试一下 apache 的配置并重启它:

  1. <span style="font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun;">apachectl configtest</span>
  2. <span style="font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun;">service apache24 restart</span>
复制代码

安装 Bugzilla
我们可以通过下载源来手动安装 bugzilla 了,或从 freebsd 库中安装也可以,在这一步中我们将用 pkg 命令从 freebsd 库中安装 bugzilla:

  1. <span style="font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun;">pkg install bugzilla50</span>
复制代码

以上步骤都完成之后,前往 bugzilla 安装目录并安装所有 bugzilla 需要的 perl 模块。

cd /usr/local/www/bugzilla
./install-module --all
要等到所有都完成,这需要点时间,下一步,在 bugzilla 的安装目录中执行 "checksetup.pl" 文件来生成配置文件 "localconfig"。
./checksetup.pl
你会看到一条关于数据库配置错误的消息,你得用 nano 编辑器编辑一下 "localconfig" 文件:
nano -c localconfig
现在添加第三步创建的数据库。
#第57行
$db_name = 'bugzilladb';
#第60行
$db_user = 'bugzillauser';
#第67行
$db_pass = 'bugzillauser@';
保存并退出,然后再次运行 "checksetup.pl":
./checksetup.pl

  1. ./checksetup.pl
复制代码

你会收到输入邮箱名和管理员账号的提示,你只要输入你的邮箱、用户名和密码就行了。


[attach]120276[/attach]


最后,我们需要把安装目录的属主改成 "www",然后用服务命令重启 apache:

  1. cd /usr/local/www/<font face="Tahoma, Microsoft Yahei, Simsun">
  2. </font>chown -R www:www bugzilla<font face="Tahoma, Microsoft Yahei, Simsun">
  3. </font>service apache24 restart
复制代码

现在 Bugzilla 已经安装好了,你可以通过访问 mybugzilla.me 来查看,并且将会重定向到 https 连接。
Bugzilla 首页:


[attach]120270[/attach]

Bugzilla admin 面板:


[attach]120275[/attach]


结论
Bugzilla 是一个基于 web 的应用,并能帮助你管理软件开发,它用 perl 开发并以 MySQL 作为数据库系统。Bugzilla 帮助 mozilla、redhat、gnome 等公司完成软件开发工作。Bugzilla 有很多功能并易于配置和安装。








欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2