Serveur Apache HTTP Version 2.4

Il y a de nombreux points importants � conna�tre avant de compiler Apache pour Microsoft Windows. Avant de commencer, lisez le document Utiliser Apache avec Microsoft Windows.
Pour compiler Apache, l'environnement doit satisfaire aux conditions suivantes :
Espace disque
Assurez-vous de disposer d'un minimum de 200 Mo d'espace disque disponible. Apr�s l'installation, Apache occupe environ 80 Mo d'espace disque, plus l'espace r�serv� aux journaux et au cache, la taille de ces derniers pouvant augmenter rapidement. Les besoins r�els en espace disque d�pendent �troitement de la configuration choisie et des biblioth�ques ou modules tiers install�s, en particulier lorsqu'OpenSSL est mis en oeuvre. Comme de nombreux fichiers sont au format texte et donc facilement compressibles, l'utilisation de la compression du syst�me de fichiers NTFS divise ces besoins par deux.
Correctifs requis
Le binaire httpd est compil� � l'aide de nombreux correctifs appliqu�s aux paquets tiers, ce qui permet de s'assurer que le code fourni est bien compilable et d�boguable. Ces correctifs sont disponibles � http://www.apache.org/dist/httpd/binaries/win32/patches_applied/, et il est recommand� de les appliquer afin d'obtenir un r�sultat identique aux binaires "officiels" distribu�s par l'ASF.
Microsoft Visual C++ 6.0 (Visual Studio 97) ou sup�rieur.
Apache peut �tre compil� en utilisant l'outil ligne de
commande, ou depuis l'espace de travail IDE Visual Studio. Pour
la compilation depuis la ligne de commandes, l'environnement
doit comporter les variables PATH,
INCLUDE, LIB, ainsi que d'autres
variables qui peuvent �tre d�finies via le script
vcvars32.bat :
Le SDK de la plate-forme Windows mis � jour, f�vrier 2003 ou plus r�cent.
Un SDK appropri� pour la plate-forme Windows est inclus par d�faut dans les versions compl�tes (et non Express/lite) de Visual C++ 7.1 (Visual Studio 2002) et sup�rieures ; les utilisateurs peuvent ignorer ces �tapes, � moins qu'ils aient choisi d'utiliser une version plus r�cente ou diff�rente du SDK.
Pour pouvoir utiliser Visual C++ 6.0 or 7.0 (Studio 2000
.NET), l'environnement du SDK de la plate-forme doit �tre pr�par� en utilisant le
script setenv.bat (install� par le SDK de la plate-forme) avant de
lancer la compilation en ligne de commande ou l'interface GUI
msdev/devenv. L'installation du SDK de la plate-forme pour les
versions Express de Visual Studio (2003 et sup�rieures) devrait
ajuster l'environnement par d�faut de mani�re appropri�e.
"c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
"c:\Program Files\Platform SDK\setenv.bat"
Perl et awk
De nombreuses �tapes recommand�es ici n�cessitent un interpr�teur perl durant le processus de pr�paration de la compilation.
Pour installer Apache � partir du syst�me de compilation, de
nombreux fichiers sont modifi�s via l'utilitaire
awk.exe. awk effectue la modification des fichiers
au moment de l'installation ; il a �t� choisi car il n�cessite
un t�l�chargement de petite taille (par rapport � Perl ou
WSH/VB). Le site de Brian Kernighan http://www.cs.princeton.edu/~bwk/btl.mirror/ propose un
binaire pr�compil� pour Win32, http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe, que
vous devez enregistrer sous le nom awk.exe (plut�t
que awk95.exe).
awk.exe que dans la variable PATH, ou dans le
chemin des ex�cutables sp�cifi� par l'option de menu Tools ->
Options -> (Projects ->) Directories. Assurez-vous
qu'awk.exe est bien dans votre chemin syst�me.gawk.exe et que le
fichier awk.exe est en fait un lien symbolique vers
le fichier gawk.exe. Le shell de commandes Windows
ne reconna�t pas les liens symboliques, et par cons�quent la
compilation d'InstallBin �chouera. Pour contourner le probl�me,
vous pouvez supprimer le lien awk.exe de
l'installation de Cygwin, et copier gawk.exe vers
awk.exe. Notez aussi que les portages cygwin/mingw
de gawk 3.0.x �taient bogu�s ; veuillez par cons�quent effectuer
une mise � jour vers la version 3.1.x avant l'utilisation de
tout portage de gawk.[Optionnel] biblioth�que zlib (pour le module
mod_deflate)
Zlib doit �tre install�e dans un sous-r�pertoire du
r�pertoire srclib et nomm� zlib. Elle
doit �tre compil�e directement � cette place. Zlib est
disponible � l'adresse http://www.zlib.net/ -- le
fonctionnement correct du module mod_deflate a
�t� v�rifi� avec la version 1.2.3.
nmake -f win32\Makefile.msc
nmake -f win32\Makefile.msc test
[Optionnel] Biblioth�ques OpenSSL (pour le module
mod_ssl et ab.exe avec le support
ssl)
La configuration et la compilation d'OpenSSL n�cessite l'installation de perl.
Pour compiler mod_ssl ou le projet
abs.exe, qui n'est autre que ab.c avec le support SSL
activ�, vous devez t�l�charger OpenSSL � l'adresse http://www.openssl.org/source/,
et l'installer dans un sous-r�pertoire du r�pertoire
srclib que vous nommerez openssl. Afin
de pr�parer OpenSSL � la liaison avec le module Apache mod_ssl
ou abs.exe, et d�sactiver les fonctionnalit�s d'Openssl gr�v�es
de brevets, vous pouvez utiliser la commande de compilation
suivante :
perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32
-Ipath/to/srclib/zlib -Lpath/to/srclib/zlib
ms\do_masm.bat
nmake -f ms\ntdll.mak
[Optionnel] Biblioth�ques de bases de donn�es (pour
mod_dbd et mod_authn_dbm)
La biblioth�que apr-util fournit un acc�s aux fonctionnalit�s clients dbm (base de donn�es � base de cl�s) et dbd (base de donn�es � base de requ�tes) au serveur httpd et � certains de ses modules, comme les modules d'authentification et d'autorisation. Les fournisseurs sdbm dbm et odbc dbd sont compil�s automatiquement.
Le support dbd inclut le paquet instantclient Oracle, MySQL, PostgreSQL et sqlite. Par exemple, pour les compiler tous, d�finissez LIB de fa�on � inclure le chemin des biblioth�ques, INCLUDE de fa�on � inclure le chemin des en-t�tes, et PATH de fa�on � inclure le chemin des dll et bin de chacun des quatre SDK, et d�finissez la variable d'environnement DBD_LIST de fa�on � indiquer au processus de compilation quels SDKs pilotes clients du sont correctement install�s ; par exemple :
set DBD_LIST=sqlite3 pgsql oracle mysql
De mani�re similaire, le support dbm peut �tre �tendu avec DBM_LIST pour compiler un fournisseur Berkeley DB (db) et/ou un fournisseur gdbm, en configurant tout d'abord de la m�me mani�re LIB, INCLUDE et PATH afin de s'assurer que les biblioth�ques et en-t�tes de la biblioth�que client sont bien disponibles.
set DBM_LIST=db gdbm
Voir le fichier README-win32.txt pour plus d'informations � propos de l'obtention des diff�rents SDKs pilotes de bases de donn�es.
Makefile.win est le makefile principal ou racine
d'Apache. Pour compiler Apache sous Windows, utilisez simplement une
des commandes suivantes pour compiler la version
release ou debug :
nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached
Ces deux commandes effectuent la compilation d'Apache. Cependant, avec la deuxi�me, les fichiers r�sultants ne seront pas optimis�s, ce qui va faciliter l'examen pas � pas du code pour trouver des bogues et r�soudre les probl�mes.
Vous pouvez indiquer vos choix en mati�re de fournisseurs dbd et dbm � l'aide des variables (d'environnement) additionnelles de make DBD_LIST et DBM_LIST ; voir les commentaires � propos des [Optionnel] Biblioth�ques de bases de donn�es ci-dessus. Consultez les commentaires initiaux dans Makefile.win pour plus d'options pouvant �tre fournies lors de la compilation.
Apache peut aussi �tre compil� depuis l'environnement de
d�veloppement Visual Studio de VC++. Pour simplifier ce processus,
l'espace de travail Visual Studio Apache.dsw est
fourni. Cet espace de travail expose la liste compl�te des projets
.dsp actifs n�cessaires � l'installation binaire
compl�te d'Apache. Il inclut les d�pendances entre projets afin que
ces derniers soient compil�s selon l'ordre appropri�.
Ouvrez l'espace de travail Apache.dsw, et
s�lectionnez InstallBin (compilation
Release ou Debug, selon vos souhaits)
comme Active Project. InstallBin provoque la
compilation de tous les projets concern�s, puis invoque
Makefile.win pour installer les ex�cutables et dlls
compil�s. Vous pouvez modifier la valeur de INSTDIR=
via la configuration de InstallBin, onglet G�n�ral,
entr�e ligne de commandes de compilation. La valeur par d�faut de
INSTDIR est le r�pertoire /Apache2. Si
vous d�sirez effectuer un test de compilation (sans installation),
s�lectionnez le projet BuildBin.
Les fichiers projets .dsp sont distribu�s au format
Visual Studio 6.0 (98). Visual C++ 5.0 (97) les reconna�t. Les
utilisateurs de Visual Studio 2002 (.NET) et versions sup�rieures
doivent convertir Apache.dsw et les fichiers
.dsp en un projet Apache.sln, ainsi que
les fichiers .msproj ; assurez-vous de reconvertir le
fichier .msproj si l'un des fichiers source
.dsp est modifi� ! Cette op�ration est vraiment tr�s
simple, il suffit de r�ouvrir Apache.dsw dans l'IDE
VC++ 7.0 et de le reconvertir.
perl srclib\apr\build\cvtdsp.pl -2005
Les utilisateurs de Visual Studio 2002 (.NET) et versions
sup�rieures doivent aussi utiliser
la bo�te de dialogue Configuration Manager du menu Build pour
d�cocher les deux versions Debug et
Release des modules mod_ssl
et mod_deflate pour abs. Ces modules
sont compil�s
en invoquant nmake ou directement l'IDE avec la cible
BinBuild pour compiler ces modules de mani�re
conditionnelle si les sous-r�pertoires de srclib
openssl et/ou zlib existent, et en
fonction des d�finitions des variables d'environnement
DBD_LIST et DBM_LIST.
Les fichiers .mak export�s posent beaucoup de probl�mes,
mais les utilisateurs de Visual C++ 5.0 en ont besoin pour compiler
mod_ssl, abs (ab avec support
SSL) et/ou mod_deflate. Les fichiers .mak
supportent aussi un choix plus large de distributions de cha�nes
d'outils C++, comme Visual Studio Express.
Vous devez tout d'abord compiler tous les projets afin de cr�er
toutes les cibles dynamiques auto-g�n�r�es, de fa�on � ce que les
d�pendances puissent �tre interpr�t�es correctement. Compilez
l'ensemble du projet depuis l'IDE Visual Studio 6.0 (98), en
utilisant la cible BuildAll, puis utilisez le menu de
projet Export pour tous les makefiles (en cochant "with
dependencies"). Utilisez la commande suivante pour transformer les
chemins absolus en chemins relatifs de fa�on � ce que la compilation
puisse s'effectuer depuis n'importe quelle position dans
l'arborescence :
perl srclib\apr\build\fixwin32mak.pl
Vous devez ex�cuter cette commande depuis la racine de
l'arborescence des sources de httpd. Tout fichier projet
.mak et .dep du r�pertoire courant et de
ses sous-r�pertoires sera corrig�, et les rep�res de temps ajust�s
en fonction des .dsp.
V�rifiez toujours le SDK de la plate-forme ou autres chemins
fichiers locaux, sp�cifiques � la machine dans les fichiers
.mak et .dep g�n�r�s. Le r�pertoire
DevStudio\Common\MSDev98\bin\ (VC6) contient un fichier
sysincl.dat qui �num�re toutes les exceptions. Mettez �
jour ce fichier (en particulier les chemins avec slashes et
anti-slashes, tels que sys/time.h et
sys\time.h) de fa�on � ignorer ces nouvelles
d�pendances. Inclure les chemins d'installation locale dans un
fichier .mak distribu� fera �chouer la
compilation.
Si vous soumettez un patch qui modifie les fichiers projet, nous devons valider la modification de ces fichiers projet au format Visual Studio 6.0. Les modifications doivent �tres simples, avec un minimum de drapeaux de compilation et d'�dition de liens qui pourront �tre reconnus par tous les environnements Visual Studio.
Une fois compil�, Apache doit �tre install� dans le r�pertoire
racine du serveur. La valeur par d�faut est le r�pertoire
\Apache2, sur le m�me disque.
Pour compiler et installer automatiquement tous les fichiers dans
le r�pertoire rep d�sir�, utilisez une des commandes
nmake suivantes :
nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir
L'argument rep de INSTDIR permet de
sp�cifier le r�pertoire d'installation ; il peut �tre omis si Apache
doit �tre install� dans \Apache22 (du lecteur de disque
courant.
.dsp sont
maintenus d'une distribution release � l'autre. Les
fichiers .mak ne sont PAS r�g�n�r�s, suite �
l'�norme perte de temps des relecteurs. Vous ne
pouvez donc pas utiliser les commandes NMAKE
ci-dessus pour compiler des fichiers de projet .dsp
r�vis�s si vous n'exportez pas ensuite vous-m�me tous les
fichiers .mak du projet. Ceci n'est pas n�cessaire
si vous effectuez la compilation depuis l'environnement
Microsoft Developer Studio.