Installer Bugzilla en 5 minutes sur Debian

todo: Documentation à revoir pour la configuration Apache

Un pense-bête pour installer rapidement Bugzilla (configuration Apache, mod_perl et MySQL sur Debian) sans se poser trop de questions. C'est ce que j'utilise pour mes installations de test locales. Ce document n'aborde pas le paramétrage de Bugzilla ou du MTA. Lisez la documentation d'installation fournie avec Bugzilla pour une installation en production.

Installation de MySQL

Installation du serveur MySQL.

root@debian73:~# apt-get install mysql-server

Création de la base de données, de l'utilisateur de la base et affectation des droits.

root@debian73:~# mysql -u root -p -h

mysql> CREATE DATABASE bugzilla;
mysql> CREATE USER 'buguser'@'localhost' IDENTIFIED BY 'un_mot_de_passe';
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
       CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugzilla.*
       TO 'buguser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit;

Installation du serveur Apache

Attention : À partir de Debian Wheezy, le paquet apache2 n'installe plus par défaut le module prefork de Apache mais le module multithread. Le module prefork est nécessaire pour le mod_perl.

Installation de Apache version prefork et de mod_perl (mod_ssl, openssl et ssl-cert seront installés par défaut) et activation des modules Apache headers et expires.

root@debian73:~# apt-get install apache2-mpm-prefork libapache2-mod-perl2
root@debian73:~# a2enmod headers
root@debian73:~# a2enmod expires

Installation de Bugzilla

Récupération de l'archive, décompression, suppression et affectation des droits de l'utilisateur Apache

root@debian73:~# cd /var/www
root@debian73:/var/www# wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.5.1.tar.gz
root@debian73:/var/www# tar xvfz bugzilla-4.5.1.tar.gz
root@debian73:/var/www# rm -f bugzilla-4.5.1.tar.gz
root@debian73:/var/www# chown -R www-data:www-data bugzilla-4.5.1

Fichiers de configuration de Apache

Attention : À partir de Debian Wheezy, le fichier httpd.conf disparaît. (La documentation d'installation de Bugzilla indique ce fichier pour y ajouter des instructions).

Modifier le fichier /etc/apache2/apache2.conf : passer le paramètre KeepAlive à Off (pour mod_perl) et ajouter les lignes après la section # Include module configuration.

# Include module configuration:
Include mods-enabled/*.load
Include mods-enabled/*.conf

# Configuration pour Bugzilla
PerlSwitches -w -T
PerlConfigRequire /var/www/bugzilla-4.5.1/mod_perl.pl

Rappel : Il s'agit d'une installation de test locale. Pour la production et l'accès par Internet, il est fortement conseillé de configurer le site en https.

Créer un fichier pour le site Bugzilla. Par exemple : /etc/apache2/sites-available/bugzilla et y ajouter les lignes suivantes :

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/bugzilla-4.5.1

       <Directory /var/www/bugzilla-4.5.1>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
       </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/bugzilla-error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/bugzilla-access.log combined
</VirtualHost>

Modifier ensuite le fichier /var/www/bugzilla-4.5.1/localconfig. Adapter les variables en fonction de votre configuration.

$webservergroup = 'www-data';
$db_name = 'bugzilla';
$db_user = 'buguser';
$db_pass = 'un_mot_de_passe';

Activer le site et redémarrer le serveur Apache (vous pouvez utiliser les options reload ou restart, mais le résultat n'est pas toujours celui escompté). stop puis start fonctionnent à tous coups.

root@debian73:~# a2ensite /etc/apache2/sites-available/bugzilla
root@debian73:~# /etc/init.d/apache2 stop
root@debian73:~# /etc/init.d/apache2 start

Lancer à présent le script checksetup.pl pour valider l'installation et les droits sur les fichiers et les répertoires de Bugzilla.

root@debian73:/var/www/bugzilla-5.4.1# ./checksetup.pl

Le script indiquera si des modules Perl sont manquants. Le cas échéant, installer les modules demandés, puis relancer le script checksetup.pl

Voilà, c'est terminé.

Logo Bugzilla