TranslateProject/translated/tech/20151208 How to Install Bugzilla with Apache and SSL on FreeBSD 10.2.md

268 lines
8.2 KiB
Markdown
Raw Normal View History

2015-12-15 11:48:11 +08:00
如何在FreeBSD 10.2上配置Apache和SSL并安装Bugzilla
2015-12-08 15:16:50 +08:00
================================================================================
2015-12-16 16:20:34 +08:00
Bugzilla是一款bug跟踪系统和测试工具它基于web且开源由mozilla计划开发并由Mozilla公共许可证授权。它经常被一些高科技公司如mozilla、红帽公司和gnome使用。Bugzilla起初由Terry Weissman在1998年创立它用perl语言编写用MySQL作为后端数据库。它是一款旨在帮助管理软件开发的服务器软件它功能丰富、高优化度的数据库、卓越的安全性、高级的搜索工具、整合邮件功能等等。
2015-12-08 15:16:50 +08:00
2015-12-17 11:19:44 +08:00
在本教程中我们将给web服务器安装bugzilla 5.0的apache并为它启用SSL然后在freebsd 10.2上安装mysql 5.1来作为数据库系统。
2015-12-08 15:16:50 +08:00
2015-12-15 11:48:11 +08:00
#### 准备 ####
2015-12-08 15:16:50 +08:00
2015-12-16 16:20:34 +08:00
FreeBSD 10.2 - 64位
Root权限
2015-12-08 15:16:50 +08:00
2015-12-15 11:48:11 +08:00
### 第一步 - 更新系统 ###
2015-12-08 15:16:50 +08:00
2015-12-17 11:19:44 +08:00
用ssl登录freebsd服务器并更新库
2015-12-08 15:16:50 +08:00
sudo su
freebsd-update fetch
freebsd-update install
2015-12-15 11:48:11 +08:00
### 第二步 - 安装并配置Apache ###
2015-12-08 15:16:50 +08:00
2015-12-17 11:19:44 +08:00
在这一步我们将从freebsd库中用pkg命令安装apache然后在apache24目录下编辑"httpd.conf"文件启用SSL和CGI支持。
2015-12-08 15:16:50 +08:00
2015-12-17 11:19:44 +08:00
用pkg命令安装apache
2015-12-08 15:16:50 +08:00
pkg install apache24
2015-12-17 11:19:44 +08:00
进入apache目录并用nano编辑器编辑"httpd.conf"文件:
2015-12-08 15:16:50 +08:00
cd /usr/local/etc/apache24
nano -c httpd.conf
2015-12-17 11:19:44 +08:00
反注释掉下面列出的行:
2015-12-08 15:16:50 +08:00
2015-12-17 11:19:44 +08:00
#第70行
2015-12-08 15:16:50 +08:00
LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so
2015-12-17 11:19:44 +08:00
#第89行
2015-12-08 15:16:50 +08:00
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
2015-12-17 11:19:44 +08:00
#第117行
2015-12-08 15:16:50 +08:00
LoadModule expires_module libexec/apache24/mod_expires.so
2015-12-17 11:19:44 +08:00
#第141行启用SSL
2015-12-08 15:16:50 +08:00
LoadModule ssl_module libexec/apache24/mod_ssl.so
2015-12-17 11:19:44 +08:00
#第162行支持cgi
2015-12-08 15:16:50 +08:00
LoadModule cgi_module libexec/apache24/mod_cgi.so
2015-12-17 11:19:44 +08:00
#第174行启用mod_rewrite
2015-12-08 15:16:50 +08:00
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
2015-12-17 11:19:44 +08:00
#第219行,服务器名配置
2015-12-08 15:16:50 +08:00
ServerName 127.0.0.1:80
2015-12-17 11:19:44 +08:00
保存并退出。
2015-12-08 15:16:50 +08:00
2015-12-17 11:19:44 +08:00
接着我们需要从freebsd库中安装mod perl并启用它
2015-12-08 15:16:50 +08:00
pkg install ap24-mod_perl2
2015-12-17 11:19:44 +08:00
启用mod_perl编辑"httpd.conf"文件并添加"Loadmodule"行:
2015-12-08 15:16:50 +08:00
nano -c httpd.conf
2015-12-17 11:19:44 +08:00
添加该行:
2015-12-08 15:16:50 +08:00
2015-12-17 11:19:44 +08:00
#第175行
2015-12-08 15:16:50 +08:00
LoadModule perl_module libexec/apache24/mod_perl.so
2015-12-17 11:19:44 +08:00
保存并退出。
2015-12-08 15:16:50 +08:00
2015-12-17 11:19:44 +08:00
在启用apache之前用sysrc命令添加以下行来在引导的时候启动
2015-12-08 15:16:50 +08:00
sysrc apache24_enable=yes
service apache24 start
2015-12-15 11:48:11 +08:00
### 第三步 - 安装并配置MySQL数据库 ###
2015-12-08 15:16:50 +08:00
2015-12-22 17:12:41 +08:00
我们要用mysql 5.1来作为后端数据库并且支持perl模块。用pkg命令安装mysql 5.1
2015-12-08 15:16:50 +08:00
pkg install p5-DBD-mysql51 mysql51-server mysql51-client
2015-12-22 17:12:41 +08:00
现在我们要在启动时添加mysql服务并启动然后为mysql配置root密码。
2015-12-08 15:16:50 +08:00
2015-12-22 17:12:41 +08:00
运行以下命令来完成所有操作:
2015-12-08 15:16:50 +08:00
sysrc mysql_enable=yes
service mysql-server start
mysqladmin -u root password aqwe123
2015-12-22 17:12:41 +08:00
注意:
2015-12-08 15:16:50 +08:00
2015-12-22 17:12:41 +08:00
这里mysql密码为aqwe123
2015-12-08 15:16:50 +08:00
![Configure MySQL Password](http://blog.linoxide.com/wp-content/uploads/2015/12/Configure-MySQL-Password.png)
以上步骤都完成之后我们用root登录mysql shell然后为bugzilla安装创建一个新的数据库和用户。
2015-12-08 15:16:50 +08:00
2015-12-30 11:06:26 +08:00
用以下命令登录mysql shell
2015-12-08 15:16:50 +08:00
mysql -u root -p
password: aqwe123
2015-12-30 11:06:26 +08:00
添加数据库:
2015-12-08 15:16:50 +08:00
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](http://blog.linoxide.com/wp-content/uploads/2015/12/Creating-Database-for-Bugzilla.png)
2015-12-30 11:06:26 +08:00
bugzilla的数据库创建好了名字为"bugzilladb",用户名和密码分别为"bugzillauser"和"bugzillauser@"。
2015-12-08 15:16:50 +08:00
2015-12-30 11:06:26 +08:00
### 第四步 - 生成新的SSL证书 ###
2015-12-08 15:16:50 +08:00
2015-12-30 11:06:26 +08:00
在bugzilla站点的"ssl"目录里生成新的自签名SSL证书。
2015-12-08 15:16:50 +08:00
2015-12-30 11:06:26 +08:00
前往apache24目录并在此创建新目录"ssl"
2015-12-08 15:16:50 +08:00
cd /usr/local/etc/apache24/
mkdir ssl; cd ssl
2015-12-30 11:06:26 +08:00
接着用openssl命令生成证书文件然后更改其权限
2015-12-08 15:16:50 +08:00
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 *
2015-12-15 11:48:11 +08:00
### 第五步 - 配置虚拟主机 ###
2015-12-08 15:16:50 +08:00
我们将在"/usr/local/www/bugzilla"目录里安装bugzilla所以我们必须为它创建新的虚拟主机配置。
2015-12-08 15:16:50 +08:00
前往apache目录并为虚拟主机文件创建名为"vhost"的新目录:
2015-12-08 15:16:50 +08:00
cd /usr/local/etc/apache24/
mkdir vhost; cd vhost
现在为虚拟主机文件创建新文件"bugzilla.conf"
2015-12-08 15:16:50 +08:00
nano -c bugzilla.conf
将以下配置粘贴进去:
2015-12-08 15:16:50 +08:00
<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>
2015-12-30 11:06:26 +08:00
保存并退出。
2015-12-08 15:16:50 +08:00
上述都完成之后为bugzilla安装创建新目录并通过添加虚拟主机配置至httpd.conf文件来启用bugzilla虚拟主机。
2015-12-08 15:16:50 +08:00
在"apache24"目录下运行以下命令:
2015-12-08 15:16:50 +08:00
mkdir -p /usr/local/www/bugzilla
cd /usr/local/etc/apache24/
nano -c httpd.conf
文末,添加以下配置:
2015-12-08 15:16:50 +08:00
Include etc/apache24/vhost/*.conf
保存并退出。
2015-12-08 15:16:50 +08:00
现在用"apachectl"命令测试一下apache的配置并重启它
2015-12-08 15:16:50 +08:00
apachectl configtest
service apache24 restart
2015-12-15 11:48:11 +08:00
### 第六步 - 安装Bugzilla ###
2015-12-08 15:16:50 +08:00
我们可以通过下载源来手动安装bugzilla了或从freebsd库中安装也可以。在这一步中我们将用pkg命令从freebsd库中安装bugzilla
2015-12-08 15:16:50 +08:00
pkg install bugzilla50
2016-01-04 14:48:54 +08:00
以上步骤都完成之后前往bugzilla安装目录并安装所有bugzilla需要的perl模块。
2015-12-08 15:16:50 +08:00
cd /usr/local/www/bugzilla
./install-module --all
2016-01-04 14:48:54 +08:00
要等到所有都完成,这需要点时间。
2015-12-08 15:16:50 +08:00
2016-01-04 14:48:54 +08:00
下一步在bugzilla的安装目录中执行"checksetup.pl"文件来生成配置文件"localconfig"。
2015-12-08 15:16:50 +08:00
./checksetup.pl
2016-01-04 14:48:54 +08:00
你会看到一条关于数据库配置错误你得用nano编辑器编辑一下"localconfig"文件:
2015-12-08 15:16:50 +08:00
nano -c localconfig
2016-01-04 14:48:54 +08:00
现在添加第三步创建的数据库。
2015-12-08 15:16:50 +08:00
2016-01-04 14:48:54 +08:00
#第五十七行
2015-12-08 15:16:50 +08:00
$db_name = 'bugzilladb';
2016-01-04 14:48:54 +08:00
#第六十行
2015-12-08 15:16:50 +08:00
$db_user = 'bugzillauser';
2016-01-04 14:48:54 +08:00
#第六十七行
2015-12-08 15:16:50 +08:00
$db_pass = 'bugzillauser@';
2016-01-04 14:48:54 +08:00
保存并退出。
2015-12-08 15:16:50 +08:00
2016-01-04 14:48:54 +08:00
然后再次运行"checksetup.pl"
2015-12-08 15:16:50 +08:00
./checksetup.pl
2016-01-04 14:48:54 +08:00
你会收到输入邮箱名和管理员账号的提示,你只要输入你得邮箱、用户名和密码就行了。
2015-12-08 15:16:50 +08:00
![Admin Setup](http://blog.linoxide.com/wp-content/uploads/2015/12/Admin-Setup.png)
2016-01-04 14:48:54 +08:00
最后,我们需要把安装目录的属主改成"www"然后用服务命令重启apache
2015-12-08 15:16:50 +08:00
cd /usr/local/www/
chown -R www:www bugzilla
service apache24 restart
2016-01-04 14:48:54 +08:00
现在Bugzilla已经安装好了你可以通过访问mybugzilla.me来查看并且将会重定向到https连接。
2015-12-08 15:16:50 +08:00
2016-01-04 14:48:54 +08:00
Bugzilla首页
2015-12-08 15:16:50 +08:00
![Bugzilla Home](http://blog.linoxide.com/wp-content/uploads/2015/12/Bugzilla-Home.png)
2016-01-04 14:48:54 +08:00
Bugzilla admin面板
2015-12-08 15:16:50 +08:00
![Bugzilla Admin Page](http://blog.linoxide.com/wp-content/uploads/2015/12/Bugzilla-Admin-Page.png)
2015-12-15 11:48:11 +08:00
### 结论 ###
2015-12-08 15:16:50 +08:00
2016-01-05 10:57:08 +08:00
Bugzilla是一个基于web并能帮助你管理软件开发的应用它用perl开发并使用MySQL作为数据库系统。Bugzilla被mozilla,redhat,gnome等等公司用来帮助它们的软件开发工作。Bugzilla有很多功能并易于配置和安装。
2015-12-08 15:16:50 +08:00
--------------------------------------------------------------------------------
via: http://linoxide.com/tools/install-bugzilla-apache-ssl-freebsd-10-2/
作者:[Arul][a]
2015-12-15 11:48:11 +08:00
译者:[ZTinoZ](https://github.com/ZTinoZ)
2015-12-08 15:16:50 +08:00
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
2015-12-15 10:09:11 +08:00
[a]:http://linoxide.com/author/arulm/