Bugzilla este un sistem gratuit și deschis de urmărire a erorilor, care este utilizat pe scară largă de diverși furnizori pentru a-și îmbunătăți continuu aplicațiile software.
În acest articol, vă voi ghida prin instalarea Bugzilla 5.0.4 pe o instanță a serverului Vultr CentOS 7.
Cerințe preliminare
Bugzilla 5.0.4 necesită Perl 5.14 sau mai nou, un server web și un server de baze de date. Vom instala Perl 5.16.x, Apache 2.4.x și MariaDB 10.2.x, în consecință. Mai multe detalii despre acestea sunt explicate în secțiunile următoare.
Pasul 1: Instalați Perl 5.16.x și alte dependențe
După conectarea ca utilizator sudo, puteți instala cu ușurință modulele Perl binare și Perl necesare folosind o repoziție YUM încorporată:
sudo yum install perl perl-CPAN perl-DBD-MySQL -y
După instalarea Perl, folosiți următoarea comandă pentru a vă asigura că versiunea sa este mai recentă decât 5.14:
perl -v
Deocamdată, ar trebui să găsiți v5.16.3o versiune calificată pentru rularea Bugzilla 5.0.4, din ieșire.
După instalarea Perl, trebuie să instalați mai multe dependențe:
sudo yum install gcc gd gd-devel rst2pdf graphviz patchutils -y
Instalați și configurați Apache 2.4.6 după cum urmează:
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
Instalați cea mai recentă versiune stabilă a 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
Sigur MariaDB:
sudo /usr/bin/mysql_secure_installation
Când vi se solicită, răspundeți la întrebările de mai jos:
- Introduceți parola curentă pentru root (nu introduceți nimic): ENTER
- Setați parola root? [Y / n]:
Y
- Parolă Nouă:
your-MariaDB-root-password
- Reintroduceți parola nouă:
your-MariaDB-root-password
- Ștergeți utilizatorii anonimi? [Y / n]:
Y
- Înlăturați conectarea root la distanță? [Y / n]:
Y
- Ștergeți baza de date de testare și accesați-o? [Y / n]:
Y
- Reîncărcați tabelele de privilegii acum? [Y / n]:
Y
Conectați-vă la shell-ul MySQL ca root:
mysql -u root -p
Utilizați următoarele interogări MySQL pentru a crea o bază de date MariaDB dedicată și un utilizator MariaDB dedicat pentru Bugzilla:
Notă : Din motive de securitate, asigurați - vă că pentru a înlocui mai jos bugzilla, bugzillauserși yourpasswordîmpreună cu cele proprii.
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ți configurația MariaDB pentru Bugzilla:
sudo vi /etc/my.cnf.d/server.cnf
Introduceți următoarele linii sub [mysqld]linie:
# Bugzilla
# Allow packets up to 16M
max_allowed_packet=16M
# Allow small words in full-text indexes
ft_min_word_len=2
Salvează și închide:
:wq!
Reporniți MariaDB pentru a încărca noile setări:
sudo systemctl restart mariadb.service
Pasul 4: Instalați Bugzilla 5.0.4
Obțineți arhiva Bugzilla 5.0.4 de pe site-ul său oficial:
cd
wget https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.4.tar.gz
Decuplați arhiva în locația preferată:
sudo tar -C /opt -zxvf bugzilla-5.0.4.tar.gz
Pentru a facilita actualizările viitoare, puteți crea o legătură soft independentă de versiune, îndreptată către directorul în care se află versiunea actuală a Bugzilla:
sudo ln -s /opt/bugzilla-5.0.4 /var/www/html/bugzilla
Utilizați un script Perl în directorul Bugzilla pentru a verifica dacă lipsesc modulele Perl:
sudo /var/www/html/bugzilla/checksetup.pl
Prin rularea acestui script Perl, veți afla despre disponibilitatea oricăror module Perl necesare sau opționale pe aparatul dvs.
Puteți instala individual modulele Perl în acest mod:
sudo /usr/bin/perl /var/www/html/bugzilla/install-module.pl CGI
Sau, încercați să instalați toate modulele Perl necesare și opționale folosind o singură comandă:
sudo /usr/bin/perl /var/www/html/bugzilla/install-module.pl --all
Compilarea modulelor Perl poate dura ceva.
După ce s-au terminat compilațiile, rulați din nou checksetup.plscriptul pentru a confirma rezultatul, asigurându-vă că toate modulele Perl necesare și DBD mysqlmodulul Perl sunt instalate. Modulele Perl opționale care lipsesc pot fi tratate ulterior.
sudo /var/www/html/bugzilla/checksetup.pl
Apoi, adăugați informațiile bazei de date MySQL în localconfigfișier:
sudo vi /var/www/html/bugzilla/localconfig
Găsiți și editați următoarele linii, asigurându-vă că toți parametrii utilizează valorile corespunzătoare ca mai jos:
$webservergroup = 'apache';
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugzilla';
$db_user = 'bugzillauser';
$db_pass = 'yourpassword';
Salvează și închide:
:wq!
Pentru a treia oară, rulați checksetup.plscriptul pentru inițializarea Bugzilla:
sudo /var/www/html/bugzilla/checksetup.pl
În timpul procesului, vi se va solicita să furnizați datele de acreditare ale administratorului:
- Adresa de e-mail a administratorului:
[email protected]
- Numele real al administratorului:
John Doe
- Parola administratorului:
your-admin-password
Pentru a permite Apache să acceseze fișiere Bugzilla, trebuie să modificați proprietatea tuturor fișierelor Bugzilla:
sudo chown -R apache:apache /opt/bugzilla-5.0.4
Din moment ce Apache nu este conștient de Bugzilla, trebuie să creezi o gazdă virtuală Apache pentru Bugzilla, după cum urmează:
sudo vi /etc/httpd/conf.d/bugzilla.conf
Populați fișierul:
<VirtualHost *:80>
ServerAdmin [email protected]
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>
Salvează și închide:
:wq!
Reporniți Apache pentru a încărca noile setări:
sudo systemctl restart httpd.service
Pasul 5: Modificați regulile firewallului
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Pasul 6: Testează și accesează instalarea Bugzilla
După instalarea Bugzilla, puteți utiliza un script Perl pentru a testa instalarea:
sudo /var/www/html/bugzilla/testserver.pl http://203.0.113.1
Rezultatul va fi asemănător cu următoarele:
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.
În cele din urmă, îndreptați-vă browserul web preferat pentru http://203.0.113.1/a accesa site-ul dvs. Bugzilla.
Pe interfața web Bugzilla, faceți clic pe Log Inbuton și apoi introduceți datele de autentificare ale administratorului pentru a vă autentifica. Apoi puteți continua să configurați Bugzilla după cum doriți.
Pentru a îmbunătăți performanțele Apache atunci când rulați scripturi Perl, este recomandat să activați mod_perlmodulul Apache după cum urmează:
sudo yum install mod_perl mod_perl-devel -y
Puteți utiliza următoarea comandă pentru a confirma instalarea:
apachectl -M | grep perl
Rezultatul va fi:
perl_module (shared)
Modificați setările legate de Perl într-unul dintre fișierele de configurare Apache:
sudo vi /etc/httpd/conf.d/perl.conf
Afișează numerele de linie:
:set nu
Liniile 15 și 24:
PerlSwitches -w
PerlSwitches -T
Adăugați o nouă linie la sfârșitul fișierului:
PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
Salvează și închide:
:wq!
Reporniți Apache pentru a încărca noua configurație:
sudo systemctl restart httpd.service