Bugzilla 是一款开源的 Web 应用,是一款bug跟踪系统和测试工具,由 mozilla 开发,并采用 Mozilla 公共许可证受权(MPL),它常常被一些高科技公司如 mozilla、红帽公司和 gnome 使用,Bugzilla 起初由 Terry Weissman开发于1998年,它用 perl 语言编写,用 MySQL 做为后端数据库,它是一款旨在帮助管理软件开发的服务器软件,它有丰富的功能、高度优化的数据库等特性。
在本教程中,咱们将安装 bugzilla 5.0 ,采用 apache 做为 Web 服务器,并为它启用 SSL,而后在 freebsd 10.2 上安装 mysql 5.1 来做为数据库系统。html
准备node
FreeBSD 10.2 64位系统
Root 权限为rootmysql
更新系统linux
用 ssh 登陆 freebsd 服务器,并更新软件库:web
sudo su freebsd-update fetch freebsd-update install
安装并配置 Apachesql
在这一步咱们将使用 pkg 命令从 freebsd 软件库中安装 apache,而后在 apache24 目录下编辑 "httpd.conf" 文件,来配置apache 以启用 SSL 和 CGI 支持,用 pkg 命令安装 apache:shell
pkg install apache24
进入 apache 目录并用 nano 编辑器编辑"httpd.conf"文件:数据库
cd /usr/local/etc/apache24 nano -c httpd.conf 取消下面列出行的注释: #第70行 LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so #第89行 LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so #第117行 LoadModule expires_module libexec/apache24/mod_expires.so #第141行,启用SSL LoadModule ssl_module libexec/apache24/mod_ssl.so #第162行,支持cgi LoadModule cgi_module libexec/apache24/mod_cgi.so #第174行,启用mod_rewrite LoadModule rewrite_module libexec/apache24/mod_rewrite.so #第219行,服务器名配置 ServerName 127.0.0.1:80
保存并退出,接着,咱们须要从 freebsd 库中安装 mod perl,并启用它:apache
pkg install ap24-mod_perl2
启用 mod_perl,编辑"httpd.conf"文件并添加"Loadmodule"行:后端
nano -c httpd.conf 添加该行: #第175行 LoadModule perl_module libexec/apache24/mod_perl.so
保存并退出,在启用 apache 以前,用 sysrc 命令添加如下行做为开机启动项:
sysrc apache24_enable=yes service apache24 start
安装并配置 MySQL 数据库
咱们要用 mysql 5.1 来做为后端数据库而且支持 perl 模块,用 pkg 命令安装 mysql 5.1:
pkg install p5-DBD-mysql51 mysql51-server mysql51-client
如今咱们要将 mysql 服务设置为开机启动,而后为 mysql 配置 root 密码,运行如下命令来完成上述全部操做:
sysrc mysql_enable=yes service mysql-server start mysqladmin -u root password aqwe123
注意:这里 mysql 密码为:aqwe123
以上步骤都完成以后,咱们用 root 登陆 mysql shell,而后为 bugzilla 安装建立一个新的数据库和用户。
用如下命令登陆 mysql shell:
mysql -u root -p password: aqwe123
添加数据库:
create database bugzilladb; create user bugzillauser@localhost identified by 'bugzillauser@'; grant all privileges on bugzilladb.* to bugzillauser@localhost identified by 'bugzillauser@'; flush privileges; \q
bugzilla 的数据库建立好了,名字为"bugzilladb",用户名和密码分别为"bugzillauser"和"bugzillauser@"。
生成新的 SSL 证书
在 bugzilla 站点的 "ssl" 目录里生成新的自签名 SSL 证书,前往 apache24 目录并在此建立新目录 "ssl":
cd /usr/local/etc/apache24/ mkdir ssl; cd ssl
接着,用 openssl 命令生成证书文件,而后更改其权限:
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 chmod 600 *
配置虚拟主机
咱们将在 "/usr/local/www/bugzilla" 目录里安装 bugzilla,因此咱们必须为它建立新的虚拟主机配置,前往 apache 目录并为虚拟主机文件建立名为 "vhost" 的新目录:
cd /usr/local/etc/apache24/ mkdir vhost; cd vhost
如今为虚拟主机文件建立新文件 "bugzilla.conf":
nano -c bugzilla.conf
将如下配置粘贴进去:
ServerName mybugzilla.me ServerAlias www.mybuzilla.me DocumentRoot /usr/local/www/bugzilla Redirect permanent / https://mybugzilla.me/ Listen 443 ServerName mybugzilla.me DocumentRoot /usr/local/www/bugzilla ErrorLog "/var/log/mybugzilla.me-error_log" CustomLog "/var/log/mybugzilla.me-access_log" common SSLEngine On SSLCertificateFile /usr/local/etc/apache24/ssl/bugzilla.crt SSLCertificateKeyFile /usr/local/etc/apache24/ssl/bugzilla.key AddHandler cgi-script .cgi Options +ExecCGI DirectoryIndex index.cgi index.html AllowOverride Limit FileInfo Indexes Options Require all granted
保存并退出,上述都完成以后,为 bugzilla 安装建立新目录,并在 httpd.conf 文件添加虚拟主机配置来启用 bugzilla虚拟主机,在 "apache24" 目录下运行如下命令:
mkdir -p /usr/local/www/bugzilla cd /usr/local/etc/apache24/ nano -c httpd.conf 文末,添加如下配置: Include etc/apache24/vhost/*.conf
保存并退出,如今用 "apachectl" 命令测试一下 apache 的配置并重启它:
apachectl configtest service apache24 restart
安装 Bugzilla
咱们能够经过下载源来手动安装 bugzilla 了,或从 freebsd 库中安装也能够,在这一步中咱们将用 pkg 命令从 freebsd 库中安装 bugzilla:
pkg install bugzilla50
以上步骤都完成以后,前往 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
你会收到输入邮箱名和管理员帐号的提示,你只要输入你的邮箱、用户名和密码就好了。
最后,咱们须要把安装目录的属主改为 "www",而后用服务命令重启 apache:
cd /usr/local/www/ chown -R www:www bugzilla service apache24 restart
如今 Bugzilla 已经安装好了,你能够经过访问 mybugzilla.me 来查看,而且将会重定向到 https 链接。
Bugzilla 首页:
Bugzilla admin 面板:
结论
Bugzilla 是一个基于 web 的应用,并能帮助你管理软件开发,它用 perl 开发并以 MySQL 做为数据库系统。Bugzilla 帮助 mozilla、redhat、gnome 等公司完成软件开发工做。Bugzilla 有不少功能并易于配置和安装。
免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/