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 权限为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

将以下配置粘贴进去:

ServerName mybugzilla.me
ServerAlias www.mybuzilla.me
DocumentRoot /usr/local/www/bugzilla
Redirect permanent / https://mybugzilla.me/Listen 443ServerName 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.keyAddHandler 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技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

在FreeBSD上安装Bugzilla相关推荐

  1. centos 上安装bugzilla 详解

    公司现在有需要搭建bugzilla 系统,之前搭建过,但是没有记录下来,这次把他完全记录下来,以供自己以后参考(建议在安装系统的时候安装上开发工具,administrator tool ,system ...

  2. Windows 上安装 Bugzilla 详解

    一.软件准备: 1.phpStudy 下载地址http://phpstudy.php.cn/ 2.bugzilla 下载地址 https://www.bugzilla.org/download/ 3. ...

  3. FreeBSD上安装Cassandra 3.10

    哈哈,你居然点进来了,来吧,一起吐槽FreeBSD啊,装了一上午Cassandra 3.10都没有装成功, 终于,鄙人一条 shutdown -p now 结束了FreeBSD,默默打开了CentOS ...

  4. FreeBSD下安装配置Hadoop集群(一)

    Hadoop其实本身是Linux下开发的应用,不过得益于虚拟机技术,也可以运行在其他平台.例如FreeBSD. 不过,Linux用的好好的,为什么用FreeBSD呢? 这个问题的回答其实比较复杂,基于 ...

  5. linux手动安装rsync_在Linux/Unix上安装rsync并通过示例的方式介绍使用rsync命令

    本文介绍Rsync的功能,在Linux/Unix系统上安装rsync的方法,并通过示例的方式介绍使用rsync命令的方法. Rsync介绍及其功能 在rsync的手册页中,Rsync是一种快速且极其通 ...

  6. 完整的FreeBSD软件安装方法

    安装 了 FreeBSD 后,您一定还会需要 安装 其它非 FreeBSD 内附的软件.在 FreeBSD 上 安装 软件有许多种 方法 ,我们将一一为各位介绍. 本章包含了下列软件 安装 必备的课题 ...

  7. 如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理

    如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理 Nginx 是一款自由开源的 HTTP 和反向代理服务器,也可以用作 POP3/IMAP 的邮件代理服务器.Ngi ...

  8. 【Rayeager PX2】Rayeager PX2开发板上安装FreeBSD

    2019独角兽企业重金招聘Python工程师标准>>> 在PX2开发板上安装FreeBSD PX2主芯片是RK3188(Cortex A9)所以FreeBSD支持FreeBSD 安装 ...

  9. 如何在FreeBSD中安装Nginx,MySQL,PHP(FEMP)

    本文介绍如何在FreeBSD 13系统中安装Nginx.MySQL.和PHP服务. 系统环境 FreeBSD 13.0-RELEASE 更新系统 在安装任何软件之前更新系统是一个好习惯,以便检查系统更 ...

最新文章

  1. 将frm,myi,myd文件打包成sql文件
  2. [leetcode] remove duplicate letters
  3. 吴恩达机器学习 -- 逻辑回归(Logistic Regression)
  4. 快速入门:OpenShift上的Spring Boot和WildfFly 8.2
  5. oracle之数据处理之课后练习
  6. grasp设计模式应用场景_grasp设计模式笔记回顾
  7. 极简代码(二)—— 内积
  8. silverlight 学习笔记 (八):Prism中MEF的初步认识
  9. dd: 写入‘/EMPTY‘ 出错: 设备上没有空间
  10. 对 PInvoke 函数的调用导致堆栈不对称问题
  11. NandFlash介绍、操作流程分析以及S5PV210的NandFlash控制器介绍
  12. LA 4490 Help Bubu
  13. IDEA打包普通web项目
  14. SSL协议和SET协议
  15. elixir mix 简介
  16. 华为OD机试真题2022(JAVA)
  17. Visual Studio Code(VSCODE)修改字体、字号
  18. linux debian iso下载,Debian GNU/Linux 9.8 “Stretch” live和DVD ISO现在可供下载
  19. 【文件上传绕过】——二次渲染漏洞
  20. 刚当部门经理的一点小感悟,定时更新……

热门文章

  1. python环境离线复制_Python 离线环境
  2. matlab sae模型,matlab的Deep Learning的toolbox 中的SAE算法
  3. linux 编译c_含有CGO代码的项目如何实现跨平台编译
  4. c++向量和数组的区别_数学学习如此容易:用Python计算特征值和特征向量
  5. jboss7 应用详解_COMSOL Multiphysics多物理场仿真技术与应用光电专题线上培训
  6. apache httpclient 工具类_Httpclient实现文件上传、文件下载看这篇文章就够了
  7. iOS 获取当前设备型号iPhone7/iPhone7P
  8. 人机交互时,你认为机器人是有意识的还是无意识的?
  9. 统计学习方法笔记(一)-k近邻算法原理及python实现
  10. 针孔摄像头屡禁不止?用你手机自带的ToF传感器对付它,检测成功率近90%