在 FreeBSD 10.2 上如何通過配置 Apache 和 SSL 安裝 Bugzilla
來自: https://linux.cn/article-7013-1.html
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 來作為數據庫系統。
準備
- FreeBSD 10.2 - 64位
- 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
以上步驟都完成之后,我們用 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
將以下配置粘貼進去:
<VirtualHost *:80> ServerName mybugzilla.me ServerAlias www.mybuzilla.me DocumentRoot /usr/local/www/bugzilla Redirect permanent / https://mybugzilla.me/ </VirtualHost> Listen 443 <VirtualHost _default_: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 <Directory "/usr/local/www/bugzilla"> AddHandler cgi-script .cgi Options +ExecCGI DirectoryIndex index.cgi index.html AllowOverride Limit FileInfo Indexes Options Require all granted </Directory> </VirtualHost>
保存并退出。
上述都完成之后,為 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 有很多功能并易于配置和安裝。
via: http://linoxide.com/tools/install-bugzilla-apache-ssl-freebsd-10-2/