<-
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 

Cette traduction peut �tre p�rim�e. V�rifiez la version anglaise pour les changements r�cents.

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.

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. 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.

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 devez revoir la configuration "Log On As" (Se connecter en tant que ...) du service.

Lorsqu'Apache d�marre en tant que service, il se peut que vous obteniez un message d'erreur du Gestionnaire de Services Windows. Par exemple, si vous essayez de d�marrer Apache en utilisant l'applet Services du Panneau de configuration de Windows, vous pouvez obtenir le message suivant :

Could not start the Apache2.4 service on \\COMPUTER
Error 1067; The process terminated unexpectedly.

Vous obtiendrez cette erreur � caract�re g�n�ral pour tout probl�me survenant au cours du d�marrage du service Apache. Afin de d�terminer exactement la cause du probl�me, vous devez suivre les instructions permettant d'ex�cuter Apache pour Windows depuis la ligne de commande.

Si vous rencontrez des probl�mes avec le service, il est conseill� de suivre les instructions ci-dessous afin d'essayer de d�marrer httpd.exe depuis une console, et d'analyser les erreurs plut�t que vous d�mener � essayer de d�marrer le service.

top

Ex�cuter Apache depuis la console

Il est en g�n�ral recommand� d'ex�cuter Apache en tant que service, mais il est parfois plus simple d'utiliser la ligne de commande, en particulier au cours de la configuration initiale et les tests.

Pour ex�cuter Apache depuis la ligne de commande et en tant qu'application de console, utilisez la commande suivante :

httpd.exe

Apache va d�marrer, et continuera son ex�cution jusqu'� ce qu'on l'arr�te en tapant Ctrl-C.

Vous pouvez �galement d�marrer Apache via le raccourci "D�marrer Apache dans une console" plac� dans D�marrer --> Programmes --> Apache HTTP Server 2.4.xx --> Control Apache Server au cours de l'installation. Ceci va ouvrir une console Windows, et y d�marrer Apache. Si vous n'avez pas install� Apache en tant que service, la fen�tre Windows restera ouverte jusqu'� ce que vous arr�tiez Apache en tapant Ctrl-C dans cette fen�tre. Le serveur va alors s'arr�ter au bout de quelques secondes. Cependant, si vous avez install� Apache en tant que service, c'est ce dernier que le raccourci ci-dessus va lancer. Si le service Apache est d�j� en cours d'ex�cution, le raccourci va rester sans effet.

Si Apache s'ex�cute en tant que service, vous pouvez l'arr�ter en ouvrant une autre console et en entrant :

httpd.exe -k shutdown

Plut�t que de lancer Apache � partir d'une console, il est pr�f�rable de l'ex�cuter en tant que service car dans ce cas, il termine proprement les op�rations en cours avant de s'�teindre.

Si le serveur a �t� lanc� depuis une console, vous ne pouvez l'arr�ter qu'en pressant la combinaison de touches Ctrl-C dans la m�me fen�tre.

Vous pouvez aussi red�marrer Apache. Ceci le force � recharger son fichier de configuration. Toute op�ration en cours peut �tre achev�e sans interruption. Pour red�marrer Apache, vous pouvez soit taper Control-Break dans la fen�tre de console que vous avez utilis�e pour le d�marrer, soit entrer :

httpd.exe -k restart

si le serveur s'ex�cute en tant que service.

Note pour les utilisateurs familiers de la version Unix d'Apache : les commandes ci-dessus repr�sentent pour Windows l'�quivalent des commandes kill -TERM pid et kill -USR1 pid. L'option de ligne de commande -k a �t� choisie � titre de rapprochement avec la commande kill utilis�e sous Unix.

Si la fen�tre de la console Apache se ferme imm�diatement ou inopin�ment apr�s le d�marrage d'Apache, ouvrez une console Windows depuis le menu D�marrer --> Programmes. Placez-vous dans le r�pertoire d'installation d'Apache, tapez la commande httpd.exe, et observez le message d'erreur. Allez ensuite dans le r�pertoire des journaux, et visualisez le fichier error.log pour d�tecter d'�ventuelles erreurs de configuration. Si Apache a �t� install� dans C:\Program Files\Apache Software Foundation\Apache2.4\, vous pouvez entrer ce qui suit :

c:
cd "\Program Files\Apache Software Foundation\Apache2.4\bin"
httpd.exe

Attendez ensuite qu'Apache s'arr�te ou tapez Ctrl-C. Entrez alors la commande suivante :

cd ..\logs
more < error.log

Lorsqu'on travaille avec Apache, il est important de comprendre comment ce dernier trouve son fichier de configuration. Vous pouvez sp�cifier un fichier de configuration � partir de la ligne de commande de deux fa�ons :

Dans les deux cas, la directive ServerRoot doit �tre correctement d�finie dans le fichier de configuration.

Si vous ne sp�cifiez aucun fichier de configuration � l'aide des options -f ou -n, Apache utilisera le nom du fichier de configuration compil� dans le serveur, en g�n�ral conf\apache2.conf. Ce chemin cod� en dur est relatif au r�pertoire d'installation. Vous pouvez v�rifier ce chemin � partir de la valeur de l'�tiquette SERVER_CONFIG_FILE en invoquant Apache avec l'option -V, comme ceci :

httpd.exe -V

Apache va ensuite essayer de d�terminer la valeur de son ServerRoot en effectuant les recherches suivantes, dans cet ordre :

  1. Une directive ServerRoot via l'option de ligne de commande -C.
  2. L'option de ligne de commande -d.
  3. Le r�pertoire de travail courant.
  4. Une entr�e de la base de registre cr��e dans le cas d'une installation binaire.
  5. La racine des documents (DocumentRoot) cod�e en dur dans le serveur. Elle correspond par d�faut � /apache, et vous pouvez le v�rifier en tapant httpd.exe -V et en recherchant l'�tiquette HTTPD_ROOT.

Si vous n'avez pas effectu� d'installation binaire, dans certains sc�narios, Apache va signaler l'absence de cette cl� de registre. On peut passer outre cet avertissement si le serveur a �t� en mesure de trouver son fichier de configuration d'une autre mani�re.

La valeur de cette cl� correspond au r�pertoire ServerRoot qui contient lui-m�me le sous-r�pertoire conf. Lors de son d�marrage, Apache lit le fichier apache2.conf � partir de ce r�pertoire. Si ce fichier contient une directive ServerRoot qui sp�cifie un r�pertoire diff�rent de celui que contient la cl� de registre ci-dessus, Apache oubliera la cl� de registre, et utilisera le r�pertoire sp�cifi� par le fichier de configuration. Si vous d�placez le r�pertoire Apache ou ses fichiers de configuration, il est vital de mettre � jour la directive ServerRoot dans apache2.conf afin de refl�ter la nouvelle localisation.

top

V�rification de l'installation

Une fois Apache d�marr� (soit � partir d'une console Windows, soit en tant que service), ce dernier va se mettre � l'�coute sur le port 80 (� moins que vous ayiez modifi� la directive Listen dans les fichiers de configuration ou que vous ayiez install� Apache pour l'utilisateur courant seulement). Pour vous connecter au serveur et acc�der � la page par d�faut, lancez un navigateur et entrez cette URL :

http://localhost/

Apache devrait renvoyer une page de bienvenue et vous devriez voir s'afficher "It Works!". Si rien ne se passe ou si vous obtenez une erreur, consultez le fichier error.log dans le sous-r�pertoire logs. Si votre serveur n'est pas connect� au r�seau, ou si vous avez de s�rieux probl�mes avec la configuration de votre DNS (Domain Name Service), vous devez utiliser cette URL :

http://127.0.0.1/

Si Apache �coute un port non standard, vous devez le pr�ciser explicitement dans l'URL :

http://127.0.0.1:8080/

Apr�s que votre installation de base fonctionne, vous devez la configurer correctement en �ditant les fichiers du sous-r�pertoire conf. Encore une fois, si vous modifiez la configuration du service Apache sous Windows NT, essayez d'abord de red�marrer le service depuis la ligne de commande afin de vous assurer de l'absence d'erreur.

Comme Apache ne peut pas partager le m�me port avec d'autres applications TCP/IP, il se peut que vous soyez amen� � arr�ter, d�sinstaller ou reconfigurer certains services avant de d�marrer Apache. Ces services entrant en conflit avec Apache comprennent les autres serveurs WWW, certaines impl�mentations de pare-feu, et m�me certaines applications client (comme Skype) qui utilisent le port 80 afin de contourner les pare-feu.

top

Configuration de l'acc�s aux ressources r�seau

L'acc�s � des fichiers par le r�seau peut �tre sp�cifi� via deux m�canismes fournis par Windows :

Association de lettres de lecteur
Par exemple, Alias /images/ Z:/
chemins UNC
Par exemple, Alias /images/ //imagehost/www/images/

L'association de lettres de lecteur permet � l'administrateur de maintenir une correspondance avec une certaine machine et un certain chemin en dehors de la configuration d'Apache httpd. Cependant, ces associations ne sont possibles que dans le cadre des sessions interactives, et ne sont pas directement disponibles pour Apache httpd lorsqu'il est d�marr� en tant que service. N'utilisez par cons�quent que des chemins UNC pour les ressources r�seau dans apache2.conf, de fa�on � ce que les ressources soient accessibles quelle que soit la mani�re dont Apache httpd a �t� d�marr� (des proc�dures exotiques et probablement sujettes aux erreurs peuvent permettre de contourner la restriction due aux associations de lettres de lecteur, mais leur utilisation est d�conseill�e).

Exemple de DocumentRoot avec chemin UNC

  DocumentRoot //dochost/www/html/
  

Exemple de DocumentRoot avec adresse IP dans le chemin UNC

  DocumentRoot //192.168.1.50/docs/
  

Exemple d'Alias et r�pertoire correspondant avec chemin UNC

Alias /images/ //imagehost/www/images/

<Directory //imagehost/www/images/>
#...
<Directory>
  

Lorsqu'Apache s'ex�cute en tant que service, vous devez cr�er un compte sp�cifique afin de pouvoir acc�der aux ressources r�seau, comme d�crit ci-dessus.

Langues Disponibles:  en  |  fr  |  ko 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.