在 FreeBSD 10.2 上如何通過配置 Apache 和 SSL 安裝 Bugzilla
在本教程中,我們將安裝 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/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive