Auf dieser Seite
- Voraussetzungen für CentOS
- Internetverbindung
- SELinux
- SELinux deaktivieren
- Für die Installation verwendetes Konto
- Zusätzliche Repositories
- Epel-Repository aktivieren
- Installieren Sie Apache mit mod_ssl und mod_perl
- Aktivieren und starten Sie httpd.service
- Starten Sie httpd.service
- Überprüfen Sie den Status von httpd.service
- httpd.service dauerhaft aktivieren
- Port 80 in der lokalen Firewall öffnen, um HTTP-Anfragen zuzulassen
- Testen Sie den Apache-Webserver
- Aktivieren und starten Sie httpd.service
- Installieren Sie MariaDB
- MariaDB beim Booten automatisch starten lassen
- MariaDB-Root-Passwort festlegen
- Max_allowed_packets für MariaDB festlegen
- Zusätzliche Pakete
- Erstellen Sie eine Datenbank für Bugzilla
- Bugzilla herunterladen und extrahieren
- Kopieren Sie den Bugzilla-Ordner in den Webserver-Ordner
- Endgültige Einrichtung mit Bugzillas Installationsskript
- Konfigurieren Sie Apache, um unsere Bugzilla-Installation zu hosten
- Zurück zum normalen Benutzer wechseln
- Testen Sie die Bugzilla-Installation mit Ihrem Browser
Dieses HowTo führt Sie durch die Installation von Bugzilla 5.0 auf CentOS 7. Bugzilla ist ein fortschrittliches Fehlerverfolgungssystem, das von der Mozilla Foundation (der Organisation, die den berühmten Firefox-Browser entwickelt) entwickelt wurde. Mit Bugzilla können Sie Fehler und Codeänderungen in Ihren Anwendungen nachverfolgen, mit Ihrem Entwicklerteam einfach kommunizieren und Patches einreichen und überprüfen.
Voraussetzungen für CentOS
Internetverbindung
Sie sollten eine minimale CentOS 7-Installation mit den neuesten Updates und IP-Adresse und Hostnamen haben. Ihr Computer sollte in der Lage sein, das Internet zu erreichen. Wenn Sie das Internet nicht direkt erreichen können und einen Proxyserver verwenden müssen, sollten Sie yum für die Verwendung eines Proxys konfigurieren, indem Sie /etc/yum.conf bearbeiten. Fügen Sie die folgenden Zeilen hinzu (ändern Sie sie nach Bedarf):
# Der Proxyserver - proxy server:portproxy=http://192.168.178.1:8080
# Die Kontodetails für Yum-Verbindungen
# proxy_username=yum-user
# proxy_password=qwerty
Wenn wir Befehlszeilentools verwenden, die einen Internetzugang erfordern, und Sie sich hinter einem Proxyserver befinden, stellen Sie sicher, dass Sie immer die folgenden beiden Befehle ausführen, bevor Sie Befehle verwenden, die eine Internetverbindung erfordern:
exportiere https_proxy=http://192.168.178.1:8080/
Mit dieser Methode sollten Sie in der Lage sein, diese Anleitung auch dann zu verwenden, wenn Sie sich hinter einem Proxy befinden.
SELinux
Security-Enhanced Linux (SELinux) ist ein im Kernel implementierter Sicherheitsmechanismus für die obligatorische Zugriffssteuerung (MAC). Es ist ein ausgezeichneter Sicherheitsmechanismus, aber er wird Bugzilla brechen, bis ein offizielles Bugzilla 5.0-RPM-Paket veröffentlicht wird, das auch SELinux konfiguriert. An dieser Stelle werden wir also SELinux in den zulässigen Modus versetzen. In diesem Modus ist SELinux aktiviert, erzwingt jedoch nicht die Sicherheitsrichtlinie.
SELinux deaktivieren
Führen Sie den folgenden Befehl aus, um den SELinux-Modus von erzwingend auf permissiv zu ändern.
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/g' /etc/selinux/config
Die Datei sollte nun so aussehen:
# SELINUX=kann einen dieser drei Werte annehmen:
# erzwingen - SELinux-Sicherheitsrichtlinie wird erzwungen.
# permissiv - SELinux gibt Warnungen aus statt erzwingen.
# deaktiviert – Es wird keine SELinux-Richtlinie geladen.
SELINUX=permissive
# SELINUXTYPE=kann einen von drei zwei Werten annehmen:
# targetiert – Zielgerichtete Prozesse werden geschützt ,
# mindestens - Änderung der zielgerichteten Richtlinie. Nur ausgewählte Prozesse werden geschützt.
# mls - Multi Level Security Protection.
SELINUXTYPE=targeted
Starten Sie nach dieser Änderung Ihren Computer neu.
Für die Installation verwendetes Konto
Wenn nicht ausdrücklich anders angegeben, werden alle Befehle in diesem How-to als Benutzer „installer“ ausgeführt, der ein Administrator auf dem CentOS 7-Rechner ist und Befehle mit „sudo“ ausführen darf.
Zusätzliche Repositories
Wir werden viele Pakete benötigen, die sich nicht in den offiziellen CentOS-Repositorys befinden, daher aktivieren wir ein zusätzliches Repository auf unserer CentOS-Box.
Epel-Repository aktivieren
Führen Sie die folgenden Befehle aus, um das Epel-Repository zu aktivieren.
sudo yum installiere deltarpm epel-releasesudo yum update
Info:Sie müssen den epel GPG-Schlüssel akzeptieren, wenn Sie das erste Paket aus dem epel-Repository installieren.
Installieren Sie Apache mit mod_ssl und mod_perl
sudo yum install httpd httpd-devel mod_ssl mod_ssl mod_perl mod_perl-devel
Dadurch werden Apache, mod_ssl, mod_perl und wget mit allen erforderlichen Abhängigkeiten installiert.
httpd.service aktivieren und starten
CentOS 7 verwendet systemd, also aktivieren und starten wir Apache auf „systemd way“.
httpd.service starten
sudo systemctl start httpd.serviceStatus von httpd.service prüfen
sudo systemctl status httpd.service
Dieser Befehl sollte Ihnen mitteilen, dass httpd.service läuft (einige Zeilen wurden entfernt)
Geladen:geladen (/usr/lib/systemd/system/httpd.service; deaktiviert)
Aktiv:aktiv (läuft) seit Di 2015-08-04 11:18:03 MESZ; Vor 6 Sekunden
Haupt-PID:11930 (/usr/sbin/httpd)
...
httpd.service dauerhaft aktivieren
Nachdem wir die obige Ausgabe überprüft haben, aktivieren wir httpd.service für den automatischen Start mit:
sudo systemctl aktiviert httpd.service
Das System erstellt automatisch einen symbolischen Link, um http.service für den automatischen Start zu aktivieren.
Öffnen Sie Port 80 in der lokalen Firewall, um HTTP-Anfragen zuzulassen
CentOS 7 verwendet FirewallD, daher müssen wir Firewall-cmd verwenden, um die Firewall-Einstellung so zu ändern, dass eingehende Verbindungen auf Port 80 (HTTP) zugelassen werden.
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent# success
sudo firewall-cmd --reload
# success
Testen Sie den Apache-Webserver
Verwenden Sie einen Browser und öffnen Sie http://ip-of-your-server/ (ersetzen Sie ip-of-your-server durch die IP-Adresse Ihres Servers). Sie sollten die Apache-Testseite sehen. - Apache funktioniert!
Installieren Sie MariaDB
CentOS 7 kommt mit MariaDB statt MySQL. MariaDB ist ein Open-Source-Äquivalent zu MySQL. Um MariaDB zu installieren, führen Sie die folgenden Befehle aus:
sudo yum install mariadb-server mariadb mariadb-devel php-mysqlMariaDB automatisch beim Booten starten
Um MariaDB beim Booten automatisch zu starten, richten wir es als Dienst ein, so wie wir es zuvor mit httpd.service getan haben. Führen Sie die folgenden drei Befehle aus, um zu starten, den Status zu überprüfen und MariaDB als dauerhaften Dienst zu aktivieren:
sudo systemctl start mariadb.servicesudo systemctl status mariadb.service
sudo systemctl enable mariadb.service
MariaDB-Root-Passwort festlegen
Öffnen Sie eine SQL-Eingabeaufforderung in Ihrem MariaDB-Server, indem Sie den folgenden Befehl ausführen:
mysql -u root
Sie sollten auf der MariaDB-Eingabeaufforderung landen. In den folgenden Befehlen müssen Sie myrootpassword durch das Passwort ersetzen, das Sie für Ihren MariaDB-Root-Benutzer verwenden möchten!
Versuchen Sie jetzt, ob Sie sich mit dem Root-Benutzer anmelden können
Passwort eingeben:myrootpasswordWillkommen beim MariaDB-Monitor. Befehle enden mit; oder \g.
Ihre MariaDB-Verbindungs-ID ist 5
Serverversion:5.5.41-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab und andere.
Geben Sie 'Hilfe;' oder '\h' für Hilfe. Geben Sie '\c' ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [ (keine) ]> \qBye
max_allowed_packets für MariaDB festlegen
Bugzilla benötigt eine Mindestgröße von „max_allowed_packet“, die in MariaDB konfiguriert ist. Lassen Sie uns also die generische MariaDB-Konfiguration ändern, um die Größe von „max_allowed_packet“ auf 4 MB zu setzen.
Öffnen Sie „/etc/my.cnf“ mit Ihrem Editor und fügen Sie die folgenden Zeilen unter dem Abschnitt „[mysqld]“ hinzu:
# maximal erlaubte Größe eines Anhang-Uploads
#ändern Sie dies, wenn Sie mehr benötigen!
max_allowed_packet=4M
Nach dieser Änderung sieht die gesamte 'my.cnf' so aus:
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Es wird empfohlen, symbolische Links zu deaktivieren, um verschiedene Sicherheitsrisiken zu vermeiden
symbolic-links=0
# Benutzer- und Gruppeneinstellungen werden ignoriert, wenn systemd verwendet wird.
# Wenn Sie mysqld unter einem anderen Benutzer oder einer anderen Gruppe ausführen müssen,
# passen Sie Ihre systemd-Unit-Datei an für mariadb gemäß den
# Anweisungen in http://fedoraproject.org/wiki/Systemd
# Bugzilla
# maximal erlaubte Größe eines Uploads von Anhängen
# Ändern Sie dies, wenn Sie mehr benötigen!
max_allowed_packet=4M
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-Datei =/var/run/mariadb/mariadb.pid
#
# alle Dateien aus dem Konfigurationsverzeichnis einschließen
#
!includedir /etc/my.cnf. d
Die Änderungen werden nach dem Neustart von MariaDB wirksam.
Zusätzliche Pakete
Bugzilla benötigt viele zusätzliche Pakete, hauptsächlich Perl-bezogene, einige Voraussetzungen, damit die Perl-Module funktionieren, und ein Setup, um Perl-Module herunterladen und installieren zu können. Dazu installieren wir alle notwendigen Abhängigkeiten. Wir achten auch darauf, dass wir
INSTALLIEREN SIE NICHT das Paket perl-homedir, da dies die Bugzilla-Installation unterbrechen würde.
('perl-homedir' würde Perl-Module in Benutzerordnern installieren, auf die Bugzilla nicht zugreifen kann, also installieren Sie es auf keinen Fall!)
Der folgende Befehl stellt sicher, dass perl-homedir nicht installiert ist und installiert die anderen erforderlichen Pakete:
Ungefähr 1300 Pakete werden installiert!
Installieren Sie Bugzilla
Jetzt, da wir alle Vorbereitungen getroffen haben, können wir den neuesten Bugzilla herunterladen, die Datenbank dafür erstellen und einige abschließende Einstellungen vornehmen.
Erstellen Sie eine Datenbank für Bugzilla
Um eine Datenbank für Bugzilla auf unserem MariaDB-Server zu erstellen, müssen wir den MariaDB-Root-Prompt erneut öffnen:
mysql -u root -pPasswort eingeben:myrootpassword
Willkommen beim MariaDB-Monitor. Befehle enden mit; oder \g.
Ihre MariaDB-Verbindungs-ID ist 5
Serverversion:5.5.41-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab und andere.
Geben Sie 'Hilfe;' oder '\h' für Hilfe. Geben Sie '\c' ein, um die aktuelle Eingabeanweisung zu löschen.
Geben Sie an der MariaDB-Root-Eingabeaufforderung die folgenden Befehle ein, um die Datenbank „bugs“ zu erstellen und dem Benutzer „bugs“ vollen Zugriff darauf zu ermöglichen. (Bitte ändern Sie 'bugsuserpassword' in Ihr Passwort!)
Bugzilla herunterladen und extrahieren
Während es verschiedene Möglichkeiten gibt, BugZilla zu erhalten, verwenden wir wget, um den Tarball herunterzuladen. Wir möchten die stabile Version (5.0) erhalten.
cd
wget 'https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.tar.gz'
Nachdem der Download abgeschlossen ist, extrahieren wir das Archiv:
tar -xzvf bugzilla-5.0.tar.gz
Bugzilla-Ordner in den Webserver-Ordner kopieren
Lassen Sie uns nun den extrahierten Ordner (bugzilla-5.0) mit dem folgenden Befehl an seinen Zielspeicherort (/var/www/html/bugzilla) kopieren
cd
sudo cp -R ./bugzilla-5.0/ /var/www/html/bugzilla/
Endgültige Einrichtung mit Bugzillas Installationsskript
Die folgenden Befehle müssen als Root-Benutzer ausgeführt werden, dazu öffnen wir eine Root-Shell mit dem folgenden Befehl:
sudo su
[[email protected] Installer]#
Unsere Eingabeaufforderung hat jetzt ein '#' am Ende, was bedeutet, dass wir root sind. Seien Sie jetzt vorsichtig mit allen Befehlen! Das Howto zeigt jetzt immer den Prompt an, dass Sie root sein sollten, um die Befehle auszuführen!
Jetzt (als root) wechseln wir in den Webserver-Ordner, in dem sich Bugzilla befindet
[[email protected] bugzilla]#
Führen Sie nun den folgenden Befehl aus, damit das Bugzilla-Installationsskript den Status unseres Setups überprüft
Normalerweise teilt uns die Ausgabe des obigen Befehls mit, dass einige Perl-Module in unserer Installation fehlen (optionale und erforderliche) und dass wir zumindest die erforderlichen installieren müssen, um fortfahren zu können. Sie könnten natürlich alle erforderlichen (und wenn Sie möchten) optionalen Module von Hand installieren, indem Sie die Befehle ausführen, die Ihnen das Installationsskript zeigt, aber mit diesem einzigen Befehl installieren Sie alle erforderlichen Perl-Module auf einmal (erforderlich und optional). Also lass es uns ausführen:
Das Setup-Skript richtet nun eine temporäre CPAN-Konfiguration ein und versucht, alle Perl-Module zu installieren, die Bugzilla benötigt (erforderlich und optional). Während des Vorgangs sollten nur einige geringfügige Warnungen erscheinen.
Am Ende überprüfen wir noch einmal den Status der Installation, indem wir checksetup.pl ausführen
Alle Abhängigkeiten sollten jetzt in Ordnung sein, mit Ausnahme eines Moduls ( DBD-Oracle (v1.19)), das nicht gefunden wird. Das ist in Ordnung, da dieses Modul nur installiert wird, wenn es eine funktionierende Oracle-Installation findet, die wir nicht haben!
Das Setup-Skript zeigt nun folgenden Text:
Diese Version von Bugzilla enthält einige Variablen, die Sie vielleicht
ändern und an Ihre lokalen Einstellungen anpassen möchten. Die folgenden Variablen sind
neu in ./localconfig seit dem letzten Ausführen von checksetup.pl:
create_htaccess, webservergroup, use_suexec, db_driver, db_host,
db_name, db_user, db_pass, db_port , db_sock, db_check,
db_mysql_ssl_ca_file, db_mysql_ssl_ca_path, db_mysql_ssl_client_cert,
db_mysql_ssl_client_key, index_html, interdiffbin, diffpath,
site_wide_secret
Bitte bearbeiten Sie die Datei ./localconfig und dann neu - Führen Sie checksetup.pl
aus, um Ihre Installation abzuschließen.
Also öffnen wir, wie oben erwähnt, ./localconfig mit unserem Editor und ändern es nach unseren Bedürfnissen. Hier ist die, die ich verwendet habe (Kommentare entfernt), stellen Sie sicher, dass Sie die Datenbanknamen und Passwörter nach Ihren Bedürfnissen ändern!
$webservergroup ='apache';
$use_suexec =0;
$db_driver ='mysql';
$db_host ='localhost';
$db_name ='bugs';
$db_user ='bugs';
$db_pass ='bugsuserpassword';
$db_port =0;
$db_sock ='';
$db_check =1;
$db_mysql_ssl_ca_file ='';
$db_mysql_ssl_ca_path ='';
$db_mysql_ssl_client_cert ='';
$db_mysql_ssl_client_key ='';
$index_html =0;
$interdiffbin ='/bin/interdiff';
$diffpath ='/bin';
$site_wide_secret ='ifKuihguW8nlxLcxeNU4whHzFbxDIGWSvtR6S7Ul38cFQn004YDcVzuBJfnF8M9X';
Lassen Sie uns nun das Setup-Skript erneut ausführen. Es sollte nun die korrekte Datenbankkonfiguration erkennen und für eine endgültige Einrichtung auf den MariaDB-Server zugreifen.
Ausgabe (einige Zeilen entfernt)
...
Hinzufügen einer neuen Tabelle bz_schema...
Initialisieren von bz_schema...
Erstellen von Tabellen...
Konvertieren der maximalen Attach_data-Größe in 100 GB. ..
Einrichten von Auswahlmöglichkeiten für Standard-Dropdown-Felder:
Priorität bug_status rep_platform Auflösung bug_severity op_sys
Erstellen des ./data-Verzeichnisses...
...
. ..
Vorlagen vorkompilieren...fertig.
Dateiberechtigungen korrigieren...
"Änderungen des Abhängigkeitsbaums" initialisieren email_setting ...
"Produkt-/Komponentenänderungen" initialisieren email_setting . ..
Geschlossene Bug-Status als solche markieren...
Standardklassifikation 'Nicht klassifiziert' erstellen...
Fremdschlüssel einrichten...
Standardstatus-Workflow einrichten. ..
Standardgruppen erstellen...
Benutzereinstellungen einrichten...
Sieht so aus, als hätten wir noch keinen Administrator eingerichtet. Entweder verwenden Sie Bugzilla
zum ersten Mal oder die Rechte Ihres Administrators
können versehentlich gelöscht worden sein.
Geben Sie die E-Mail-Adresse des Administrators ein:
Folgen Sie nun den Anweisungen und schließen Sie Ihre Einrichtung ab (verwenden Sie hier Ihre Werte für die Antworten!):
Geben Sie den echten Namen des Administrators ein:Der PCFreak
Geben Sie ein Passwort für das Administratorkonto ein:adminpassword
Bitte wiederholen Sie das Passwort an verifizieren:adminpassword
[email protected] ist jetzt als Administrator eingerichtet.
Wenn alles geklappt hat, sollten Sie Folgendes sehen:
Nachdem Sie Bugzilla installiert haben, sollten Sie die Seite „Parameter“
besuchen (verlinkt in der Fußzeile des Administratorkontos), um dies sicherzustellen
wird nach Ihren Wünschen eingerichtet - dazu gehört auch, die Option 'urlbase' auf
die richtige URL einzustellen.
checksetup.pl abgeschlossen.
An dieser Stelle sind wir fast fertig. Führen Sie die folgende Zeile aus, um eine Zeile in der .htaccess-Datei, die das Bugzilla-Installationsskript erstellt hat, auszukommentieren:
Konfigurieren Sie Apache zum Hosten unserer Bugzilla-Installation
Apache weiß noch nichts über Bugzilla. Lassen Sie uns also die Datei /etc/httpd/conf.d/bugzilla.conf mit folgendem Inhalt erstellen, um unsere Bugzilla-Website dem httpd.service vorzustellen.
#/etc/httpd/conf.d/bugzilla.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/bugzilla/
</VirtualHost>
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes
</Directory>
Nachdem die Datei erstellt wurde, starten wir Apache neu, damit die Änderungen wirksam werden:
Zurück zum normalen Benutzer wechseln
Das Arbeiten als Root ist nicht mehr erforderlich, Sie können jetzt sudo verwenden, wenn Sie Root-Rechte benötigen. Führen Sie also den folgenden Befehl aus, um die Root-Shell zu verlassen:
[[email protected] bugzilla]# beenden[[email protected] ~]$
Testen Sie die Bugzilla-Installation mit Ihrem Browser
Verwenden Sie einen Browser und öffnen Sie http://ip-of-your-server/ (ersetzen Sie ip-of-your-server durch die IP-Adresse Ihres Servers). Sie sollten jetzt die Bugzilla-Seite anstelle der Standard-Apache-Testseite sehen.
Sie können sich jetzt mit den Anmeldeinformationen anmelden, die Sie für das Bugzilla-Installationsskript angegeben haben. In diesem How-To war dies:
Passwort :Administratorpasswort
Voilà! Sie haben jetzt eine funktionierende Bugzilla 5.0-Installation auf CentOS 7. Sie können jetzt mit der Einrichtung der Details von Bugzilla innerhalb der Bugzilla-Weboberfläche fortfahren.