如何在 CentOS 7 上安装 Bugzilla 5.0
在此页
- CentOS 的先决条件
- 互联网连接
- SELinux
- 禁用 SELinux
- 启用 Epel 存储库
- 启用并启动 httpd.service
- 启动httpd.service
- 检查 httpd.service 的状态
- 永久启用 httpd.service
- 在本地防火墙中打开端口 80 以允许 HTTP 请求
- 测试 Apache 网络服务器
- 让 MariaDB 在启动时自动启动
- 设置 MariaDB root 密码
- 为 MariaDB 设置 max_allowed_packets
- 为 Bugzilla 创建一个数据库
- 下载并解压 Bugzilla
- 将 Bugzilla 文件夹复制到网络服务器文件夹
- 使用 Bugzillas 安装脚本进行最终设置
- 配置 Apache 来托管我们的 Bugzilla 安装
- 切换回普通用户
- 使用浏览器测试 Bugzilla 安装
本 HowTo 将引导您在 CentOS 7 上安装 Bugzilla 5.0。Bugzilla 是一个高级错误跟踪系统,由 Mozilla 基金会(开发著名的 Firefox 浏览器的组织)开发。 Bugzilla 允许您跟踪应用程序中的缺陷和代码更改,允许您轻松地在开发团队中进行交流并提交和审查补丁。
CentOS 的先决条件
网络连接
你应该有一个最小的 CentOS 7 安装和最新的更新以及 IP 地址和主机名集。您的机器应该能够访问互联网。如果您不能直接连接到 Internet 而必须使用代理服务器,您应该通过编辑 /etc/yum.conf 将 yum 配置为使用代理。添加以下行(根据您的需要更改它们):
当我们使用需要互联网访问的命令行工具并且您在代理服务器后面时,请确保在使用需要互联网连接的命令之前始终执行以下两个命令:
使用此方法,即使您在代理后面,也应该能够使用此操作方法。SELinux
Security-Enhanced Linux (SELinux) 是一种在内核中实现的强制访问控制 (MAC) 安全机制。这是一个极好的安全机制,但它会破坏 Bugzilla,直到发布官方 Bugzilla 5.0 rpm 包,该包也将配置 SELinux。所以此时我们将 SELinux 设置为宽容模式。在此模式下,SELinux 已启用,但不会强制执行安全策略。
禁用 SELinux
执行以下命令将 SELinux 模式从强制更改为允许。
文件现在应该如下所示:
更改后,重新启动您的机器。用于安装的帐户
如果没有明确说明,本操作指南中的所有命令均以用户安装程序执行,该用户安装程序是 CentOS 7 机器上的管理用户,并允许使用 sudo 执行命令。
附加存储库
我们将需要许多不在官方 CentOS 存储库中的软件包,因此我们在我们的 CentOS 机器上启用了一个额外的存储库。
启用 Epel 存储库
执行以下命令以启用 epel 存储库。
信息:从 epel 存储库安装第一个软件包时,您必须接受 epel GPG 密钥。使用 mod_ssl 和 mod_perl 安装 Apache
这将安装 Apache、mod_ssl、mod_perl 和 wget 以及所有需要的依赖项。启用并启动 httpd.service
CentOS 7 使用 systemd,因此我们将以 systemd 方式启用和启动 Apache。
启动httpd.service
检查 httpd.service 的状态
这个命令应该告诉你,httpd.service 正在运行(一些行被删除)永久启用 httpd.service
验证以上输出后,我们启用 httpd.service 以自动启动:
系统会自动创建一个符号链接,使http.service能够自动启动。在本地防火墙开放80端口,允许HTTP请求
CentOS 7 使用 FirewallD,因此我们必须使用 firewall-cmd 更改防火墙设置以允许端口 80 (HTTP) 上的传入连接。
测试 Apache Web 服务器
使用浏览器并打开 http://ip-of-your-server/(将 ip-of-your-server 替换为您服务器的 IP 地址)。您应该会看到 Apache 测试页。 - 阿帕奇正在工作!
安装 MariaDB
CentOS 7 附带 MariaDB 而不是 MySQL。 MariaDB 是相当于 MySQL 的开源软件。要安装 MariaDB,请执行以下命令:
让 MariaDB 在启动时自动启动
为了在启动时自动启动 MariaDB,我们将其设置为服务,就像我们之前使用 httpd.service 所做的一样。执行以下三个命令来启动、检查状态并启用 MariaDB 作为永久服务:
设置 MariaDB root 密码
通过执行以下命令在您的 MariaDB 服务器中打开一个 SQL 提示符:
您应该进入 MariaDB 提示符。在以下命令中,您必须将 myrootpassword 替换为您要用于 MariaDB root 用户的密码!
现在尝试是否可以使用 root 用户登录为 MariaDB 设置 max_allowed_packets
Bugzilla 需要在 MariaDB 中配置最小大小的 max_allowed_packet。因此,让我们更改通用 MariaDB 配置以将 max_allowed_packet 大小设置为 4 MBytes。
用您的编辑器打开 /etc/my.cnf 并在 [mysqld] 部分下方添加以下行:
修改后整个 my.cnf 如下所示:
更改将在重启 MariaDB 后生效。附加套餐
Bugzilla 需要很多额外的包,主要是与 perl 相关的,一些使 perl 模块工作的先决条件和一个能够下载和安装 perl 模块的设置。为此,我们安装了所有必要的依赖项。我们还确保,我们
(perl-homedir 会在 Bugzilla 无法访问的用户文件夹中安装 perl 模块,因此绝对不要安装它!)
以下命令将确保未安装 perl-homedir 并将安装其他所需的包:
将安装大约 1300 个软件包!安装 Bugzilla
现在我们已经完成了所有准备工作,我们准备下载最新的 Bugzilla,为其创建数据库并进行一些最终设置。
为 Bugzilla 创建数据库
要在我们的 MariaDB 服务器上为 Bugzilla 创建数据库,我们必须再次打开 MariaDB root 提示符:
在 MariaDB root 提示符下输入以下命令来创建数据库 bugs 并允许用户 bugs 完全访问它。 (请将 bugsuserpassword 更改为您的密码!)下载并解压 Bugzilla
虽然有不同的选项来获取 BugZilla,但我们使用 wget 下载 tarball 我们希望获得稳定版本 (5.0)。
下载完成后,我们解压压缩包:将 Bugzilla 文件夹复制到 webserver 文件夹
现在让我们使用以下命令将提取的文件夹 (bugzilla-5.0) 复制到其目标位置 (/var/www/html/bugzilla)
使用 Bugzillas 安装脚本进行最终设置
以下命令必须以 root 用户身份执行,因此我们使用以下命令打开 root shell:
我们的提示现在有一个 # 在末尾,这意味着我们是 root。现在请小心所有命令! howto 现在将始终显示提示,告诉您您应该以 root 身份执行命令!
现在(以 root 身份)我们切换到 bugzilla 所在的 webserver 文件夹
现在执行下面的命令让Bugzilla安装脚本检查我们设置的状态
通常上述命令的输出会告诉我们,我们的安装中缺少一些 perl 模块(可选的和必需的),我们必须至少安装必需的模块才能继续。您当然可以通过手动执行安装脚本将向您显示的命令来安装所有必需的(如果您愿意的话)可选模块,但是使用这个命令,您将立即安装所有必需的 perl 模块(必需的和可选的)。所以让我们执行它:
安装脚本现在将设置临时 CPAN 配置并尝试安装 Bugzilla 需要的所有 perl 模块(必需和可选)。在此过程中只会出现一些小警告。
最后,让我们再次通过执行 checksetup.pl 来验证安装状态
现在所有依赖项都应该没问题,除了一个模块 (DBD-Oracle (v1.19) 未找到。这没问题,因为该模块只有在找到我们没有的有效 Oracle 安装时才会安装!< br>
安装脚本现在将显示以下文本:
如上所述,我们用我们的编辑器打开 ./localconfig 并将其更改为我们的需要。这是我使用的那个(注释已删除),请确保根据需要更改数据库名称和密码!
现在让我们再次运行设置脚本。它现在应该检测到正确的数据库配置并开始访问 MariaDB 服务器以进行最终设置。
输出(一些行被剥离)
现在按照提示完成设置(在此处使用您的值作为答案!):
当一切顺利时,您应该会看到:
此时我们快完成了。执行以下行以注释掉 Bugzilla 安装脚本创建的 .htaccess 文件中的一行:配置 Apache 以托管我们的 Bugzilla 安装
Apache 仍然对 Bugzilla 一无所知。因此,让我们使用以下内容创建文件 /etc/httpd/conf.d/bugzilla.conf 以将我们的 Bugzilla 网站引入 httpd.service。
创建文件后,我们重新启动 Apache 以使更改生效:切换回普通用户
不再需要以 root 身份工作,如果需要 root 权限,现在可以使用 sudo。因此,执行以下命令退出 root shell:
使用浏览器测试 Bugzilla 安装
使用浏览器并打开 http://ip-of-your-server/(将 ip-of-your-server 替换为您服务器的 IP 地址)。您现在应该看到 Bugzilla 页面而不是默认的 Apache 测试页面。
您现在可以使用您提供给 Bugzilla 安装脚本的凭据登录。在此操作方法中,这是:
瞧!您现在已经在 CentOS 7 上安装了一个可用的 Bugzilla 5.0。您现在可以继续在 Bugzilla Web 界面中设置 Bugzilla 的详细信息。