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/