In questa pagina
- Prerequisiti per CentOS
- Connessione Internet
- SELinux
- Disabilita SELinux
- Account utilizzato per l'installazione
- Repository aggiuntivi
- Abilita repository Epel
- Installa Apache con mod_ssl e mod_perl
- Abilita e avvia httpd.service
- Avvia httpd.service
- Controlla lo stato di httpd.service
- Abilita permanentemente httpd.service
- Apri la porta 80 nel firewall locale per consentire le richieste HTTP
- Testare il server web Apache
- Abilita e avvia httpd.service
- Installa MariaDB
- Fai in modo che MariaDB si avvii automaticamente all'avvio
- Imposta la password di root di MariaDB
- Imposta max_allowed_packets per MariaDB
- Pacchetti aggiuntivi
- Crea un database per Bugzilla
- Scarica ed estrai Bugzilla
- Copia la cartella Bugzilla nella cartella del server web
- Configurazione finale utilizzando lo script di installazione di Bugzilla
- Configura Apache per ospitare la nostra installazione di Bugzilla
- Torna all'utente normale
- Testa l'installazione di Bugzilla con il tuo browser
Questo HowTo ti guiderà attraverso l'installazione di Bugzilla 5.0 su CentOS 7. Bugzilla è un sistema avanzato di tracciamento dei bug, sviluppato dalla Mozilla Foundation (l'organizzazione che sviluppa il famoso browser Firefox). Bugzilla ti consente di tenere traccia dei difetti e delle modifiche al codice nelle tue applicazioni, ti consente di comunicare facilmente nel tuo team di sviluppo e di inviare e rivedere le patch.
Prerequisiti per CentOS
Connessione Internet
Dovresti avere un'installazione minima di CentOS 7 con gli ultimi aggiornamenti e l'indirizzo IP e il nome host impostati. La tua macchina dovrebbe essere in grado di raggiungere Internet. Se non riesci a raggiungere direttamente Internet e devi utilizzare un server proxy, dovresti configurare yum per utilizzare un proxy modificando /etc/yum.conf. Aggiungi le seguenti righe (modificale secondo le tue esigenze):
# Il server proxy - server proxy:portproxy=http://192.168.178.1:8080
# I dettagli dell'account per le connessioni yum
# proxy_username=yum-user
# proxy_password=qwerty
Quando utilizziamo strumenti a riga di comando, che richiedono l'accesso a Internet e sei dietro un server proxy, assicurati di eseguire sempre i due comandi seguenti prima di utilizzare i comandi che richiedono una connessione a Internet:
esporta https_proxy=http://192.168.178.1:8080/
Con questo metodo dovresti essere in grado di utilizzare questo How-to anche se sei dietro un proxy.
SELinux
Security-Enhanced Linux (SELinux) è un meccanismo di sicurezza MAC (obbligatorio) implementato nel kernel. È un eccellente meccanismo di sicurezza ma interromperà Bugzilla fino a quando non verrà rilasciato un pacchetto ufficiale Bugzilla 5.0 rpm che configurerà anche SELinux. Quindi a questo punto imposteremo SELinux in modalità permissiva. In questa modalità, SELinux è abilitato ma non applicherà la politica di sicurezza.
Disabilita SELinux
Esegui il comando seguente per cambiare la modalità SELinux da forzata a permissiva.
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissivo/g' /etc/selinux/config
Il file ora dovrebbe apparire così:
# SELINUX=può assumere uno di questi tre valori:
# enforcing - La policy di sicurezza di SELinux viene applicata.
# permissive - SELinux stampa gli avvisi invece di applicare.
# disabilitato - Nessuna policy SELinux caricata.
SELINUX=permissive
# SELINUXTYPE=può assumere uno di tre due valori:
# mirato - I processi mirati sono protetti ,
# minimo - Modifica della norma mirata. Solo i processi selezionati sono protetti.
# mls - Protezione di sicurezza multilivello.
SELINUXTYPE=mirato
Dopo questa modifica, riavvia il computer.
Account utilizzato per l'installazione
Se non diversamente indicato, tutti i comandi in questo How-to vengono eseguiti come utente 'installer' che è un utente amministrativo sul computer CentOS 7 ed è autorizzato a eseguire comandi con 'sudo'.
Repository aggiuntivi
Avremo bisogno di molti pacchetti che non sono nei repository CentOS ufficiali, quindi abilitiamo un repository aggiuntivo sulla nostra scatola CentOS.
Abilita repository Epel
Esegui i seguenti comandi per abilitare il repository epel.
sudo yum install deltarpm epel-releasesudo yum update
Info:Devi accettare la chiave GPG epel quando installi il primo pacchetto dal repository epel.
Installa Apache con mod_ssl e mod_perl
sudo yum install httpd httpd-devel mod_ssl mod_ssl mod_perl mod_perl-devel
Questo installerà Apache, mod_ssl, mod_perl e wget con tutte le dipendenze necessarie.
Abilita e avvia httpd.service
CentOS 7 utilizza systemd, quindi abiliteremo e avvieremo Apache nel "modo systemd".
Avvia httpd.service
sudo systemctl avvia httpd.serviceControlla lo stato di httpd.service
sudo systemctl stato httpd.service
Questo comando dovrebbe dirti che httpd.service è in esecuzione (alcune righe sono state eliminate)
Caricato:caricato (/usr/lib/systemd/system/httpd.service; disabilitato)
Attivo:attivo (in esecuzione) da mar 04-08-2015 11:18:03 CEST; 6 secondi fa
PID principale:11930 (/usr/sbin/httpd)
...
Abilita permanentemente httpd.service
Dopo aver verificato l'output sopra, abilitiamo httpd.service per l'avvio automatico con:
sudo systemctl abilita httpd.service
Il sistema creerà automaticamente un collegamento simbolico per abilitare http.service per l'avvio automatico.
Apri la porta 80 nel firewall locale per consentire le richieste HTTP
CentOS 7 utilizza FirewallD, quindi dobbiamo usare firewall-cmd per modificare le impostazioni del firewall per consentire le connessioni in entrata sulla porta 80 (HTTP).
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent# successo
sudo firewall-cmd --reload
# successo
Testa il server web Apache
Usa un browser e apri http://ip-of-your-server/ (sostituisci ip-of-your-server con l'indirizzo IP del tuo server). Dovresti vedere la pagina di test di Apache. - Apache funziona!
Installa MariaDB
CentOS 7 viene fornito con MariaDB invece di MySQL. MariaDB è un open source equivalente a MySQL. Per installare MariaDB eseguire i seguenti comandi:
sudo yum install mariadb-server mariadb mariadb-devel php-mysqlFai in modo che MariaDB si avvii automaticamente all'avvio
Per avviare automaticamente MariaDB all'avvio, lo configuriamo come servizio nello stesso modo in cui lo facevamo prima con httpd.service. Eseguire i seguenti tre comandi per avviare, controllare lo stato e abilitare MariaDB come servizio permanente:
sudo systemctl start mariadb.servicesudo systemctl status mariadb.service
sudo systemctl abilita mariadb.service
Imposta la password root di MariaDB
Apri un prompt SQL nel tuo server MariaDB eseguendo il comando seguente:
mysql -u radice
Dovresti atterrare sul prompt di MariaDB. Nei seguenti comandi, devi sostituire myrootpassword con la password che desideri utilizzare per il tuo utente root MariaDB!
Ora prova se riesci ad accedere con l'utente root
Inserisci password:myrootpasswordBenvenuto nel monitor MariaDB. I comandi terminano con; o \g.
Il tuo ID di connessione MariaDB è 5
Versione server:5.5.41-MariaDB Server MariaDB
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab e altri.
/>Digita 'aiuto;' o '\h' per aiuto. Digitare '\c' per cancellare l'istruzione di input corrente.MariaDB [ (nessuno) ]> \qBye
Imposta max_allowed_packets per MariaDB
Bugzilla necessita di una dimensione minima di 'max_allowed_packet' configurata in MariaDB. Quindi cambiamo la configurazione generica di MariaDB per impostare la dimensione 'max_allowed_packet' su 4 MBytes.
Apri '/etc/my.cnf' con il tuo editor e aggiungi le seguenti righe sotto la sezione '[mysqld]':
# dimensione massima consentita per il caricamento di un allegato
#cambialo se ne hai bisogno di più!
max_allowed_packet=4M
Dopo questa modifica, l'intero 'my.cnf' appare così:
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Si consiglia di disabilitare i collegamenti simbolici per prevenire vari rischi per la sicurezza
symbolic-links=0
# Le impostazioni utente e gruppo vengono ignorate quando si utilizza systemd.
# Se è necessario eseguire mysqld con un utente o gruppo diverso,
# personalizza il file dell'unità systemd per mariadb secondo le
# istruzioni in http://fedoraproject.org/wiki/Systemd
# Bugzilla
# dimensione massima consentita per il caricamento di un allegato
# cambialo se ne hai bisogno di più!
max_allowed_packet=4M
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file =/var/run/mariadb/mariadb.pid
#
# include tutti i file dalla directory config
#
!includedir /etc/my.cnf. d
Le modifiche avranno effetto dopo il riavvio di MariaDB.
Pacchetti aggiuntivi
Bugzilla ha bisogno di molti pacchetti aggiuntivi, principalmente relativi a perl, alcuni prerequisiti per far funzionare i moduli perl e una configurazione per poter scaricare e installare moduli perl. Pertanto installiamo tutte le dipendenze necessarie. Ci assicuriamo inoltre che
NON INSTALLARE il pacchetto perl-homedir, perché ciò interromperebbe l'installazione di Bugzilla.
('perl-homedir' installerebbe i moduli perl nelle cartelle utente che non saranno accessibili da Bugzilla, quindi non installarlo assolutamente!)
Il comando seguente assicurerà che perl-homedir non sia installato e installerà gli altri pacchetti richiesti:
Verranno installati circa 1300 pacchetti!
Installa Bugzilla
Ora che abbiamo completato tutta la preparazione, siamo pronti per scaricare l'ultimo Bugzilla, creare il database per esso ed eseguire alcune impostazioni finali.
Crea un database per Bugzilla
Per creare un database per Bugzilla sul nostro server MariaDB dobbiamo aprire nuovamente il prompt di root di MariaDB:
mysql -u root -pInserisci la password:myrootpassword
Benvenuti nel monitor MariaDB. I comandi terminano con; o \g.
Il tuo ID di connessione MariaDB è 5
Versione server:5.5.41-MariaDB Server MariaDB
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab e altri.
/>Digita 'aiuto;' o '\h' per aiuto. Digitare '\c' per cancellare l'istruzione di input corrente.
Al prompt di root di MariaDB immettere i seguenti comandi per creare un database 'bug' e consentire all'utente 'bug' di accedervi completamente. (Per favore cambia 'bugsuserpassword' con la tua password!)
Scarica ed estrai Bugzilla
Sebbene ci siano diverse opzioni per ottenere BugZilla, usiamo wget per scaricare il tarball Vogliamo ottenere la versione stabile (5.0).
cd
wget 'https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.tar.gz'
Al termine del download, estraiamo l'archivio:
tar -xzvf bugzilla-5.0.tar.gz
Copia la cartella Bugzilla nella cartella del server web
Ora copiamo la cartella estratta (bugzilla-5.0) nella sua destinazione (/var/www/html/bugzilla) con il seguente comando
cd
sudo cp -R ./bugzilla-5.0/ /var/www/html/bugzilla/
Configurazione finale utilizzando lo script di installazione di Bugzilla
I seguenti comandi devono essere eseguiti come utente root, quindi apriamo una shell di root con il seguente comando:
sudo su
[programma di installazione [protetto da email]]#
Il nostro prompt ora ha un '#' alla fine, il che significa che siamo root. Si prega di fare attenzione con tutti i comandi ora! L'howto ora mostrerà sempre il prompt per dirti che dovresti essere root per eseguire i comandi!
Ora (come root) passiamo alla cartella del server web in cui risiede bugzilla
[[email protected] bugzilla]#
Ora esegui il comando seguente per consentire allo script di installazione di Bugzilla di verificare lo stato della nostra configurazione
Di solito l'output del comando precedente ci dirà che alcuni moduli perl mancano dalla nostra installazione (opzionali e obbligatori) e che dobbiamo installare almeno quelli richiesti per poter continuare. Ovviamente potresti installare tutti i moduli richiesti (e se lo desideri) i moduli opzionali eseguendo manualmente i comandi che ti mostrerà lo script di installazione, ma con questo singolo comando installerai tutti i moduli perl necessari contemporaneamente (richiesto e opzionale). Quindi eseguiamolo:
Lo script di installazione ora imposterà una configurazione CPAN temporanea e tenterà di installare tutti i moduli perl necessari a Bugzilla (richiesti e opzionali). Durante il processo dovrebbero apparire solo alcuni avvisi minori.
Alla fine, verifichiamo nuovamente lo stato dell'installazione eseguendo checksetup.pl
Ora tutte le dipendenze dovrebbero essere a posto, tranne un modulo ( DBD-Oracle (v1.19) che non viene trovato. Va bene perché questo modulo verrà installato solo se trova un'installazione Oracle funzionante che non abbiamo!
Lo script di installazione mostrerà ora il seguente testo:
Questa versione di Bugzilla contiene alcune variabili che potresti voler
cambiare e adattare alle tue impostazioni locali. Le seguenti variabili sono
nuove in ./localconfig dall'ultima volta che hai eseguito 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
Si prega di modificare il file ./localconfig e quindi di nuovo -esegui checksetup.pl
per completare l'installazione.
Quindi, come indicato sopra, apriamo ./localconfig con il nostro editor e lo modifichiamo in base alle nostre esigenze. Ecco quello che ho usato (commenti rimossi), assicurati di modificare i nomi e le password del database in base alle tue esigenze!
$webservergroup ='apache';
$use_suexec =0;
$db_driver ='mysql';
$db_host ='localhost';
$db_name ='bug';
$db_user ='bug';
$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';
Ora eseguiamo di nuovo lo script di installazione. Ora dovrebbe rilevare la corretta configurazione del database e iniziare ad accedere al server MariaDB per una configurazione finale.
Output (alcune righe sono state eliminate)
...
Aggiunta nuova tabella bz_schema...
Inizializzazione bz_schema...
Creazione di tabelle...
Conversione della dimensione massima di attach_data a 100G. ..
Impostazione delle scelte per i campi a discesa standard:
priority bug_status rep_platform risoluzione bug_severity op_sys
Creazione della directory ./data...
...
. ..
Precompilazione dei modelli... completata.
Correzione dei permessi dei file...
Inizializzazione delle "Modifiche dell'albero delle dipendenze" email_setting ...
Inizializzazione delle "Modifiche del prodotto/componente" email_setting . ..
Contrassegno degli stati di bug chiusi come tali...
Creazione della classificazione predefinita 'Non classificato'...
Impostazione di chiavi esterne...
Impostazione del flusso di lavoro dello stato predefinito. ..
Creazione di gruppi predefiniti...
Impostazione delle preferenze utente...
Sembra che non sia ancora stato configurato un amministratore. O questa è
la prima volta che usi Bugzilla, oppure i privilegi del tuo amministratore
potrebbero essere stati eliminati accidentalmente.
Inserisci l'indirizzo e-mail dell'amministratore:
Ora segui le istruzioni e finalizza la configurazione (usa i tuoi valori per le risposte qui!):
Inserisci il vero nome dell'amministratore:Der PCFreak
Inserisci una password per l'account amministratore:adminpassword
Ridigita la password per verifica:adminpassword
[email protected] è ora configurato come amministratore.
Quando tutto è andato bene dovresti vedere:
Ora che hai installato Bugzilla, dovresti visitare la pagina 'Parametri'
(collegata nel footer dell'account amministratore) per assicurarti
è impostato come desideri - ciò include l'impostazione dell'opzione 'urlbase' sull'
URL corretto.
checksetup.pl completo.
A questo punto abbiamo quasi finito. Esegui la seguente riga per commentare una riga nel file .htaccess creato dallo script di installazione di Bugzilla:
Configura Apache per ospitare la nostra installazione di Bugzilla
Apache non sa ancora nulla di Bugzilla. Quindi creiamo il file /etc/httpd/conf.d/bugzilla.conf con il seguente contenuto per presentare il nostro sito Web Bugzilla al httpd.service.
#/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>
Dopo che il file è stato creato, riavviamo Apache affinché le modifiche abbiano effetto:
Torna all'utente normale
Lavorare come root non è più necessario, puoi usare sudo ora se hai bisogno dei privilegi di root. Quindi esegui il seguente comando per uscire dalla shell di root:
[[email protetta] bugzilla]# uscita[[email protetta] ~]$
Testa l'installazione di Bugzilla con il tuo browser
Usa un browser e apri http://ip-of-your-server/ (sostituisci ip-of-your-server con l'indirizzo IP del tuo server). Ora dovresti vedere la pagina di Bugzilla invece della pagina di test di Apache predefinita.
Ora puoi accedere con le credenziali che hai fornito allo script di installazione di Bugzilla. In questo How-To questo era:
Password :adminpassword
Voilà! Ora hai un'installazione Bugzilla 5.0 funzionante su CentOS 7. Ora puoi continuare a configurare i dettagli di Bugzilla all'interno dell'interfaccia web di Bugzilla.