Bugzilla è un sistema di tracciamento dei bug gratuito e open source che viene ampiamente utilizzato da vari fornitori al fine di migliorare continuamente le loro applicazioni software.
In questo articolo, ti guiderò attraverso l'installazione di Bugzilla 5.0.4 su un'istanza del server Vultr CentOS 7.
Prerequisiti
Bugzilla 5.0.4 richiede Perl 5.14 o versioni successive, un server Web e un server di database. Installeremo Perl 5.16.x, Apache 2.4.x e MariaDB 10.2.x, di conseguenza. Maggiori dettagli su di essi sono spiegati nelle seguenti sezioni.
Passaggio 1: installare Perl 5.16.x e altre dipendenze
Dopo aver effettuato l'accesso come utente sudo, è possibile installare facilmente il binario Perl e i moduli Perl richiesti utilizzando un repository YUM incorporato:
sudo yum install perl perl-CPAN perl-DBD-MySQL -y
Dopo aver installato Perl, utilizzare il comando seguente per assicurarsi che la sua versione sia più recente della 5.14:
perl -v
Per ora, dovresti trovare v5.16.3, dall'output, una versione qualificata per l'esecuzione di Bugzilla 5.0.4.
Dopo aver installato Perl, è ancora necessario installare diverse dipendenze:
sudo yum install gcc gd gd-devel rst2pdf graphviz patchutils -y
Installa e configura Apache 2.4.6 come segue:
sudo yum install httpd httpd-devel -y
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Installa l'ultima versione stabile di MariaDB:
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-devel -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
MariaDB sicura:
sudo /usr/bin/mysql_secure_installation
Quando richiesto, rispondi alle domande come di seguito:
- Inserisci la password corrente per root (inserisci per nessuno): ENTER
- Imposta la password di root? [Y / n]:
Y
- Nuova password:
your-MariaDB-root-password
- Reinserire la nuova password:
your-MariaDB-root-password
- Rimuovere utenti anonimi? [Y / n]:
Y
- Non consentire l'accesso root da remoto? [Y / n]:
Y
- Rimuovere il database di prova e accedervi? [Y / n]:
Y
- Ricarica le tabelle dei privilegi ora? [Y / n]:
Y
Accedi alla shell MySQL come root:
mysql -u root -p
Utilizzare le seguenti query MySQL per creare un database MariaDB dedicato e un utente MariaDB dedicato per Bugzilla:
Nota : Per motivi di sicurezza, assicurarsi di sostituire il sotto bugzilla, bugzillausere yourpasswordcon i vostri propri.
CREATE DATABASE bugzilla;
CREATE USER 'bugzillauser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON bugzilla.* TO 'bugzillauser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Modifica la configurazione di MariaDB per Bugzilla:
sudo vi /etc/my.cnf.d/server.cnf
Inserire le seguenti righe sotto la [mysqld]riga:
# Bugzilla
# Allow packets up to 16M
max_allowed_packet=16M
# Allow small words in full-text indexes
ft_min_word_len=2
Salva ed esci:
:wq!
Riavvia MariaDB per caricare le nuove impostazioni:
sudo systemctl restart mariadb.service
Passaggio 4: installare Bugzilla 5.0.4
Ottieni l'archivio Bugzilla 5.0.4 dal suo sito Web ufficiale:
cd
wget https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.4.tar.gz
Decomprimi l'archivio nella posizione preferita:
sudo tar -C /opt -zxvf bugzilla-5.0.4.tar.gz
Per facilitare gli aggiornamenti futuri, è possibile creare un collegamento software indipendente dalla versione che punta alla directory in cui risiede la versione corrente di Bugzilla:
sudo ln -s /opt/bugzilla-5.0.4 /var/www/html/bugzilla
Utilizzare uno script Perl nella directory Bugzilla per verificare la presenza di moduli Perl mancanti:
sudo /var/www/html/bugzilla/checksetup.pl
Eseguendo questo script Perl, imparerai a conoscere la disponibilità di eventuali moduli Perl richiesti o opzionali sul tuo computer.
Puoi installare singolarmente i moduli Perl in questo modo:
sudo /usr/bin/perl /var/www/html/bugzilla/install-module.pl CGI
Oppure, prova a installare tutti i moduli Perl obbligatori e facoltativi utilizzando un singolo comando:
sudo /usr/bin/perl /var/www/html/bugzilla/install-module.pl --all
La compilazione dei moduli Perl potrebbe richiedere del tempo.
Al termine della compilazione, rieseguire lo checksetup.plscript per confermare il risultato, assicurandosi che DBD mysqlsiano installati tutti i moduli Perl richiesti e il modulo Perl. I moduli Perl opzionali mancanti possono essere trattati in un secondo momento.
sudo /var/www/html/bugzilla/checksetup.pl
Successivamente, aggiungi le informazioni del database MySQL al localconfigfile:
sudo vi /var/www/html/bugzilla/localconfig
Trova e modifica le seguenti righe, assicurandoti che tutti i parametri utilizzino i valori corretti come di seguito:
$webservergroup = 'apache';
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugzilla';
$db_user = 'bugzillauser';
$db_pass = 'yourpassword';
Salva ed esci:
:wq!
Per la terza volta, esegui lo checksetup.plscript per inizializzare Bugzilla:
sudo /var/www/html/bugzilla/checksetup.pl
Durante il processo, ti verrà chiesto di fornire le credenziali dell'amministratore:
- Indirizzo e-mail dell'amministratore:
admin@example.com
- Il vero nome dell'amministratore:
John Doe
- Password dell'amministratore:
your-admin-password
Per consentire ad Apache di accedere ai file Bugzilla, è necessario modificare la proprietà di tutti i file Bugzilla:
sudo chown -R apache:apache /opt/bugzilla-5.0.4
Poiché Apache non è ancora a conoscenza di Bugzilla, è necessario creare un host virtuale Apache per Bugzilla come segue:
sudo vi /etc/httpd/conf.d/bugzilla.conf
Popolare il file:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/bugzilla/
ServerName bugzilla.example.com
ServerAlias www.bugzilla.example.com
<Directory /var/www/html/bugzilla/>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes Options AuthConfig
</Directory>
ErrorLog /var/log/httpd/bugzilla.example.com-error_log
CustomLog /var/log/httpd/bugzilla.example.com-access_log common
</VirtualHost>
Salva ed esci:
:wq!
Riavvia Apache per caricare le nuove impostazioni:
sudo systemctl restart httpd.service
Passaggio 5: modificare le regole del firewall
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Passaggio 6: testare e accedere all'installazione di Bugzilla
Avendo installato Bugzilla, puoi usare uno script Perl per testare la tua installazione:
sudo /var/www/html/bugzilla/testserver.pl http://203.0.113.1
L'output sarà simile al seguente:
TEST-OK Webserver is running under group id in $webservergroup.
TEST-OK Got padlock picture.
TEST-OK Webserver is executing CGIs via mod_cgi.
TEST-OK Webserver is preventing fetch of http://203.0.113.1/localconfig.
TEST-OK GD version 2.68, libgd version 2.0.34; Major versions match.
TEST-OK GD library generated a good PNG image.
TEST-OK Chart library generated a good PNG image.
TEST-OK Template::Plugin::GD is installed.
Infine, punta il tuo browser web preferito http://203.0.113.1/per accedere al tuo sito Bugzilla.
Nell'interfaccia Web di Bugzilla, fai clic sul Log Inpulsante e inserisci le credenziali dell'amministratore per accedere. Quindi puoi continuare a configurare Bugzilla come desideri.
Per migliorare le prestazioni di Apache durante l'esecuzione di script Perl, si consiglia di abilitare il mod_perlmodulo di Apache come segue:
sudo yum install mod_perl mod_perl-devel -y
È possibile utilizzare il comando seguente per confermare l'installazione:
apachectl -M | grep perl
Il risultato sarà:
perl_module (shared)
Modifica le impostazioni relative al Perl in uno dei file di configurazione di Apache:
sudo vi /etc/httpd/conf.d/perl.conf
Visualizza numeri di riga:
:set nu
Linee di commento 15 e 24:
PerlSwitches -w
PerlSwitches -T
Aggiungi una nuova riga alla fine del file:
PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
Salva ed esci:
:wq!
Riavvia Apache per caricare la nuova configurazione:
sudo systemctl restart httpd.service