3.5.1. Apache
Vous avez deux options pour exécuter Bugzilla sur Apache : mod_cgi (par défaut) et mod_perl. mod_perl est plus rapide mais consomme plus de ressources. Vous ne devriez envisager l’utilisation de mod_perl que si votre installation de Bugzilla sera très firtement utilisée.
Ces instructions nécessitent l’édition du fichier de configuration d’Apache :
Fedora/Red Hat:
/etc/httpd/conf/httpd.conf
Debian/Ubuntu:
/etc/apache2/apache2.conf
Mac OS X:
/etc/apache2/httpd.conf
Vous pouvez aussi sous Debian ou Ubuntu, mettre le code indiqué ci-dessous dans un fichier
séparé dans le répertoire /etc/apache2/sites-enabled/
.
Dans ces instructions, quand le démarrage d’Apache est demandé, la commande à exécuter est :
sudo apachectl start
(ou l’exécuter en tant que root si votre système n’utilise pas sudo).
3.5.1.1. Sécuriser Apache
Quand des systèmes externes interagissent avec Bugzilla par le biais de webservices (REST/XMLRPC/JSONRPC), ils incluent les identifiants de connexions de l’utilisateur dans l’URL (dans la « query string »). Par conséquent, pour éviter de stocker les mots de passe en clair dans les journaux du serveurs, nous recommandons de configurer Apache pour ne pas inclure la « query string » dans ses fichiers journaux.
Éditer le fichier de configuration d’Apache (voir plus haut).
Rechercher la ligne suivante qui définit le format de journalisation pour
vhost_combined
:LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
Remplacer
%r
par%m %U
.Redémarrer Apache.
3.5.1.2. Apache with mod_cgi
Pour configurer votre serveur Web Apache pour fonctionner avec Bugzilla en utilisant mod_cgi, suivez les instructions suivantes :
Éditer le fichier de configuration d’Apache (voir plus haut).
Créer une directive
<Directory>
s’appliquant à l’emplacement de votre installation Bugzilla. dans cette example, Bugzilla a été installé dans/var/www/html/bugzilla
. Sous Mac OS X, utiliser/Library/WebServer/Documents/bugzilla
.
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +ExecCGI +FollowSymLinks
DirectoryIndex index.cgi index.html
AllowOverride All
</Directory>
Ces instructions autorisent Apache à exécuter les fichiers .cgi
se trouvant
dans le répertoire bugzilla
; indiquent au serveur de chercher
un fichier appelé index.cgi
, ou s’il n’est pas
trouvé, index.html
, si quelqu’un saisit seulement le nom
du répertoire dans le navigateur ; et autorisent les
fichiers .htaccess
de Bugzilla à outrepasser quelques
permissions globales.
Sur certaines distributions Linux, vous devrez activer le module Apache CGI. Pour Debian/Ubuntu, ceci est réalisé avec la commande :
sudo a2enmod cgi
Si le serveur Web renvoie le code Perl comme du texte au lieu de l’exécuter c’est que ce module n’est pas activé.
3.5.1.3. Apache with mod_perl
Une certaine configuration est requise pour faire fonctionner Bugzilla avec Apache et mod_perl.
Note
Nous ne savons pas si quelqu’un a déjà essayé mod_perl sur Mac OS X.
Éditer le fichier de configuration d’Apache (voir plus haut).
Ajoutez les informations suivantes en substituant où cela est approprié vos propres chemins d’accès locaux.
PerlSwitches -w -T PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
Note
Ceci doit être utilisé au lieu du bloc <Directory> indiqué plus haut. Ceci doit aussi être placé au-dessus de toute autre directive
mod_perl
dans le fichierhttpd.conf
et doit être spécifié dans l’ordre indiqué ci-dessous.Avertissement
Vous devez aussi vous assurer que vous avez désactivé la gestion de
KeepAlive
dans votre installation Apache en utilisant Bugzilla avec mod_perl ou vous pourriez rencontrer des problèmes de performance.
Au redémarrage d’Apache, Bugzilla devrait alors fonctionner en
environnement mod_perl. Veuillez vous assurer d’avoir exécuté checksetup.pl
pour définir les permissions avant de redémarrer Apache.
Veuillez garder à l’esprit les points suivants en utilisant Bugzilla avec mod_perl :
La gestion mod_perl dans Bugzilla peut consommer ÉNORMÉMENT de RAM. Vous pouvez compter facilement 30 Mo par processus httpd enfant. En gros, vous avez seulement besoin de beaucoup de RAM. Plus vous en aurez, mieux ce sera. mod_perl utilise basiquement la mémoire pour augmenter la vitesse de traitement. Il est recommandé d’avoir au moins 2 Go de RAM pour exécuter Bugzilla sous mod_perl.
Sous mod_perl, vous devez redémarrer Apache si vous faites un chagement manuel sur tout fichier de Bugzilla. vous ne pouvez pas seulement recharger – vous devez en fait redémarrer le serveur (être sûr qu’il soit arrêté puis démarré à nouveau) Vous pouvez modifier le fichier
localconfig
et le fichier des paramètres, si vous le voulez, car ceux-ci sont lus chaque fois que vous chargez une page.Vous devez exécuter
Prefork MPM
de Apache (c’est l’option par défaut). LeWorker MPM
peut ne pas fonctionner – nous n’avons pas testé Bugzilla sous mod_perl avec la gestion des threads. (Et en fait, nous sommes pratiquement sûrs que cela ne fonctionnera pas.)Bugzilla s’attend généralement à être la seule application fonctionnant sous mod_perl sur tout le serveur. Il peut ne pas fonctionner s’il y a d’autres applications fonctionnant aussi sous mod_perl. Il s’efforcera de cohabiter avec d’autres applications sous mod_perl, mais il pourra y avoir des conflits.
Il est recommandé de n’avoir qu’une seule instance de Bugzilla fonctionnant sous mod_perl sur votre serveur. Bugzilla n’a pas été testé avec plus d’une instance.
Cette documentation contient très probablement des bogues ; si vous en découvrez, veuillez les signaler ici.