FreeBSD系統上如何安裝Bugzilla?FreeBSD系統安裝Bugzilla的方法教程

佚名發表於2020-07-12

Bugzilla 是一款開源的 Web 應用,是一款bug跟蹤系統和測試工具,那麼在FreeBSD上如何安裝Bugzilla?今天小編將為大家帶來在FreeBSD上安裝Bugzilla的方法

Bugzilla 是一款開源的 Web 應用,是一款bug跟蹤系統和測試工具,由 mozilla 開發,並採用 Mozilla 公共許可證授權(MPL),它經常被一些高科技公司如 mozilla、紅帽公司和 gnome 使用,Bugzilla 起初由 Terry Weissman開發於1998年,它用 perl 語言編寫,用 MySQL 作為後端資料庫,它是一款旨在幫助管理軟體開發的伺服器軟體,它有豐富的功能、高度最佳化的資料庫等特性。

Bugzilla

在本教程中,我們將安裝 bugzilla 5.0 ,採用 apache 作為 Web 伺服器,併為它啟用 SSL,然後在 freebsd 10.2 上安裝 mysql 5.1 來作為資料庫系統。

準備

FreeBSD 10.2 64位系統 Root 許可權為root

更新系統

用 ssh 登入 freebsd 伺服器,並更新軟體庫:

sudo su

freebsd-update fetch

freebsd-update install

安裝並配置 Apache

在這一步我們將使用 pkg 命令從 freebsd 軟體庫中安裝 apache,然後在 apache24 目錄下編輯 "httpd.conf" 檔案,來配置apache 以啟用 SSL 和 CGI 支援,用 pkg 命令安裝 apache:

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,並啟用它:

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

Configure-MySQL-Password

以上步驟都完成之後,我們用 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

Creating-Database-for-Bugzilla

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

你會收到輸入郵箱名和管理員賬號的提示,你只要輸入你的郵箱、使用者名稱和密碼就行了。

Admin-Setup

最後,我們需要把安裝目錄的屬主改成 "www",然後用服務命令重啟 apache:

cd /usr/local/www/

chown -R www:www bugzilla

service apache24 restart

現在 Bugzilla 已經安裝好了,你可以透過訪問 mybugzilla.me 來檢視,並且將會重定向到 https 連線。 Bugzilla 首頁:

Bugzilla-Home

Bugzilla admin 皮膚:

Bugzilla-Admin-Page

結論

Bugzilla 是一個基於 web 的應用,並能幫助你管理軟體開發,它用 perl 開發並以 MySQL 作為資料庫系統。Bugzilla 幫助 mozilla、redhat、gnome 等公司完成軟體開發工作。Bugzilla 有很多功能並易於配置和安裝。

相關文章