bugzilla在Ubuntu系统下进行安装

bugzilla在Ubuntu系统下进行安装

安装Perl

perl -v #若已经安装,检查安装版本
sudo apt install perl*

安装数据库

虽然bugzilla官方建议MySQL,但是高版本MySQL和bugzilla有部分不兼容造成bug,且此bug还未修复。

sudo apt install postgresql postgresql-contrib
sudo -i -u postgres #进入SQL命令行
	CREATE ROLE bugzilla LOGIN PASSWORD 'BugsAbc'; #密码和role可以更改,但是要和之后的流程对应
	CREATE DATABASE bugs;
	GRANT ALL PRIVILEGES ON DATABASE bugs TO bugzilla;
	\q #退出SQL的命令行
sudo systemctl restart postgresql #重启SQL服务

安装 Apache2 并配置

Ubuntu系统中,httpd集成在了apache2中,所以直接安装apache2

sudo apt install apache2

安装后设置为开机自启

apache2 -k start
sudo update-rc.d apache2 enable

在/etc/apache2/中,修改文件

sudo vim /etc/apache2/sites-available/bugzilla.conf #需要提前安装vim

往文件内写入内容,按i或insert进入编写

Listen 8555
<VirtualHost *:8555>
ServerAdmin yourmail@outlook.com #写管理员的邮箱
DocumentRoot "/opt/bugzilla5"	#之后bugzilla安装文件为放在这里
ServerName 192.168.10.192	#这里自己设定
ServerAlias 192.168.10.192	#有公网ip可以写公网ip,没有的话就和上面一样
ErrorLog "${APACHE_LOG_DIR}/vhost.bugzilla.error.log"
CustomLog "${APACHE_LOG_DIR}/vhost.bugzilla.access.log" combined

<Directory /opt/bugzilla5>
AddHandler cgi-script .cgi .pl
Options +Indexes +ExecCGI
DirectoryIndex index.cgi index.html index.html.var
AllowOverride all
Require all granted
</Directory>
</VirtualHost>

写完后按esc,再输入:wq保存并退出

使用以下命令使配置生效

sudo a2ensite /etc/apache2/sites/available/bugzilla.conf

会自动检查语法错误

如没有问题,重启apache服务

sudo systemctl restart apache2

创建用户组

sudo groupadd apache #创建用户
sudo useradd -g [group-name] apache #把用户加入到组内

下载 Bugzilla 并安装配置

这里将bugzilla安装在/opt/bugzilla5的位置

假设已经获得了bugzilla的安装包,我用的是5.0.6的版本

sudo tar -zxvf /opt/bugzilla.tar.gz

分配用户权限

sudo chown -R apache:[group-name] /opt/bugzilla5
sudo chmod -R 755 /opt/bugzilla5 #如果没有正确设置用户权限,届时网页会出现 403 错误

接下来安装缺失的Perl模块,时间会比较长

cd /opt/bugzilla5 #进入文件夹
./checksetup.pl #查看哪些Perl模块缺失
perl install-module.pl --all #安装缺失的模块

完成以上命令并不能保证perl模块完全成功安装了,再次运行./checksetup.pl检查还缺哪些模块,然后建议把缺失的报错全部丢给gpt,它会整理,并给出对应缺失模块的安装命令。

如果所有的模块都成功安装后,会生成一个localconfig文件,打开文件修改配置

vim ./localconfig

若打开的是一个空文件,则说明上一步没有全部完成

修改以下内容:

$webservergroup = '你命名的用户组'; #如果没有正确设置用户权限,届时网页会出现 403 错误,这里的用户组名称设为你上面创建 apache 用户时实际加入的用户组
$db_driver = 'Pg';
$db_name = 'bugs';
$db_user = 'bugzilla';
$db_pass = 'BugsAbc'; #对应的是安装数据库时的配置

修改完成后,再次运行./checksetup.pl检查,如果没问题则会进入下一步,输入管理员账号等(这是网页上登录的管理员账号)。

此时打开浏览器,在地址栏输入你的 IP 地址和端口号,或者输入 127.0.1.1 和端口号即可访问 bugzilla 网页。打开如下:
在这里插入图片描述

如果不是这样,而是就只有代码显示,则说明apache没有正确处理cgi脚本,而是将其内容当作普通文本文件发送给了浏览器,可能的原因是缺失cgi处理模块。

检查 mod_cgimod_cgid 是否已经启用

sudo a2enmod cgi

或者对于多线程的 MPM(例如 eventworker MPM)

sudo a2enmod cgid

确保 CGI 脚本(如 index.cgi)是可执行的。可以使用以下命令来设置文件权限:

sudo chmod +x /opt/bugzilla5/*.cgi

重启apache,应用更改

sudo systemctl restart apache2

尝试再次访问Bugzilla,看看它是否现在正确地加载了。

其它:

若有其它问题,可以查看 /var/log/apache2/error.log来获取更多信息。

关于bugzilla设置SMPT服务器,可以移步前往这篇文章

Bugzilla的配置和安装以及配置时遇到问题的解决方案_bugzilla 内网邮箱-CSDN博客

参考:[技术干货!]Linux下Bugzilla的安装及配置 - 知乎 (zhihu.com)

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值