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.
 Pr�requis
 Compilation � partir des sources Unix
 Compilation � partir de la ligne de commandes
 Compilation depuis l'espace de travail IDE de Developer
    Studio
 Export des fichiers .mak de la ligne de commandes
 Installation
 Avertissement � propos de la compilation d'Apache � partir de
l'arborescence de d�veloppementPour 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 the 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 pouvoir compiler mod_ssl ou le projet
	abs.exe, qui devient 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.
Le projet du serveur HTTP Apache � pour politique de ne fournir que des sources de type Unix. Les paquets source de type Windows disponibles en t�l�chargement ont �t� �labor�s par des contributeurs, et ne seront pas forc�ment reconduits pour toutes les versions. Vous pouvez cependant compiler le serveur sous Windows � partir des sources Unix en ajoutant quelques �tapes suppl�mentaires.
      perl srclib\apr\build\lineends.pl
    
Vous pouvez maintenant compiler le serveur via l'environnement de d�veloppement Visual Studio en utilisant l'IDE. Les compilations du serveur en ligne de commande ne sont possibles avec des sources de type Unix que si vous exportez les fichiers .mak comme indiqu� ci-dessous.
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 plus 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'exporter 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.