Apache installation version 2.4 Windows
Cet article se propose d'illustrer une installation simple du serveur Apache, version 2.4.X, sur une machine Windows. Une installation locale, à savoir poste de développeur, est particulièrement pratique lors de la réalisation des applications où il n'est pas nécessaire de travailler sur un serveur distant. C'est d'autant plus vrai lorsque l'on travaille avec un language interprété comme php, il suffit de modifier le fichier pour voir directement la modification.
Au moment d'écrire cet article, il n'existe pas de paquet d'installation sur el site officiel, contrairement à la version 2.2.X. L'installation s'effectuera donc manuellement.
Sommaire
Votre avis
Nobody voted on this yet
|
|
Installation
Téléchargement
Lorsque l'on ne possède pas de compilateur sous Windows, il est impossible d'effectuer une installation à partir de la compilation des sources. Heureusement, des paquets sont disponibles sur le site ApacheLounge.
Dans le cadre de cet article, le package httpd-2.4.10-win64-VC11.zip
est téléchargé. Ceci est une simple archive contenant le serveur compilé.
Mise en place
Une fois téléchargée, il suffit de décompresser l'archive dans l'emplacement cible, C:\Apps\Apache\2.4
dans le cadre de cet article. Le démarrage du serveur s'effectue en lançant l'exécutable httpd.exe
situé dans le sous répertoire bin
.
Paramétrage
La mise en pale étant manuelle, aucune configuration de l'instance n'est réalisée comme cela était fait avec le binaire de la version 2.2. Mais les modification sont particulièrement simple et doivent être réalisées dans le fichier conf/httpd.conf
.
Il faut modifier le paramètre ServerRoot
spécifiant le répertoire d'installation du serveur. La valeur d'origine est c:/Apache24
, remplacée par c:/Apps/Apache/2.4
.
#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path. If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used. If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
# ServerRoot "c:/Apache24"
ServerRoot "c:/Apps/Apache/2.4"
Le paramètre ServerAdmin
permet de spécifier l'adresse mail de l'administrateur. Cette modification est optinielle, surtout dans le cadre d'une installation locale pour le développement.
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
#
# ServerAdmin admin@example.com
ServerAdmin ejouvin@amexio.fr
Les modifications suivantes sont importantes. Il faut changer le paramètre ServerName
. Il suffit de spécifier localhost
suivi du numéro de port standard pour une installation locale.
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
ServerName localhost:80
Le paramètre DocumentRoot
permet de spécifier le répertoire racine par défaut, répertoire qui contient la page "Hello World" utilisée pour valider l'installation. Par défaut, il faut spécifier l'emplacement du répertoire htdocs
, sous répertoire de l'installation. Dans le cadre d'une utilisation plus avancée, il est possible de mettre en place une configuration un peu plus spécifique.
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
# DocumentRoot "c:/Apache24/htdocs"
DocumentRoot "c:/Apps/Apache/2.4/htdocs"
# <Directory "c:/Apache24/htdocs">
<Directory "c:/Apps/Apache/2.4/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
Les directive ScriptAlias
et Directory
pour cgi-bin
sont présentent par défaut, et autant les modifier pour correspondre aux répertoires d'installation.
ScriptAlias /cgi-bin/
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
# ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"
ScriptAlias /cgi-bin/ "c:/Apps/Apache/2.4/cgi-bin/"
</IfModule>
#
# "c:/Apache24/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
# <Directory "c:/Apache24/cgi-bin">
<Directory "c:/Apps/Apache/2.4/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
Exécution
Cependant ceci monopolise une fenêtre et ne permet pas une exécution en tâche de fond. La commande DOS start
permet d'y remédier.
C:\Apps\Apache\2.4\bin>start /B httpd.exe C:\Apps\Apache\2.4\bin>
Aucune nouvelle fenêtre n'apparaît, mais le serveur est correctement démarré.
Installation service
Il est possible d'installer manuellement le serveur comme service Windows à l'aide des arguments -k install
.
C:\Apps\Apache\2.4\bin>httpd.exe -k install Installing the Apache2.4 service (OS 5)AccÞs refusÚ. : AH00369: Failed to open the WinNT service manager, perhaps you forgot to log in as Adminstrator? C:\Apps\Apache\2.4\bin>
La première tentative montre qu'il est nécessaire d'être un administrateur de la machine afin d'installer le nouveau service. Pour cela, il faut ouvrir une fenêtre DOS
en mode administrateur.
C:\Apps\Apache\2.4\bin>httpd.exe -k install Installing the Apache2.4 service The Apache2.4 service is successfully installed. Testing httpd.conf.... Errors reported here must be corrected before the service can be started. C:\Apps\Apache\2.4\bin>
Aucun message d'erreur n'est affiché, présageant un succès de l'installation. En ouvrant la console des services Windows, ou en exécutant l'outil Apache Service monitor
, le service apparaît disponible.
Voir aussi
Documentation officielle: http://httpd.apache.org/docs/current/platform/windows.html