<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Notes spécifiques à un système

Utilisation du serveur HTTP Apache sous Microsoft Windows

Langues Disponibles:  en  |  fr  |  ko 

Ce document décrit l'installation, la configuration et l'exécution d'Apache 2.4 sous Microsoft Windows. Si vous avez des questions après avoir lu la documentation, ou si vous avez rencontré des évènements particuliers ou des rapports d'erreur, vous pouvez consultez la liste de diffusion de la communauté des utilisateurs.

Dans ce document, nous supposons que vous installez une distribution binaire d'Apache. Si vous voulez compiler Apache vous-même (par exemple pour aider au développement ou pour rechercher des bogues), référez-vous au document Compilation d'Apache pour Microsoft Windows.

Support Apache!

Voir aussi

top

Prérequis du système d'exploitation

La plate-forme Windows de base pour l'exécution d'Apache 2.4 est Windows 2000 ou supérieur. Veillez à toujours vous procurer et installer le dernier service pack afin d'éviter les bogues du système d'exploitation.

Les versions du serveur HTTP Apache supérieures à 2.2 ne fonctionneront sous aucun système d'exploitation d'une version antérieure à Windows 2000.
top

Téléchargement d'Apache pour Windows

Le projet du serveur HTTP Apache proprement dit ne fournit pas de distribution binaire mais seulement le code source. Certains membres du projet peuvent mettre à disposition des paquets binaires à titre individuel, mais ceux-ci n'ont pas vocation à être distribués publiquement.

Si vous n'êtes pas en mesure de compiler le serveur HTTP Apache vous-même, vous pouvez vous procurer un paquet binaire auprès des nombreuses distributions disponibles sur Internet.

Quelques solutions populaires pour déployer Apache httpd, et éventuellement PHP et MySQL sous Microsoft Windows :

top

Personnaliser Apache pour Windows

La configuration d'Apache est enregistrée dans les fichiers du sous-répertoire conf. Ce sont les même fichiers que ceux utilisés pour configurer la version Unix, mais il y a quelques directives spécifiques à Apache pour Windows. Voir l'index des directives pour la liste des directives disponibles.

La configuration par défaut de la distribution source installe le serveur dans \Apache2x. Cet emplacement peut être modifié à la compilation, mais il est important qu'en fin de compte, la directive ServerRoot dans apache2.conf corresponde effectivement à la racine de l'installation. Les distributions binaires peuvent parfois modifier la racine de l'installation par défaut, ou même la structure complète de la configuration initiale.

Les principales spécificités d'Apache pour Windows sont :

top

Exécuter Apache en tant que service

Apache fournit un utilitaire nommé Apache Service Monitor (Moniteur du service Apache). Grâce à lui, vous pouvez voir et gérer l'état de tous les services Apache installés sur toutes les machines du réseau. Pour pouvoir gérer un service Apache avec le moniteur, vous devez d'abord installer le service (soit automatiquement au cours de l'installation, soit manuellement).

Vous pouvez installer Apache en tant que service Windows NT à partir de la ligne de commandes et depuis le sous-répertoire Apache bin comme suit :

httpd.exe -k install

Si vous avez installé plusieurs services Apache sur votre ordinateur, vous devrez spécifier le nom du service que vous voulez installer en utilisant la commande suivante (notez que si vous spécifiez un nom durant l'installation, vous devrez aussi le spécifier pour toute opération comportant l'option -k) :

httpd.exe -k install -n "Nom-service"

Si un service doit utiliser un fichier de configuration spécifique, utilisez ceci :

httpd.exe -k install -n "Nom-service" -f "c:\fichiers\Nom-service.conf"

Si vous utilisez la première commande sans paramètre particulier, excepté -k install, le service aura pour nom Apache2.4 et le fichier de configuration sera censé être conf\apache2.conf.

Supprimer un service Apache est très simple. Utilisez simplement :

httpd.exe -k uninstall

On peut spécifier un service Apache particulier en utilisant :

httpd.exe -k uninstall -n "Nom service"

Normalement, le démarrage, le redémarrage et l'arrêt d'un service Apache s'effectuent via le Moniteur de Service Apache, ou en utilisant des commandes telles que NET START Apache2.4 et NET STOP Apache2.4, ou encore via le gestionnaire de services standard de Windows. Avant de démarrer Apache en tant que service dans quelque but que ce soit, vous devez tester le fichier de configuration du service en utilisant :

httpd.exe -n "Nom-service" -t

Vous pouvez aussi contrôler un service Apache à l'aide de ses options de ligne de commande. Avec cette méthode, pour démarrer un service Apache installé, vous utiliserez :

httpd.exe -k start -n "Nom-Service"

Pour arrêter un service Apache via les options de lignes de commande, utilisez ceci :

httpd.exe -k stop -n "Nom-Service"

ou

httpd.exe -k shutdown -n "Nom-Service"

Vous pouvez aussi redémarrer un service en exécution et le forcer à relire son fichier de configuration en utilisant :

httpd.exe -k restart -n "Nom-Service"

Par défaut, tous les services Apache sont configurés pour s'exécuter sous l'utilisateur system (le compte LocalSystem). Le compte LocalSystem n'a pas de privilèges sur votre réseau, que ce soit via un mécanisme sécurisé de Windows, y compris le système de fichiers, des tubes nommés, DCOM ou des RPC sécurisés. Il a cependant des privilèges élevés en local.

N'accordez jamais de privilèges réseau au compte LocalSystem ! Si Apache doit pouvoir accéder à des ressources réseau, créez un compte séparé pour Apache comme indiqué ci-dessous.

Il est fortement fortement conseillé aux utilisateurs de créer un compte séparé pour exécuter le(s) service(s) Apache, et même obligatoire si vous devez accéder à des ressources réseau via Apache.

  1. Créez un compte d'utilisateur du domaine normal, et assurez-vous de retenir son mot de passe.
  2. Accordez à l'utilisateur nouvellement créé les privilèges Log on as a service et Act as part of the operating system. Sous Windows NT 4.0, ces privilèges sont accordés via le Gestionnaire des utilisateurs du Domaine, mais sous Windows 2000 et XP, vous aurez plutôt intérêt à utiliser une GPO pour propager ces configurations. Vous pouvez aussi effectuer ces réglages via la Politique de Sécurité Locale intégrée à la MMC.
  3. Vérifiez que le compte nouvellement créé est membre du groupe Utilisateurs
  4. Accordez à ce compte les droits Lecture et Exécution (RX) sur tous les documents et répertoires de scripts (htdocs et cgi-bin par exemple), et aussi sur l'exécutable binaire httpd.exe.
  5. Accordez aussi à ce compte les droits de modification sur le répertoire logs.
Il est en général de bonne pratique d'accorder à l'utilisateur sous lequel le service Apache s'exécute les droits en lecture et exécution (RX) sur l'ensemble du répertoire Apache2.4, sauf pour le sous-répertoire logs, sur lequel l'utilisateur doit avoir au moins les droits de modification (RWXD).

Si vous permettez à ce compte de se connecter en tant qu'utilisateur et service, vous pouvez ouvrir une session sous ce compte et vérifier s'il a bien le droit d'exécuter les scripts, de lire les pages web, et si vous pouvez démarrer Apache à partir d'une console Windows. Si tout fonctionne, et si vous avez suivi les étapes ci-dessus, Apache devrait s'exécuter en tant que service sans problème.

Le code d'erreur 2186 indique probablement qu'Apache ne peut pas accéder à une ressource réseau nécessaire, et que vous