| <?xml version="1.0" encoding="UTF-8" ?> | |
| <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> | |
| <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?> | |
| <!-- French translation : Lucien GENTIS --> | |
| <!-- Reviewed by : Vincent Deffontaines --> | |
| <!-- English Revision: 1935202 --> | |
| <!-- | |
| Licensed to the Apache Software Foundation (ASF) under one or more | |
| contributor license agreements. See the NOTICE file distributed with | |
| this work for additional information regarding copyright ownership. | |
| The ASF licenses this file to You under the Apache License, Version 2.0 | |
| (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| --> | |
| <manualpage metafile="install.xml.meta"> | |
| <title>Compilation et installation</title> | |
| <summary> | |
| <p>Le serveur HTTP Apache est distribué sous forme de code source. Ce | |
| document décrit la construction et l’installation du serveur à partir des | |
| sources sous Unix et les systèmes de la famille d’Unix. Pour Windows, voir | |
| <a href="platform/windows.html">Utiliser le serveur HTTP Apache avec | |
| Microsoft Windows</a> et <a href="platform/win_compiling.html">Compilation | |
| de httpd sous Microsoft Windows</a>. Pour les autres plateformes, se | |
| référer à la documentation par <a href="platform/">plateforme</a>.</p> | |
| <p>Si vous installez httpd depuis un paquet de distribution (RPM, DEB, | |
| etc.), l’organisation de la configuration et les valeurs par défaut peuvent | |
| être différentes de ce qui est décrit ici. Voir <a href="#thirdp">paquets | |
| tiers</a> ci-après et consultez la documentation de votre distribution pour | |
| les détails spécifiques à la plateforme.</p> | |
| <p>Si vous effectuez une mise à jour depuis une version mineure vers | |
| la suivante (par exemple, 2.4.66 à 2.4.67), veuillez passer à la section | |
| <a href="#upgrading">mise à jour</a>.</p> | |
| </summary> | |
| <seealso><a href="programs/configure.html">Configuration de l'arborescence | |
| des sources</a></seealso> | |
| <seealso><a href="invoking.html">Démarrer httpd</a></seealso> | |
| <seealso><a href="stopping.html">Arrêt et redémarrage</a></seealso> | |
| <section id="overview"><title>Aperçu pour les plus pressés</title> | |
| <table> | |
| <columnspec><column width=".13"/><column width=".80"/></columnspec> | |
| <tr> | |
| <td><a href="#download">Téléchargement</a></td> | |
| <td>Téléchargez la dernière version depuis <a | |
| href="https://httpd.apache.org/download.cgi#apache24">https://httpd.apache.org/download.cgi</a> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td><a href="#extract">Extraction</a></td> | |
| <td><highlight language="sh"> | |
| $ tar xzf httpd-NN.tar.gz | |
| $ cd httpd-NN | |
| </highlight></td> | |
| </tr> | |
| <tr> | |
| <td><a href="#configure">Configuration</a></td> | |
| <td><code>$ ./configure --prefix=<em>PREFIX</em></code> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td><a href="#compile">Compilation</a></td> | |
| <td><code>$ make</code> </td> | |
| </tr> | |
| <tr> | |
| <td><a href="#install">Installation</a></td> | |
| <td><code>$ make install</code> </td> | |
| </tr> | |
| <tr> | |
| <td><a href="#customize">Personnalisation</a></td> | |
| <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td> | |
| </tr> | |
| <tr> | |
| <td><a href="#test">Test</a></td> | |
| <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code> | |
| </td> | |
| </tr> | |
| </table> | |
| <p><em>NN</em> doit être remplacé par le numéro de version courant, | |
| et <em>PREFIX</em> par le | |
| chemin du répertoire d'installation. Si | |
| <em>PREFIX</em> n'est pas spécifié, le chemin du répertoire | |
| d'installation prendra sa valeur par défaut, à savoir | |
| <code>/usr/local/apache2</code>.</p> | |
| <p>Chaque étape du processus de compilation et d'installation est | |
| décrite plus en détails ci-dessous, à commencer par les prérequis | |
| pour compiler et installer httpd.</p> | |
| </section> | |
| <section id="requirements"><title>Prérequis</title> | |
| <p>Les prérequis pour la construction et l’exécution de httpd sont les | |
| suivants:</p> | |
| <dl> | |
| <dt>APR et APR-Util</dt> | |
| <dd>APR et APR-Util doivent être déjà installés sur votre système. | |
| Si ce n'est pas le cas, ou si vous préférez ne pas utiliser les | |
| versions fournies par le système, téléchargez les dernières | |
| versions d'APR et APR-Util depuis <a | |
| href="https://apr.apache.org/">Apache APR</a>, décompressez-les | |
| respectivement dans <code>/racine_sources_httpd/srclib/apr</code> et | |
| <code>/racine_sources_httpd/srclib/apr-util</code> (les noms des répertoires ne | |
| doivent pas comporter de numéros de versions ; par exemple, la | |
| distribution d'APR doit se trouver dans /racine_sources_httpd/srclib/apr/), et | |
| utilisez l'option <code>--with-included-apr</code> du script | |
| <code>./configure</code>. Sur certaines plateformes, vous devrez | |
| peut-être installer les paquets <code>-dev</code> correspondants | |
| pour permettre la compilation de httpd avec les versions | |
| installées d'APR et APR-Util.</dd> | |
| <dt>Bibliothèque d'expressions rationnelles compatibles Perl | |
| (PCRE2)</dt> | |
| <dd>Cette bibliothèque est nécessaire mais n'est pas fournie avec la | |
| distribution de httpd. Téléchargez le code source depuis <a | |
| href="https://github.com/PCRE2Project/pcre2">https://github.com/PCRE2Project/pcre2</a> | |
| ou installez le avec le gestionnaire de paquets de votre système. Si votre | |
| système de construction ne trouve pas le script <code>pcre2-config</code> | |
| installé par la construction de PCRE2, pointez vers lui en utilisant | |
| l’option <code>--with-pcre</code>. Sur certaines plateformes, vous devrez | |
| peut-être installer le paquet <code>-dev</code> correspondant (par exemple | |
| <code>libpcre2-dev</code> ou <code>pcre2-devel</code>) pour permettre la | |
| construction de httpd avec votre version installée de PCRE2.</dd> | |
| <dt>Espace disque</dt> | |
| <dd>Assurez-vous d'avoir au moins 200 Mo d'espace disque disponible | |
| temporaire. Après l'installation le serveur occupe | |
| approximativement 50 Mo d'espace disque. L'espace disque réellement | |
| nécessaire va varier considérablement en fonction de vos options | |
| de configuration, de la présence éventuelle de | |
| modules tiers, et bien entendu de la taille de votre site web et | |
| des sites que vous hébergez sur votre serveur.</dd> | |
| <dt>Compilateur ANSI-C et système de construction</dt> | |
| <dd>Vous devez disposer d'un compilateur ANSI-C. Le compilateur <a | |
| href="https://gcc.gnu.org/">GNU C (GCC)</a> de la <a | |
| href="https://www.gnu.org/">Free Software Foundation (FSF)</a> | |
| est recommandé. Si vous ne possédez pas GCC, | |
| assurez-vous au moins que votre compilateur soit compatible ANSI. | |
| En outre, votre <code>PATH</code> doit contenir | |
| les outils de construction de base tels que <code>make</code>.</dd> | |
| <dt>Connaissance de l'heure exacte</dt> | |
| <dd>Les entêtes du protocole HTTP utilisent un horodatage ; l’horloge de | |
| votre système doit donc être précise. La plupart des distributions de | |
| Linux activent <code>systemd-timesyncd</code> ou <code>chrony</code> par | |
| défaut. Vérifiez que la synchronisation du temps est active sur votre | |
| système avant d’exploiter un serveur en production.</dd> | |
| <dt><a href="https://www.perl.org/">Perl 5</a> | |
| [OPTIONNEL]</dt> | |
| <dd>L'interpréteur Perl 5 est nécessaire pour l'exécution de certains | |
| scripts comme <program>apxs</program> ou <program>dbmmanage</program> (qui | |
| sont écrits en Perl). Si le script <program>configure</program> ne trouve | |
| pas d'interpréteur Perl 5, vous ne pourrez pas utiliser les scripts qui en | |
| ont besoin. Bien entendu, vous pourrez tout de même construire et | |
| utiliser httpd.</dd> | |
| </dl> | |
| </section> | |
| <section id="download"><title>Téléchargement</title> | |
| <p>Téléchargez l’archive tar du code source depuis le <a | |
| href="https://httpd.apache.org/download.cgi">site de téléchargement du | |
| serveur HTTP Apache</a>.</p> | |
| <p>Après le téléchargement, il est important de vérifier que vous disposez | |
| d'une version complète et non modifiée du serveur HTTP Apache. Vous pouvez | |
| le faire en testant l'archive téléchargée à l'aide de la signature PGP. Vous | |
| trouverez les détails de cette opération sur la <a | |
| href="https://httpd.apache.org/dev/verification.html">page de | |
| vérification</a>.</p> | |
| </section> | |
| <section id="extract"><title>Extraction</title> | |
| <p>Extraire les sources depuis l'archive du serveur HTTP Apache :</p> | |
| <example> | |
| <highlight language="sh"> | |
| $ tar xzf httpd-<em>NN</em>.tar.gz | |
| </highlight> | |
| </example> | |
| <p>Ceci créera, dans le répertoire courant, un nouveau répertoire | |
| contenant le code source de la distribution. Vous devrez vous positionner | |
| dans ce répertoire avant de procéder à la compilation du serveur.</p> | |
| </section> | |
| <section id="configure"><title>Configuration de l'arborescence des sources</title> | |
| <p>L'étape suivante consiste à configurer l'arborescence des sources | |
| de httpd en fonction de votre plateforme et de vos besoins personnels. | |
| Le script <program>configure</program>, situé à la racine du répertoire de | |
| la distribution, a été conçu à cet effet (Les développeurs qui téléchargent | |
| une version non officielle de l'arborescence des sources de httpd | |
| devront disposer de <code>autoconf</code> et <code>libtool</code> et | |
| exécuter <code>buildconf</code> avant de passer à l'étape suivante, ce qui | |
| n'est pas nécessaire pour les versions officielles).</p> | |
| <p>Pour configurer l'arborescence des sources avec les valeurs par défaut | |
| pour toutes les options, saisissez <code>./configure</code>. | |
| Pour modifier les valeurs des options, <program>configure</program> | |
| accepte toute une variété de variables et | |
| d'options de ligne de commande.</p> | |
| <p>L'option la plus importante <code>--prefix</code> est le chemin du | |
| répertoire d'installation de httpd, car httpd doit être | |
| configuré en fonction de ce chemin pour pouvoir fonctionner correctement. | |
| Il est possible de définir plus finement le chemin d'installation des | |
| fichiers à l'aide d'<a | |
| href="programs/configure.html#installationdirectories">options | |
| supplémentaires de configure</a>.</p> | |
| <p>À ce niveau, vous pouvez aussi spécifier de quelles <a | |
| href="programs/configure.html#optionalfeatures">fonctionnalités</a> vous | |
| voulez disposer dans httpd en activant ou désactivant des <a | |
| href="mod/">modules</a>. httpd est fourni avec un grand nombre de | |
| modules inclus par défaut. Ils seront compilés en tant qu'<a | |
| href="dso.html">objets partagés (DSOs)</a> qui pourront être chargés ou | |
| déchargés à l'exécution. Vous pouvez aussi choisir de compiler les modules | |
| statiquement via l'option | |
| <code>--enable-<var>module</var>=static</code>.</p> <p>Des modules | |
| supplémentaires peuvent être activés à l'aide de l'option | |
| <code>--enable-<var>module</var></code>, où <var>module</var> est le nom du | |
| module sans la chaîne <code>mod_</code> et où tout caractère de soulignement | |
| est converti en tiret. D'une manière similaire, vous pouvez désactiver des | |
| modules à l'aide de l'option <code>--disable-<var>module</var></code>. | |
| Faites très attention en utilisant ces options, car | |
| <program>configure</program> n'est pas en mesure de vous avertir si le | |
| module que vous avez spécifié n'existe pas ; il ignorera l'option.</p> | |
| <p>En outre, vous devrez peut-être fournir au script | |
| <program>configure</program> des informations supplémentaires sur | |
| le chemin de votre compilateur, de vos bibliothèques, ou de vos fichiers | |
| d'en-têtes. A cet effet, vous pouvez passer des options de ligne de | |
| commande ou des variables d'environnement au script | |
| <program>configure</program>. Pour plus d'informations, voir la | |
| page de manuel de <program>configure</program>, ou lancez le script | |
| <program>configure</program> avec l'option <code>--help</code>. | |
| </p> | |
| <p>Pour vous faire une idée des possibilités qui s'offrent à vous, voici | |
| un exemple typique de compilation de Apache httpd avec le répertoire | |
| d'installation <code>/sw/pkg/apache</code>, un compilateur et des drapeaux | |
| particuliers et les deux modules additionnels <module>mod_ldap</module> | |
| et <module>mod_lua</module> :</p> | |
| <example> | |
| <highlight language="sh"> | |
| $ CC="pgcc" CFLAGS="-O2" \ | |
| ./configure --prefix=/sw/pkg/apache \ | |
| --enable-ldap=shared \ | |
| --enable-lua=shared | |
| </highlight> | |
| </example> | |
| <p>Plusieurs minutes peuvent être nécessaires à | |
| <program>configure</program> pour tester la disponibilité des | |
| fonctionnalités | |
| au sein de votre système, et construire les Makefiles qui seront utilisés | |
| par la suite pour compiler le serveur.</p> | |
| <p>Vous trouverez une description détaillée des options de | |
| <program>configure</program> dans sa page de manuel.</p> | |
| </section> | |
| <section id="compile"><title>Construction</title> | |
| <p>Vous pouvez maintenant construire les différents éléments qui | |
| composent le paquet Apache httpd en lançant :</p> | |
| <example> | |
| <highlight language="sh">$ make</highlight> | |
| </example> | |
| <p>Vous devez être patient, car il faut plusieurs minutes pour compiler | |
| une configuration de base, et cette durée peut varier considérablement | |
| en fonction de votre matériel et du nombre de modules que vous avez activés.</p> | |
| </section> | |
| <section id="install"><title>Installation</title> | |
| <p>Il est temps maintenant d'installer le paquet dans le répertoire | |
| d'installation défini par <em>PREFIX</em> (voir plus haut l'option | |
| <code>--prefix</code>) en lançant:</p> | |
| <example> | |
| <highlight language="sh">$ make install</highlight> | |
| </example> | |
| <p>Cette étape nécessite habituellement les privilèges | |
| de root, car <em>PREFIX</em> est en général un | |
| répertoire possèdant des droits en écriture | |
| restreints.</p> | |
| <p>Si vous effectuez une mise à jour, l'installation n'écrasera pas | |
| vos fichiers de configuration ou autres documents.</p> | |
| </section> | |
| <section id="customize"><title>Personnalisation</title> | |
| <p>Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en | |
| éditant les <a href="configuring.html">fichiers de configuration</a> | |
| situés dans <code><em>PREFIX</em>/conf/</code>.</p> | |
| <example> | |
| <highlight language="sh">$ vi <em>PREFIX</em>/conf/httpd.conf</highlight> | |
| </example> | |
| <p>Consultez le manuel de httpd situé dans | |
| <code><em>PREFIX</em>/docs/manual/</code> ou | |
| <a href="https://httpd.apache.org/docs/&httpd.docs;/" | |
| >https://httpd.apache.org/docs/&httpd.docs;/</a> pour la version la plus | |
| récente de ce manuel et la liste complète des <a | |
| href="mod/directives.html">directives de configuration</a> disponibles.</p> | |
| </section> | |
| <section id="test"><title>Test</title> | |
| <p>Vous pouvez maintenant <a href="invoking.html">démarrer</a> votre | |
| Serveur HTTP Apache en lançant :</p> | |
| <example> | |
| <highlight language="sh">$ <em>PREFIX</em>/bin/apachectl -k start</highlight> | |
| </example> | |
| <p>Vous devriez alors pouvoir requérir votre premier document | |
| à l'aide de l'URL <code>http://localhost/</code>. La page web que vous | |
| voyez est située dans le répertoire défini par la directive | |
| <directive module="core">DocumentRoot</directive>, | |
| qui est généralement <code><em>PREFIX</em>/htdocs/</code>. | |
| Pour <a href="stopping.html">arrêter</a> le serveur, lancez:</p> | |
| <example> | |
| <highlight language="sh">$ <em>PREFIX</em>/bin/apachectl -k stop</highlight> | |
| </example> | |
| </section> | |
| <section id="upgrading"><title>Mise à jour</title> | |
| <p>La première étape d'une mise à jour consiste à lire l'annonce de la | |
| sortie de la nouvelle version et le fichier <code>CHANGES</code> dans la | |
| distribution des sources afin de déceler toutes les modifications qui | |
| pourraient affecter votre site. Lors d'un changement majeur de version (par | |
| exemple de 2.4 à 2.6), il y aura certainement des différences importantes | |
| quant à la configuration de la compilation et de l'exécution qui | |
| nécessiteront des ajustements manuels. Tous les modules devront aussi être | |
| mis à jour pour qu'ils s'adaptent aux changements de l'API des modules.</p> | |
| <p>La mise à jour d'une version mineure à la suivante (par exemple, de | |
| 2.4.66 à 2.4.67) est plus aisée. Le processus <code>make install</code> | |
| n'écrasera aucun de vos documents existants, fichiers de log, | |
| ou fichiers de configuration. De plus, les développeurs font tout | |
| leur possible pour éviter les changements entraînant une | |
| incompatibilité dans les options de | |
| <program>configure</program>, la configuration de l'exécution, ou l'API | |
| des modules d'une version mineure à l'autre. Dans la plupart des cas, | |
| vous pourrez utiliser une ligne de commande | |
| <program>configure</program> identique, le même fichier de configuration, | |
| et tous vos modules continueront de fonctionner.</p> | |
| <p>Pour effectuer une mise à jour entre deux versions mineures, | |
| commencez par trouver le fichier | |
| <code>config.nice</code> dans le répertoire de <code>construction</code> | |
| de votre serveur installé ou à la racine de l'arborescence des sources | |
| de votre ancienne installation. Il contient la reproduction exacte de la | |
| ligne de commande <program>configure</program> que vous avez utilisée pour | |
| configurer l'arborescence des sources. Ensuite, pour mettre à jour | |
| l'ancienne version vers la nouvelle, | |
| il vous suffit de copier le fichier <code>config.nice</code> dans | |
| l'arborescence des sources de la nouvelle version, de l'éditer pour | |
| effectuer toute modification souhaitée, et de lancer :</p> | |
| <example> | |
| <highlight language="sh"> | |
| $ ./config.nice | |
| $ make | |
| $ make install | |
| $ <em>PREFIX</em>/bin/apachectl -k graceful-stop | |
| $ <em>PREFIX</em>/bin/apachectl -k start | |
| </highlight> | |
| </example> | |
| <note type="warning">Vous devez toujours effectuer un test de la nouvelle | |
| version dans votre environnement avant de la mettre en production. | |
| Par exemple, vous pouvez installer et exécuter la nouvelle version | |
| en parallèle avec l'ancienne en utilisant une option | |
| <code>--prefix</code> et un port différents (en ajustant la directive | |
| <directive module="mpm_common">Listen</directive>) afin de déceler toute | |
| incompatibilité avant d'effectuer la mise à jour définitive.</note> | |
| <p>Vous pouvez ajouter des arguments supplémentaires à | |
| <code>config.nice</code> ; ils seront alors ajoutés aux options de | |
| votre script <program>configure</program> original :</p> | |
| <example> | |
| <highlight language="sh"> | |
| $ ./config.nice --prefix=/home/test/apache --with-port=90 | |
| </highlight> | |
| </example> | |
| </section> | |
| <section id="thirdp"><title>Paquets tiers</title> | |
| <p>De nombreux systèmes d’exploitation fournissent des paquets Apache httpd | |
| préconstruits. Ces paquets permettent de démarrer rapidement, mais ils | |
| diffèrent souvent d’une construction à partir des sources quant à | |
| l’organisation du fichier de configuration, aux modules intégrés et aux | |
| chemins par défaut. La documentation sur ce site décrit la construction du | |
| serveur à partir des sources ; si vous utilisez un paquet de plateforme, | |
| consultez la documentation de votre distribution pour les détails | |
| spécifiques à la plateforme.</p> | |
| <p>Quelques exemples courants :</p> | |
| <dl> | |
| <dt>Fedora / CentOS / Red Hat Enterprise Linux</dt> | |
| <dd> | |
| <highlight language="sh"> | |
| sudo dnf install httpd | |
| sudo systemctl start httpd | |
| </highlight> | |
| <p>Voir <a | |
| href="https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-apache-http-server/index.html">la | |
| documentation du projet Fedora</a> pour l’organisation de la configuration | |
| et des notes spécifiques à la plateforme.</p> | |
| </dd> | |
| <dt>Ubuntu / Debian</dt> | |
| <dd> | |
| <highlight language="sh"> | |
| sudo apt install apache2 | |
| sudo systemctl start apache2 | |
| </highlight> | |
| <p>Voir <a | |
| href="https://ubuntu.com/tutorials/install-and-configure-apache">documentation | |
| d’Ubuntu</a> pour l’organisation de la configuration | |
| et des notes spécifiques à la plateforme.</p> | |
| </dd> | |
| </dl> | |
| <p>Notre licence logicielle non seulement permet, mais aussi encourage ce | |
| genre de distribution tierce. Cependant, cela conduit à une situation ou | |
| l'organisation de la configuration et les valeurs par défaut de votre | |
| installation du serveur peuvent ne pas correspondre à ce qui est écrit dans | |
| la documentation. Une <a | |
| href="https://cwiki.apache.org/confluence/display/httpd/DistrosDefaultLayout">description | |
| de ces distributions tierces</a> est disponible dans le wiki du serveur | |
| HTTP.</p> | |
| <note type="warning">Votre plateforme favorite n’est pas mentionnée ici ? <a | |
| href="https://httpd.apache.org/docs-project/">Voilà une bonne occasion pour | |
| vous d’améliorer cette documentation.</a></note> | |
| </section> | |
| </manualpage> |