Ubuntu 14.04安装bugzilla

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 笔记

安装apache2


我使用的是apache作为web容器。

安装apache2


mysql上创建用户bugzilla


  1. 使用root登录
    mysql -utoot -p//确定后输入密码
  2. 使用grant创建用户并授权
    GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugzilla@localhost IDENTIFIED BY 'password';
    mysql创建用户详解
  3. 查看所有用户
    select * from mysql.user;
  4. 删除用户
    delete from mysql.user where User="bugs" and Host="localhost";
  5. 刷新系统权限表
    FLUSH PRIVILEGES;
    创建,删除,查看,授权用户


安装bugzilla


1.下载bugzilla源码包

可使用此链接下载Bugzilla源码包:bugzilla-5.0.2.tar.gz

2.安装

  • 解压源码包到/opt/目录下
    sudo tar xvf bugzilla-5.0.2.tar.gz -C /opt/
  • 检查所需Perl模块是否安装
    sudo ./checksetup.pl
    按照提示修改localconfig文件

# If this is set to 0, checksetup.pl will not create .htaccess files.
$create_htaccess = 0;
# Who we connect to the database as.
$db_user = 'bugzilla';  //默认为bugs,但是我们创建数据库用户是名为bugzilla,所以修改一下
$db_pass = 'bugzilla123';
$webservergroup = 'www-data';

3. 关于配置webservergroup

修改/bugzilla/localconfig文件中的一句话:$webservergroup = 'www-data';

这里为什么填www-data呢,这是由我们安装好的apache2的环境变数决定的,该变数存在文件/etc/apache2/envvars中,文件的内容如下:

# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

这就是我们要填www-data的原因了


修改bugzilla访问权限


必须要设定buzilla文件的访问权限 。否则报错You don't have permission to access /bugzilla/ on this server

需要修改bugzilla目录的owner和groups。因为apache2环境变数决定是其是用www-data用户组来执行的。修改的命令为:sudo chgrp -R root.www-data bugzilla。

或者简单粗暴:

修改用户访问权限chmod -R 777 /var/www/html/bugzilla

修改apache服务器访问权限chown apache.apche /var/www/html/bugzilla –R

最后在终端执行下面的命令:sudo perl checksetup.pl,运行完毕bugzilla将会顺利的安装好,在安装的最后会让你输入bugzilla系统的管理员帐号和密码,这个必须记好了。


访问并使用bugzilla


访问http://servername/bugzilla/进入界面

访问时出现了一段源码

#!/usr/bin/perl -T
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
use 5.10.1;
use strict;
use warnings;
use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
use Bugzilla::Error;
use Bugzilla::Update;
# Check whether or not the user is logged in
my $user = Bugzilla->login(LOGIN_OPTIONAL);
my $cgi = Bugzilla->cgi;
my $template = Bugzilla->template;
my $vars = {};
# And log out the user if requested. We do this first so that nothing
# else accidentally relies on the current login.
if ($cgi->param('logout')) {
    Bugzilla->logout();
    $user = Bugzilla->user;
    $vars->{'message'} = "logged_out";
    # Make sure that templates or other code doesn't get confused about this.
    $cgi->delete('logout');
}
# Return the appropriate HTTP response headers.
print $cgi->header();
if ($user->in_group('admin')) {
    # If 'urlbase' is not set, display the Welcome page.
    unless (Bugzilla->params->{'urlbase'}) {
        $template->process('welcome-admin.html.tmpl')
          || ThrowTemplateError($template->error());
        exit;
    }
    # Inform the administrator about new releases, if any.
    $vars->{'release'} = Bugzilla::Update::get_notifications();
}
if ($user->id) {
    my $dbh = Bugzilla->dbh;
    $vars->{assignee_count} =
      $dbh->selectrow_array("SELECT COUNT(*) FROM bugs WHERE assigned_to = ?
                             AND resolution = ''", undef, $user->id);
    $vars->{reporter_count} =
      $dbh->selectrow_array("SELECT COUNT(*) FROM bugs WHERE reporter = ?
                             AND resolution = ''", undef, $user->id);
    $vars->{requestee_count} =
      $dbh->selectrow_array('SELECT COUNT(DISTINCT bug_id) FROM flags
                             WHERE requestee_id = ?', undef, $user->id);
}
# Generate and return the UI (HTML page) from the appropriate template.
$template->process("index.html.tmpl", $vars)
  || ThrowTemplateError($template->error());

这是因为cgi没有启动,解决方案:

# sudo a2enmod cgi
# sudo /etc/init.d/apache2 restart

好了,现在可以访问了,如下图7.png

Bugzilla的使用

在新建用户的时候,出现如下错误是因为163的服务器认为该邮件为垃圾邮件,被拒绝接收,因为我才改换了qq邮箱。8.png

出现如下错误是因为设置smtp_password的时候,填写的是邮箱密码,导致授权失败。正确的做法为:data/params.json中smtp_password值为申请QQ邮箱的授权码。9.png

使用163作为smtp服务器,总是发送不成功,后来使用了qq的smtp,发送成功了。

QQ邮箱开通SMTP需要一个授权码,对应 的是POP3/SMTP协议。如下配置:

我使用的邮箱账号是:775665043@qq.com

"smtp_password" : "your auth code",
"smtp_username" : "775665043@qq.com",

bugzilla使用SMTP发送邮件

bugzilla 发送邮件配置

Bugzilla 不能发送邮件


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
305 2
|
4月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
6486 3
|
4天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
90 15
|
25天前
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
38 6
|
2月前
|
JSON Ubuntu 开发者
ubuntu 22安装lua环境&&编译lua cjson模块
通过上述步骤,可以在 Ubuntu 22.04 系统上成功安装 Lua 环境,并使用 LuaRocks 或手动编译的方式安装 lua-cjson 模块。本文详细介绍了每一步的命令和操作,确保每一步都能顺利完成,适合需要在 Ubuntu 系统上配置 Lua 开发环境的开发者参考和使用。
179 13
|
2月前
|
监控 关系型数据库 MySQL
Ubuntu24.04安装Librenms
此指南介绍了在Linux系统上安装和配置LibreNMS网络监控系统的步骤。主要内容包括:安装所需软件包、创建用户、克隆LibreNMS仓库、设置文件权限、安装PHP依赖、配置时区、设置MariaDB数据库、调整PHP-FPM与Nginx配置、配置SNMP及防火墙、启用命令补全、设置Cron任务和日志配置,最后通过网页完成安装。整个过程确保LibreNMS能稳定运行并提供有效的网络监控功能。
|
3月前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
717 50
|
2月前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
1273 12
|
3月前
|
Ubuntu
ubuntu和debian 的安装包dpkg管理命令对安装包进行安装,查询,卸载
Ubuntu dpkg 软件包管理命令概览:安装、卸载、查看和配置软件包。包括解决依赖、强制卸载、列出及过滤已安装包、查看包详情等操作。
126 10
|
3月前
|
Ubuntu API 开发工具
PSOPT在Ubuntu22.04下的安装
通过上述步骤,可以在Ubuntu 22.04下成功安装并配置PSOPT。PSOPT是一个功能强大的工具,适用于解决各种最优控制问题。确保在安装前满足系统要求,并仔细按照步骤操作,可以避免大多数常见问题。通过MATLAB与PSOPT的结合,您可以更高效地处理复杂的控制问题,并获得准确的解决方案。
50 5