3.5.2. Apache sur Windows

Bugzilla peut être utilisé avec toutes les versions d'Apache 2.2.x et 2.4.x.

3.5.2.1. Installation

Téléchargez le serveur Apache HTTP sous forme d'une archive .zip sur le site Apache Lounge ou sur le site Apache Haus.

Décompressez l'archive dans C:\Apache24. Si vous le faites dans un autre répertoire, vous devrez alors modifier plusieurs variables dans le fichier httpd.conf, dont ServerRoot et DocumentRoot.

Vous devez maintenant modifier le fichier de configuration d'Apache C:\Apache24\conf\httpd.conf et suivre les étapes suivantes :

  1. Supprimez le commentaire devant LoadModule cgi_module modules/mod_cgi.so au début du fichier pour activer la prise en charge de CGI.
  2. Supprimez le commentaire devant AddHandler cgi-script .cgi pour enregistrer les fichiers .cgi comme scripts CGI. Pour que ceci focntionne, vous devez créer une clé de registre Windows intitulée HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command avec comme valeur par défaut le chemin d'accès complet à perl.exe avec un paramètre -T. Par exemple C:\Perl\bin\perl.exe -T si vous utilisez ActivePerl, ou C:\Strawberry\perl\bin\perl.exe -T si vous utilisez Strawberry Perl.
  3. Ajoutez un alias et un répertoire pour Bugzilla :
Alias "/bugzilla/" "C:/bugzilla/"
<Directory "C:/bugzilla">
    ScriptInterpreterSource Registry-Strict
    Options +ExecCGI +FollowSymLinks
    DirectoryIndex index.cgi index.html
    AllowOverride All
    Require all granted
</Directory>

Avertissement

Le bloc ci-dessus est un contrôle d'accès simple qui est correct pour Apache 2.4. Pour Apache 2.2, remplacez Require all granted par Allow from all. Si vous avez d'autres besoins de contrôle d'accès, vous aurez peut-être besoin d'effectuer d'autres modifications.

Vous pouvez maintenant enregistrer vos modifications et lancer Apache en tant que service. À partir de la ligne de commande Windows (cmd.exe) exécutez la commande suivante :

C:\Apache24\bin>httpd.exe -k install

C'est tout ! Bugzilla est maintenant accessible dans votre navigateur à l'adresse http://localhost/bugzilla.

3.5.2.2. Droits d'accès Apache

Par défaut, Apache est installé pour s'exécuter avec le compte SYSTEM. Pour des raisons de sécurité, il est préférable de reconfigurer le service pour qu'il s'exécute avec un utilisateur Apache. Pour cela, créer un utilisateur Windows membre d'aucun groupe et reconfigurer le service Apache2 pour qu'il s'exécute avec ce compte.

Quel que soit le compte avec lequel Apache s'exécute, celui a besoin des droits d'écriture et de modification pour les répertoires suivants et leurs sous-répertoires. Selon la version de Windows, ces droits peuvent déjà être donnés.

  • C:\Bugzilla\data
  • C:\Apache24\logs
  • C:\Windows\Temp

Veuillez noter que le répertoire C:\Bugzilla\data est créé lors du premier lancement du script checksetup.pl.

3.5.2.3. Fichiers journaux

À moins que vous ne vouliez conserver les statistiques d'accès à votre installation Bugzilla, il est préférable de désactiver la journalisation en commentant la directive CustomLog dans le fichier de configuration d'Apache.

Si vous ne désactiver pas la journalisation, vous devrez au moins désactivez celle des « query strings ». Quand des systèmes externes interagissent avec Bugzilla par l'intermédiaire de webservices (REST/XMLRPC/JSONRPC), ceux-ci incluent les identifiants de l'utilisateur dans l'URL (la « query string »). Par conséquent, pour éviter de stocker les mots de passe en clair sur le serveur, nous recommandons de configurer Apache pour ne pas inclure la chaîne de requête dans ses fichiers journaux.

  1. recherchez la ligne suivante dans le fichier de configuration d'Apache, qui définit le formatage pour vhost_combined:

    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    
  2. Replace %r with %m %U.

(Si vous avez configuré Apache différemment, une ligne différente pour la journalisation pourrait s'appliquer. Ajustez alors ces instructions en conséquence.)

3.5.2.4. Utiliser Apache avec SSL

Si vous voulez activer SSL avec Apache, c'est-à-dire accéder à Bugzilla à l'adresse https://localhost/bugzilla, vous devez effectuer les étapes supplémentaires suivantes :

  1. Modifier le fichier C:\Apache24\conf\httpd.conf et supprimez les commentaires des lignes suivantes :

    • LoadModule ssl_module modules/mod_ssl.so
    • LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    • Include conf/extra/httpd-ssl.conf
  2. Créez vos fichiers .key et .crt en utilisant openssl.exe fourni avec Apache :

    C:\Apache24\bin>openssl.exe req -x509 -nodes -days 730 -newkey rsa:2048 -keyout server.key -out server.crt

    openssl.exe vous posera quelques questions sur votre localisation et votre société pour remplir les champs du certificat.

  3. Une fois la clé privée et le certificat de votre serveur générés, déplacez-les dans C:\Apache24\conf pour que leur emplacement corresponde aux variables SSLCertificateFile et SSLCertificateKeyFile définies dans C:\Apache24\conf\extra\httpd-ssl.conf (que vous n'avez pas besoin de modifier).

Note

Ces opérations créent un certificat auto-signé qui générera des avertissements dans le navigateur lors de la première visite. Si votre Bugzilla a un nom DNS public, vous pouvez obtenir un certificat auprès d'une autorité de certification qui ne présentera pas ce problème.

3.5.2.5. Redémarrer Apache

Enfin, redémarrez Apache pour qu'il prenne en compte les modifications, soit à partir de la console des services, soit en ligne de commande :

C:\Apache24\bin>httpd.exe -k restart


Cette documentation contient très probablement des bogues ; si vous en découvrez, veuillez les signaler ici.