From: Lucien Gentis Date: Mon, 29 Jun 2026 16:13:37 +0000 (+0000) Subject: fr doc rebuild. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5b9d79a8afe9497523e56689913d66f0ea79e3f2;p=thirdparty%2Fapache%2Fhttpd.git fr doc rebuild. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1935718 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/howto/cgi.html.fr.utf8 b/docs/manual/howto/cgi.html.fr.utf8 index 8194cc6482..55c34f9ca6 100644 --- a/docs/manual/howto/cgi.html.fr.utf8 +++ b/docs/manual/howto/cgi.html.fr.utf8 @@ -29,8 +29,6 @@  ja  |  ko 

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

Langues Disponibles:  en  | diff --git a/docs/manual/howto/cgi.xml.meta b/docs/manual/howto/cgi.xml.meta index b7cd1c9800..c7cff59430 100644 --- a/docs/manual/howto/cgi.xml.meta +++ b/docs/manual/howto/cgi.xml.meta @@ -9,7 +9,7 @@ en es - fr + fr ja ko diff --git a/docs/manual/howto/ssi.xml.meta b/docs/manual/howto/ssi.xml.meta index 9b8292c558..71d5a50343 100644 --- a/docs/manual/howto/ssi.xml.meta +++ b/docs/manual/howto/ssi.xml.meta @@ -9,7 +9,7 @@ en es - fr + fr ja ko diff --git a/docs/manual/install.html.fr.utf8 b/docs/manual/install.html.fr.utf8 index 8c27a80bf0..070b5fa6da 100644 --- a/docs/manual/install.html.fr.utf8 +++ b/docs/manual/install.html.fr.utf8 @@ -32,22 +32,21 @@  pt-br  |  tr 

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

Ce document couvre l'installation et la compilation du serveur - HTTP Apache - sur les systèmes Unix et similaires seulement. Pour la compilation et - l'installation sous Windows, voir Utiliser le serveur HTTP Apache avec Microsoft - Windows et Compilation - d'Apache sous Microsoft Windows. Pour les autres plateformes, se - référer à la documentation par - plateforme.

+

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 + Utiliser le serveur HTTP Apache avec + Microsoft Windows et Compilation + de httpd sous Microsoft Windows. Pour les autres plateformes, se + référer à la documentation par plateforme.

-

Apache httpd utilise libtool et autoconf - afin de créer un environnement de construction similaire à la plupart - des projets Open Source .

+

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 paquets + tiers ci-après et consultez la documentation de votre distribution pour + les détails spécifiques à la plateforme.

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 @@ -66,52 +65,11 @@

  • Mise à jour
  • Paquets tiers
  • Voir aussi

    + des sources
  • Démarrer httpd
  • Arrêt et redémarrage
  • top

    Aperçu pour les plus pressés

    -
    -
    Installation sous Fedora/CentOS/Red Hat Enterprise Linux
    -
    -
    sudo dnf install httpd
    -
    -# Démarrage du service
    -sudo systemctl start httpd
    -
    -# Arrêt du service
    -sudo systemctl stop httpd
    -
    -# Redémarrage du service
    -sudo systemctl restart httpd
    - - -
    Voir la documentation - du projet Fedora pour des informations spécifiques à cette plateforme.
    -
    - -
    Installation sous Ubuntu/Debian
    -
    -
    sudo apt install apache2
    -
    -# Démarrage du service
    -sudo systemctl start apache2
    -
    -# Arrêt du service
    -sudo systemctl stop apache2
    -
    -# Redémarrage du service
    -sudo systemctl restart apache2
    - - -
    Voir la documentation - d’Ubuntu pour des informations spécifiques à cette plateforme.
    - -
    - -
    Installation à partir des sources
    -
    - @@ -171,20 +129,12 @@ $ cd httpd-NN

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

    - - - -
    L'installation sous votre plateforme favorite n'est pas - traitée ici ? N'hésitez pas à nous aider à compléter cette - documentation en nous faisant profiter de votre expérience.
    - - + pour compiler et installer httpd.

    top

    Prérequis

    -

    Les prérequis pour la construction et l’exécution d'Apache httpd sont les +

    Les prérequis pour la construction et l’exécution de httpd sont les suivants:

    @@ -204,17 +154,16 @@ $ cd httpd-NN installées d'APR et APR-Util.
    Bibliothèque d'expressions rationnelles compatibles Perl - (PCRE)
    -
    Cette bibliothèque est nécessaire mais n'est plus fournie avec la - distribution de httpd. Téléchargez le code source depuis https://www.pcre.org ou installez - un portage du paquet. Si votre suite de compilation ne trouve pas - le script pcre-config installé au cours du processus de - construction de PCRE, indiquez son chemin via l'option - --with-pcre du script ./configure. Sur - certaines plateformes, vous devrez - peut-être installer les paquets -dev correspondants - pour permettre la compilation de httpd avec la version - installée de PCRE.
    + (PCRE2) +
    Cette bibliothèque est nécessaire mais n'est pas fournie avec la + distribution de httpd. Téléchargez le code source depuis https://github.com/PCRE2Project/pcre2 + ou installez le avec le gestionnaire de paquets de votre système. Si votre + système de construction ne trouve pas le script pcre2-config + installé par la construction de PCRE2, pointez vers lui en utilisant + l’option --with-pcre. Sur certaines plateformes, vous devrez + peut-être installer le paquet -dev correspondant (par exemple + libpcre2-dev ou pcre2-devel) pour permettre la + construction de httpd avec votre version installée de PCRE2.
    Espace disque
    Assurez-vous d'avoir au moins 200 Mo d'espace disque disponible @@ -233,13 +182,11 @@ $ cd httpd-NN les outils de construction de base tels que make.
    Connaissance de l'heure exacte
    -
    Les éléments du protocole HTTP font référence à l'heure du jour. Par - conséquent, il est nécessaire d'équiper votre système d'un dispositif de - synchronisation du temps. À cet effet, la plupart des distributions - modernes de Linux fournissent systemd-timesyncd ou - chrony. Voir la page d'accueil - de NTP pour plus de détails à propos du logiciel NTP et des serveurs - de temps publics.
    +
    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 systemd-timesyncd ou chrony par + défaut. Vérifiez que la synchronisation du temps est active sur votre + système avant d’exploiter un serveur en production.
    Perl 5 [OPTIONNEL]
    @@ -248,17 +195,15 @@ $ cd httpd-NN sont écrits en Perl). Si le script configure 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 Apache httpd. + utiliser httpd.
    top

    Téléchargement

    -

    Si vous voulez construire httpd depuis le code source, commencez par - télécharger l’archive tar du code source depuis le site de téléchargement du - serveur HTTP Apache. Le processus de construction (décrit ci-après) - permet de personnaliser le serveur pour qu’il corresponde à vos besoins.

    +

    Téléchargez l’archive tar du code source depuis le site de téléchargement du + serveur HTTP Apache.

    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 @@ -283,15 +228,13 @@ $ cd httpd-NN

    Configuration de l'arborescence des sources

    L'étape suivante consiste à configurer l'arborescence des sources - d'Apache en fonction de votre plateforme et de vos besoins personnels. - Le script configure, 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 d'Apache - devront disposer de - autoconf et libtool et - exécuter buildconf avant de passer à l'étape suivante, - ce qui n'est pas nécessaire pour les versions officielles).

    + de httpd en fonction de votre plateforme et de vos besoins personnels. + Le script configure, 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 autoconf et libtool et + exécuter buildconf avant de passer à l'étape suivante, ce qui + n'est pas nécessaire pour les versions officielles).

    Pour configurer l'arborescence des sources avec les valeurs par défaut pour toutes les options, saisissez ./configure. @@ -299,29 +242,27 @@ $ cd httpd-NN accepte toute une variété de variables et d'options de ligne de commande.

    -

    L'option la plus importante --prefix est le chemin - du répertoire d'installation d'Apache, car Apache 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'options +

    L'option la plus importante --prefix 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'options supplémentaires de configure.

    À ce niveau, vous pouvez aussi spécifier de quelles fonctionnalités vous - voulez disposer dans Apache en activant ou désactivant des modules. Apache est fourni avec un grand nombre de - modules inclus par défaut. Ils seront compilés en tant qu'objets partagés (DSOs) qui pourront être chargés - ou déchargés à l'exécution. Vous pouvez aussi choisir de compiler - les modules statiquement via l'option - --enable-module=static.

    -

    Des modules supplémentaires peuvent être activés à l'aide de l'option - --enable-module, où - module est le nom du module sans la chaîne - mod_ 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 - --disable-module. Faites très attention - en utilisant ces options, car configure n'est pas en - mesure de vous avertir si le module que vous avez spécifié n'existe pas ; - il ignorera l'option.

    + voulez disposer dans httpd en activant ou désactivant des modules. httpd est fourni avec un grand nombre de + modules inclus par défaut. Ils seront compilés en tant qu'objets partagés (DSOs) qui pourront être chargés ou + déchargés à l'exécution. Vous pouvez aussi choisir de compiler les modules + statiquement via l'option + --enable-module=static.

    Des modules + supplémentaires peuvent être activés à l'aide de l'option + --enable-module, où module est le nom du + module sans la chaîne mod_ 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 --disable-module. + Faites très attention en utilisant ces options, car + configure n'est pas en mesure de vous avertir si le + module que vous avez spécifié n'existe pas ; il ignorera l'option.

    En outre, vous devrez peut-être fournir au script configure des informations supplémentaires sur @@ -334,7 +275,7 @@ $ cd httpd-NN

    Pour vous faire une idée des possibilités qui s'offrent à vous, voici - un exemple typique de compilation d'Apache avec le répertoire + un exemple typique de compilation de Apache httpd avec le répertoire d'installation /sw/pkg/apache, un compilateur et des drapeaux particuliers et les deux modules additionnels mod_ldap et mod_lua :

    @@ -358,9 +299,10 @@ $ cd httpd-NN

    Construction

    Vous pouvez maintenant construire les différents éléments qui - composent le paquet Apache en lançant :

    + composent le paquet Apache httpd en lançant :

    -

    $ make

    +
    $ make
    +

    Vous devez être patient, car il faut plusieurs minutes pour compiler une configuration de base, et cette durée peut varier considérablement @@ -373,7 +315,8 @@ $ cd httpd-NN d'installation défini par PREFIX (voir plus haut l'option --prefix) en lançant:

    -

    $ make install

    +
    $ make install
    +

    Cette étape nécessite habituellement les privilèges de root, car PREFIX est en général un @@ -390,9 +333,10 @@ $ cd httpd-NN éditant les fichiers de configuration situés dans PREFIX/conf/.

    -

    $ vi PREFIX/conf/httpd.conf

    +
    $ vi PREFIX/conf/httpd.conf
    +
    -

    Consultez le manuel d'Apache situé dans +

    Consultez le manuel de httpd situé dans PREFIX/docs/manual/ ou https://httpd.apache.org/docs/2.4/ pour la version la plus récente de ce manuel et la liste complète des directives de configuration disponibles.

    @@ -401,9 +345,10 @@ $ cd httpd-NN

    Test

    Vous pouvez maintenant démarrer votre - serveur HTTP Apache en lançant:

    + Serveur HTTP Apache en lançant :

    -

    $ PREFIX/bin/apachectl -k start

    +
    $ PREFIX/bin/apachectl -k start
    +

    Vous devriez alors pouvoir requérir votre premier document à l'aide de l'URL http://localhost/. La page web que vous @@ -412,7 +357,8 @@ $ cd httpd-NN qui est généralement PREFIX/htdocs/. Pour arrêter le serveur, lancez:

    -

    $ PREFIX/bin/apachectl -k stop

    +
    $ PREFIX/bin/apachectl -k stop
    +
    top

    Mise à jour

    @@ -469,30 +415,56 @@ $ PREFIX/bin/apachectl -k start config.nice ; ils seront alors ajoutés aux options de votre script configure original :

    -

    - $ ./config.nice --prefix=/home/test/apache --with-port=90 -

    +
    $ ./config.nice --prefix=/home/test/apache --with-port=90
    +
    top

    Paquets tiers

    -

    De nombreux tiers fournissent leur propre distribution du serveur HTTP - Apache à installer sur une plate-forme particulière. On peut citer les - différentes distributions Linux, divers paquets Windows, - macOS, et de nombreux autres.

    - -

    Notre license logicielle non seulement permet, mais aussi - encourage ce genre de redistribution. Cependant, ceci 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. Bien que fâcheuse, cette - situation n'est pas appelée à évoluer de sitôt.

    - -

    Une description - de ces distributions tierces est dans le wiki du serveur HTTP. Vous - devrez cependant vous familiariser par vous-même avec la gestion du paquet - de votre plate-forme particulière et les procédures d'installation.

    +

    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.

    + +

    Quelques exemples courants :

    + +
    +
    Fedora / CentOS / Red Hat Enterprise Linux
    +
    +
    sudo dnf install httpd
    +sudo systemctl start httpd
    + +

    Voir la + documentation du projet Fedora pour l’organisation de la configuration + et des notes spécifiques à la plateforme.

    +
    + +
    Ubuntu / Debian
    +
    +
    sudo apt install apache2
    +sudo systemctl start apache2
    + +

    Voir documentation + d’Ubuntu pour l’organisation de la configuration + et des notes spécifiques à la plateforme.

    +
    +
    + +

    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 description + de ces distributions tierces est disponible dans le wiki du serveur + HTTP.

    + +
    Votre plateforme favorite n’est pas mentionnée ici ? Voilà une bonne occasion pour + vous d’améliorer cette documentation.
    diff --git a/docs/manual/install.xml.meta b/docs/manual/install.xml.meta index 98b62cf1a1..210aeb4ac5 100644 --- a/docs/manual/install.xml.meta +++ b/docs/manual/install.xml.meta @@ -10,7 +10,7 @@ de en es - fr + fr ja ko pt-br diff --git a/docs/manual/logs.html.fr.utf8 b/docs/manual/logs.html.fr.utf8 index 043569622a..f0bafe656d 100644 --- a/docs/manual/logs.html.fr.utf8 +++ b/docs/manual/logs.html.fr.utf8 @@ -210,7 +210,8 @@ suivante consiste à analyser ces informations de façon à pouvoir en extraire des statistiques utiles. L'analyse de journaux en général est en dehors du sujet de ce document et ne fait pas vraiment partie intégrante - du travail du serveur web lui-même.

    + du travail du serveur web lui-même. +

    Différentes versions du démon Apache httpd utilisaient d'autres modules et directives pour contrôler la journalisation des accès, à l'instar de @@ -233,7 +234,7 @@

    Voici une configuration typique pour le journal des accès :

    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    -CustomLog logs/access_log common
    +CustomLog "logs/access_log" common

    Ici est définie l'identité common qui est @@ -357,13 +358,14 @@ CustomLog logs/access_log common

    200 (%>s)
    -
    C'est le code de statut que le serveur retourne au client. Cette +
    C'est le code de statut que le serveur retourne au client. Cette information est très importante car elle indique si la requête a fait - l'objet d'une réponse positive (codes commençant par 2), une redirection - (codes commençant par 3), une erreur due au client (codes commençant par - 4), ou une erreur due au serveur (codes commençant par 5). Vous - trouverez la liste complète des codes de statut possibles dans la - spécification HTTP (RFC 2616) (RFC2616 section 10).
    + l'objet d'une réponse positive (codes commençant par 2), une + redirection (codes commençant par 3), une erreur due au client (codes + commençant par 4), ou une erreur due au serveur (codes commençant + par 5). Vous trouverez la liste complète des codes de statut possibles + dans la spécification + HTTP (RFC 2616) (RFC2616 section 10).
    2326 (%b)
    @@ -383,7 +385,7 @@ CustomLog logs/access_log common comme suit :

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
    -CustomLog log/access_log combined
    +CustomLog "log/access_log" combined

    Ce format est identique au Common Log Format, avec deux champs @@ -434,9 +436,9 @@ CustomLog log/access_log combined AgentLog.

    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    -CustomLog logs/access_log common
    -CustomLog logs/referer_log "%{Referer}i -> %U"
    -CustomLog logs/agent_log "%{User-agent}i"
    +CustomLog "logs/access_log" common +CustomLog "logs/referer_log" "%{Referer}i -> %U" +CustomLog "logs/agent_log" "%{User-agent}i"

    Cet exemple montre aussi qu'il n'est pas obligatoire d'associer @@ -467,7 +469,7 @@ SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog # Marque les requêtes pour le fichier robots.txt SetEnvIf Request_URI "^/robots\.txt$" dontlog # Journalise toutes les autres requêtes -CustomLog logs/access_log common env=!dontlog +CustomLog "logs/access_log" common env=!dontlog

    Autre exemple, imaginons l'enregistrement des requêtes en provenance @@ -475,8 +477,8 @@ CustomLog logs/access_log common env=!dontlog utilisateurs dans un autre journal.

            SetEnvIf Accept-Language "en" english
    -        CustomLog logs/english_log common env=english
    -        CustomLog logs/non_english_log common env=!english
    + CustomLog "logs/english_log" common env=english + CustomLog "logs/non_english_log" common env=!english

    Dans le contexte d'une mise en cache, il peut être @@ -485,7 +487,7 @@ CustomLog logs/access_log common env=!dontlog

    SetEnv CACHE_MISS 1
     LogFormat "%h %l %u %t "%r " %>s %b %{CACHE_MISS}e" common-cache
    -CustomLog logs/access_log common-cache
    +CustomLog "logs/access_log" common-cache

    mod_cache va s'exécuter avant @@ -523,106 +525,105 @@ LogFormat "%!200,304,302{Referer}i" refererlog

    Rotation des journaux

    -

    Même dans le cas d'un serveur modérément sollicité, la quantité - d'informations stockées dans les fichiers journaux est très importante. - Le fichier journal des accès grossit en général d'1 Mo ou plus toutes - les 10000 requêtes. Il est par conséquent nécessaire d'effectuer - périodiquement la rotation des journaux en déplaçant ou supprimant les - fichiers correspondants. On ne peut pas le faire pendant que le serveur - est en cours d'exécution, car Apache httpd va continuer à écrire dans l'ancien - fichier journal aussi longtemps qu'il le maintiendra ouvert. - C'est pourquoi le serveur doit être - redémarré après le déplacement ou la - suppression des fichiers journaux de façon à ce qu'il en ouvre - de nouveaux.

    - -

    Avec un redémarrage graceful, on peut faire en sorte que le - serveur ouvre de nouveaux fichiers journaux sans perdre de connexions - existantes ou en cours avec les clients. Cependant, pour que ceci soit - possible, le serveur doit continuer à écrire dans les anciens fichiers - journaux pendant qu'il termine le traitement des requêtes en cours. - Il est donc nécessaire d'attendre un certain temps après le rédémarrage - avant d'effectuer tout traitement sur les fichiers journaux. Voici un - scénario typique dans lequel on effectue une simple rotation des - journaux en compressant les anciens fichiers correspondants afin - de gagner de l'espace disque :

    +

    Même sur un serveur modérément sollicité, les fichiers journaux + grossissent rapidement — le journal des accès croît à peu près de 1 Mo ou + plus toutes les 10000 requêtes. Sans rotation, les journaux consomment de + plus en plus d’espace disque et deviennent difficiles à analyser. Il est + donc recommandé de configurer une rotation automatique des journaux dès le + départ.

    -

    - mv access_log access_log.old
    - mv error_log error_log.old
    - apachectl graceful
    - sleep 600
    - gzip access_log.old error_log.old -

    +

    Utilisation de rotatelogs (recommandé)

    + + +

    L’approche la plus simple consiste à utiliser le programme + rotatelogs intégré à httpd en utilisant la redirection des journaux. Ce programme permet une + rotation des journaux sans avoir à redémarrer le serveur et sans outil + externe. Pour une rotation des journaux toutes les 24 heures :

    + +
    CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/httpd/access_log 86400" combined
    +ErrorLog  "|/usr/local/apache/bin/rotatelogs /var/log/httpd/error_log 86400"
    +
    + +

    Pour une rotation lorsque la taille du journal atteint une certaine + valeur (par exemple 100 Mo) :

    + +
    CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/httpd/access_log 100M" combined
    +
    + +

    Vous pouvez aussi utiliser un motif de nom de fichier avec horodatage + sous forme d’une chaîne au format strftime :

    + +
    CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/httpd/access_log.%Y-%m-%d 86400" combined
    +
    + +

    Voir rotatelogs pour une description complète de ses + options, en particulier les temps de décalage, les limitations de nombre de + fichiers et la compression.

    + + +

    Utilisation de logrotate ou de la gestion des journaux par le + système

    + -

    La section suivante présente une autre méthode de rotation des journaux - qui consiste à utiliser les - journaux redirigés.

    +

    La plupart des distributions de Linux fournissent le programme + logrotate qui effectue une rotation, une compression et une + expiration des fichiers journaux selon une planification. Si votre + distribution comporte déjà une configuration de logrotate pour httpd + (examinez /etc/logrotate.d/), elle gère peut-être déjà la + rotation pour vous.

    + +

    Lorsqu’on utilise un outil de rotation externe comme + logrotate, il faut faire en sorte que httpd réouvre ses + fichiers journaux quand les anciens ont été mis de côté. Pour ce faire, + l’approche standard est un redémarrage graceful :

    + +
    /usr/sbin/apachectl graceful
    +
    + +

    Votre script postrotate dans la configuration de logrotate + doit contenir cette dernière commande (ou la commande équivalente + systemctl reload). Comme httpd continue d’écrire dans + l’ancien fichier jusqu’à ce qu’il reçoive le signal, tout post-traitement + des fichiers ayant subi une rotation doit prévoir un bref délai.

    + +
    top

    Journaux redirigés

    -

    Nous avons vu que le démon httpd écrivait les informations de - journalisation des erreurs et des accès dans un fichier journal ; - il peut aussi - rediriger ces informations vers un autre processus par l'intermédiaire d'un - tube de communication (pipe). Cette fonctionnalité améliore - considérablement la souplesse de la journalisation, sans ajouter de code - au serveur principal. Pour rediriger les informations de journalisation - vers un tube de communication, remplacez simplement le nom de fichier - journal par - le caractère pipe "|", suivi du nom de l'exécutable qui va - recueillir les entrées de journal sur son entrée - standard. Le serveur va - lancer le processus de redirection des journaux au moment du démarrage du - serveur, et le relancera s'il cesse de fonctionner - pendant l'exécution du serveur. - (Nous dénommons cette technique "journalisation - redirigée fiable" grâce à cette dernière fonctionnalité.)

    - -

    Les processus de journalisation redirigée sont lancés par le processus - httpd parent, et héritent de l'UID de ce dernier. Cela signifie que les - programmes de journalisation dirigée s'exécutent généralement en tant que - root. Il est donc très important que ces programmes soient simples et - sécurisés.

    - -

    Un des grands avantages de la journalisation redirigée est la possibilité - d'effectuer la rotation des journaux sans avoir à redémarrer le serveur. Pour - accomplir cette tâche, le serveur HTTP Apache fournit un programme simple - appelé rotatelogs. Par exemple, pour une rotation des - journaux toutes les 24 heures, ajoutez ces lignes :

    - -
    CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
    - - -

    Notez que l'ensemble de la commande qui sera appelée par le tube de - communication a été placée entre guillemets. Bien que cet exemple - concerne le journal des accès, la même technique peut être utilisée - pour le journal des erreurs.

    - -

    Comme la journalisation conditionnelle, la journalisation redirigée est - un outil très puissant, mais si elle existe, il est préférable d'utiliser - une solution plus simple comme le traitement à posteriori hors ligne.

    - - -

    Par défaut, le processus de redirection du journal est lancé sans - invoquer un shell. Pour invoquer un shell, utilisez "|$" - au lieu de "|" (en général avec /bin/sh -c) - :

    - -
    # Invocation de "rotatelogs" en utilisant un shell
    -CustomLog "|$/usr/local/apache/bin/rotatelogs   /var/log/access_log 86400" common
    - - - -

    Il s'agissait du comportement par défaut sous Apache 2.2. Selon - les spécificités du shell, ceci peut générer un processus shell - supplémentaire pour toute la durée du programme de redirection du - journal, et induire des problèmes de gestion de signaux au cours du - redémarrage. La notation "||" est aussi supportée pour - des raisons de compatibilité avec Apache 2.2 et est équivalente à - "|".

    +

    httpd peut écrire dans les fichiers journaux des erreurs et des accès à + travers un tube (pipe) vers un autre processus, plutôt que d’écrire + directement dans un fichier. Pour mettre en œuvre cette redirection, + remplacez le nom du fichier par le caractère pipe "|", suivi de + la commande qui recevra les entrées du journal sur son entrée standard :

    + +
    CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/httpd/access_log 86400" combined
    +
    + +

    httpd démarre le processus de redirection des journaux au démarrage du + serveur et le redémarre automatiquement s’il se plante (ce comportement est + parfois nommé « journalisation redirigée fiable »). L’ensemble de la + commande à partir du caractère pipe doit être entourée de guillemets — cette + syntaxe fonctionne pour les deux directives CustomLog et ErrorLog.

    + +

    Les processus de redirection des journaux sont lancés par le processus + httpd parent et héritent de son identifiant utilisateur. Cela signifie en + général qu’ils s’exécutent en tant que root ; faites donc en sorte que les + programmes de redirection des journaux restent simples et sécurisés.

    + +

    Par défaut, le processus de redirection des journaux est lancé + directement, sans passer par un shell. Vous pouvez utiliser + "|$" à la place de "|" pour effectuer ce lancement + via un shell (en général /bin/sh -c) :

    + +
    CustomLog "|$/usr/local/apache/bin/rotatelogs /var/log/httpd/access_log 86400" combined
    +
    + +

    La variante avec shell est parfois requise si votre commande redirigée + utilise des fonctionnalités du shell comme les caractères génériques ou le + développement de variable. Dans la plupart des cas, il est préférable + d’utiliser l’invocation directe (sans passer par un shell).

    Note à propos de la plateforme Windows

    Notez que sous Windows, la mémoire allouée au bureau (desktop @@ -671,7 +672,7 @@ CustomLog "|$/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" commo individuels. Considérons par exemple les directives suivantes :

    LogFormat "%v %p %h %l %u %t \"%r\" %>s %b" commonvhost
    -CustomLog logs/access_log commonvhost
    +CustomLog "logs/access_log" commonvhost

    Le champ %v sert à enregistrer le nom de l'hôte virtuel qui @@ -682,7 +683,7 @@ CustomLog logs/access_log commonvhost

    Autres fichiers journaux

    -
    +

    Enregistrement du nombre réel d'octets envoyés et reçus

    @@ -727,6 +728,15 @@ CustomLog logs/access_log commonvhost serveur en production. Vous trouverez plus d'informations dans la documentation du module mod_cgi.

    + +

    Journalisation de débogage configurable

    + + +

    La directive LogMessage + vous permet de créer vos propres messages de journalisation + personnalisés pour faciliter vos opérations de débogage. +

    +
    diff --git a/docs/manual/logs.xml.ja b/docs/manual/logs.xml.ja index 5b7d0530fc..58cc8b2f78 100644 --- a/docs/manual/logs.xml.ja +++ b/docs/manual/logs.xml.ja @@ -1,7 +1,7 @@ - + + + + diff --git a/docs/manual/rewrite/intro.html.fr.utf8 b/docs/manual/rewrite/intro.html.fr.utf8 index 33bc7c65d6..f40adff4c6 100644 --- a/docs/manual/rewrite/intro.html.fr.utf8 +++ b/docs/manual/rewrite/intro.html.fr.utf8 @@ -26,8 +26,6 @@

    Langues Disponibles:  en  |  fr 

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

    Ce document est un complément à la documentation de référence du module mod_rewrite. Il décrit les concepts de base dont la @@ -44,9 +42,10 @@ pieds.

  • Conditions de réécriture
  • Tables de réécriture
  • Fichiers .htaccess
  • +
  • Considérations en matière de sécurité
  • Voir aussi

    +module mod_rewrite
  • Redirection et remise en +correspondance
  • Réécritures par répertoire
  • Drapeaux de RewriteRule
  • Serveurs virtuels
  • Utilisation de RewriteMap
  • Quand ne pas utiliser mod_rewrite
  • Détails techniques
  • top

    Introduction

    @@ -76,14 +75,23 @@ le débogage des problèmes avec la configuration de mod_rewrite est à ce prix car vous verrez alors exactement comment chaque règle est traitée.

    +

    + Organigramme simplifié du fonctionnement de mod_rewrite : arrivée de la requête, vérification RewriteEngine On, traitement des règles dans l’ordre, test de correspondance du motif et des RewriteCond, application des substitutions si ces deux tests sont positifs, arrêt du traitement des règles si un drapeau L ou END est défini, sinon traitement de la règle suivante
    + Figure : Présentation simplifiée de la manière dont +mod_rewrite traite une requête. Voir Détails techniques pour une description complète du +traitement avec les phases, les drapeaux et le bouclage. +

    +
    top

    Expressions rationnelles

    -

    mod_rewrite utilise le vocabulaire des Expressions rationnelles compatibles Perl. +

    mod_rewrite utilise le vocabulaire des Expressions +rationnelles compatibles avec Perl à l’aide de la bibliothèque PCRE2. Ce document n'a pas pour prétention d'être une référence détaillée des -expressions rationnelles. A cet effet, nous recommandons les pages de manuel de PCRE, la page de manuel des -expressions rationnelles Perl, et l'ouvrage Mastering +expressions rationnelles. A cet effet, nous recommandons la documentation de +PCRE2, la page de manuel des +expressions rationnelles de Perl, et l'ouvrage Mastering Regular Expressions, par Jeffrey Friedl (la troisième édition date de 2006, mais la syntaxe des expressions rationnelles n'a pas vraiment changé, et cet ouvrage reste la référence en la matière).

    @@ -151,18 +159,27 @@ correspond à tout caractère ne faisant pas partie de la classec=t
    mais pas à c/t -

    Avec mod_rewrite, le caractère ! peut +

    Le caractère ! (Not) peut préfixer une expression rationnelle afin d'en exprimer la négation. Autrement dit, une chaîne ne correspondra que si elle ne correspond pas à l'expression située après le !.

    +

    Notez que lorsqu’on utilise ! pour inverser un motif, les références arrières (par exemple $1, +$2) ne sont pas disponibles, car le motif ne correspond plus.

    + +

    La règle suivante, par exemple, redirige toute requête qui ne commence +pas par /admin

    + +
    RewriteRule "!^/admin" "/xyz.html" [R,L]
    + +

    Disponibilité des références arrières dans les expressions rationnelles

    Vous devez vous souvenir d'une chose importante : chaque fois - que vous utilisez des parenthèses dans un Modèle ou dans + que vous utilisez des parenthèses dans un Motif ou dans un des modèles de conditions, des références arrières sont créées en interne et peuvent être rappelées via les chaînes $N et %N (voir ci-dessous). Ces @@ -184,13 +201,18 @@ arrières dans les expressions rationnelles elles vous paraissent un peu exotiques au premier abord.

    - Flux des comparaisons effectuées par les règles RewriteRule       et RewriteCond
    + Diagramme montrant la manière dont les références arrières circulent entre les RewriteRule et les RewriteCond : $1-$9 capturent des groupes issus des motifs RewriteRule, %1-%9 capturent des groupes issus des motifs des chaînes à tester (ou TestStrings) de RewriteCond, les deux étant disponibles dans les chaînes de substitution et dans les chaînes à tester de RewriteCond subséquentes
    Figure 1 : Le cheminement d'une référence arrière à travers une règle.
    - Dans cet exemple, une requête pour /test/1234 serait + Dans cet exemple, une requête pour /test/1234 vers l’hôte admin.example.com serait transformée en - /admin.foo?page=test&id=1234&host=admin.example.com. + /admin.foo?page=test&id=1234&host=admin.example.com, + sous réserve que %{DOCUMENT_ROOT}/test ne soit pas un fichier + existant.

    +

    Voir aussi Détails techniques + pour un diagramme montrant le cheminement des références arrières avec des + conditions multiples.

    top
    @@ -199,27 +221,42 @@ arrières dans les expressions rationnelles

    Une règle de réécriture RewriteRule est constituée de trois arguments séparés par des espaces. Les arguments sont :

      -
    1. Modèle: le modèle des URLs auxquelles la règle doit +
    2. Motif: le motif des URLs auxquelles la règle doit s'appliquer;
    3. Substitution: vers quoi la requête correspondante doit être transformée;
    4. [drapeaux]: options affectant la requête réécrite.
    -

    Le Modèle est une expression -rationnelle. Au sein de la première règle de réécriture, ou jusqu'à -ce qu'une substitution survienne, elle est comparée au chemin de -l'URL de la requête entrante (la -partie située après le nom d'hôte mais avant tout point d'interrogation -qui indique le début d'une chaîne de paramètres de -requête) ou, dans un contexte de répertoire, au chemin de la -requête relativement au répertoire pour lequel la -règle est définie. Lorsqu'une substitution a eu lieu, les -règles suivantes effectuent leurs comparaisons par rapport à la valeur -substituée.

    +

    Le Motif est une expression +rationnelle. Dans un contexte de serveur virtuel ou de serveur global, il +est comparé au chemin d’URL %-décodé +de la requête entrante — la partie après le nom d’hôte et le port, en +excluant la chaîne de paramètres (par exemple /app/index.html). +Dans un contexte de répertoire, le motif +est comparé au chemin de la requête relatif au répertoire pour lequel la règle +est définie (avec le préfixe de répertoire supprimé — voir Réécritures par répertoire pour les +détails). +

    + +

    Lorsqu’une substitution a été effectuée, toute règle qui suit est comparée à +la valeur substituée.

    + +

    Le Motif n’est comparé qu’au chemin d’URL — à l’exclusion +des nom d’hôte, port ou chaîne de paramètres. Pour une comparaison incluant ces +derniers, utilisez une condition RewriteCond avec les variables +%{HTTP_HOST}, %{SERVER_PORT} ou +%{QUERY_STRING}, respectivement.

    + +
    mod_rewrite opère exclusivement sur le chemin d’URL et les +en-têtes HTTP. Il ne peut pas inspecter le corps de la requête (par exemple, les +données POST). Si vous devez prendre des décisions de routage en fonction du +contenu du corps de la requête, traitez le problème à l’aide de la logique de +votre application ou utilisez un module tel que mod_request +associé à un filtre personnalisé.

    - Syntaxe de la directive RewriteRule
    + Diagramme annoté pour la syntaxe de la directive RewriteRule montrant trois composants : le motif (une expression rationnelle mise en correspondance avec le chemin d’URL, la substitution (l’URL ou le chemin de remplacement) et des drapeaux facultatifs entourés de crochets
    Figure 2 : Syntaxe de la directive RewriteRule.

    @@ -263,12 +300,12 @@ le cas avec 2 (par exemple, il n'y a pas de répertoire

    La chaîne de Substitution peut aussi contenir des références arrières vers des parties du chemin d'URL entrant -correspondant au Modèle. Considérons ce qui suit :

    +correspondant au Motif. Considérons ce qui suit :

    RewriteRule "^/produits/(.*)/view$" "/var/web/produitsdb/$1"

    La variable $1 sera remplacée par tout texte correspondant à l'expression située entre les parenthèses dans le -Modèle. Par exemple, une requête pour +Motif. Par exemple, une requête pour http://example.com/produits/r14df/vue correspondra au chemin /var/web/produitsdb/r14df.

    @@ -304,7 +341,7 @@ est une liste de drapeaux qui modifient la manière dont la correspondance est évaluée.

    - Syntaxe de la directive RewriteCond
    + Diagramme annoté pour la syntaxe de la directive RewriteCond montrant deux composants : la chaîne à tester ou TestString (une variable ou du texte à tester) et le motif de condition ou CondPattern (expression rationnelle ou comparaison à évaluer) avec des drapeaux facultatifs entourés de crochets
    Figure 3 : Syntaxe de la directive RewriteCond

    @@ -357,20 +394,87 @@ supplémentaire sur RewriteMap.

    Fichiers .htaccess

    -

    La réécriture est en général définie au niveau de la configuration du -serveur principal (en dehors de toute section <Directory>) ou dans une section <VirtualHost>. Il s'agit là de la -manière la plus simple de mettre en oeuvre la réécriture et nous la -recommandons. Il est possible, cependant, de mettre en oeuvre la -réécriture au sein d'une section <Directory> ou d'un fichier .htaccess ; ce type de -configuration est cependant plus complexe. Cette technique est appelée -réécriture par répertoire.

    - -

    La principale différence avec les réécritures au niveau du serveur réside -dans le fait que le préfixe du chemin du répertoire contenant le fichier -.htaccess est supprimé avant la mise en correspondance dans -la règle RewriteRule. De -plus, on doit utiliser la directive RewriteBase pour s'assurer que la -requête est correctement mise en correspondance.

    +

    Il est possible d’utiliser des règles de réécriture dans un contexte de répertoire (fichiers .htaccess et sections <Directory>), mais dans ce cas, les +règles se comportent différemment — en particulier, le préfixe du répertoire est +supprimé de l’URL avant la recherche de correspondance. Voir le document Réécritures dans un contexte de +répertoire pour une explication détaillée. Notez que les sections <If> et <Location> adoptent aussi le comportement du contexte +de répertoire — voir Quels +contextes prennent en charge les règles de réécriture ?.

    + +
    top
    +
    +

    Considérations en matière de sécurité

    + +

    mod_rewrite est un outil de manipulation d’URL puissant, +mais qui dit puissance dit risque d’erreurs liées à la sécurité. Cette section +met en lumière les pièges en matière de sécurité courants à éviter lors de +la rédaction de règles de réécritures.

    + +

    Redirections ouvertes

    + +

    Si une règle RewriteRule +construit un URL de redirection en utilisant une entrée utilisateur non validée, +un attaquant pourra fabriquer un lien qui redirige les visiteurs vers un site +malveillant semblant provenir de votre domaine. Cette vulnérabilité est connue +sous le nom de redirection ouverte.

    + +

    Par exemple, cette règle est dangereuse :

    + +
    # DANGEREUX - permet une redirection ouverte
    +RewriteRule "^/redirect" "%{QUERY_STRING}" [R,L]
    + + +

    Un attaquant pourrait en effet utiliser +https://yoursite.com/redirect?https://evil.com pour rediriger les +utilisateurs vers un site malveillant. Assurez vous de toujours valider ou +contraindre les cibles de redirection. Si la destination doit être sur votre +propre site, assurez vous que la substitution commence par / (un +chemin relatif) plutôt que de permettre à l’utilisateur d’entrer un URL complet.

    + + + +

    Server-Side Request Forgery (SSRF)

    + +

    Lorsqu’on utilise la drapeau [P] (proxy), +mod_rewrite fait que le serveur +effectue une requête HTTP vers l’URL de substitution de la part du client. Si +une partie de cet URL est dérivée de l’entrée du client — références arrières, +chaînes de paramètres ou en-têtes — un attaquant pourrait faire que votre +serveur effectue des requêtes vers des services internes arbitraires ou des +hôtes externes.

    + +

    Par exemple :

    + +
    # DANGEREUX - l’utilisateur contrôle la cible du mandataire
    +RewriteCond "%{QUERY_STRING}" "target=(.+)"
    +RewriteRule "^/fetch" "http://%1" [P]
    + + +

    Un attaquant pourrait utiliser cette configuration pour tester des services +réseau internes qui autrement ne seraient pas accessibles depuis l’Internet. +Utilisez toujours un nom d’hôte fixe dans les cibles de mandataire et limitez +les références arrières à la partie chemin seulement.

    + + + +

    Traversée de chemin

    + +

    Des règles de réécriture qui associent directement des composants du chemin +fournis par l’utilisateur au système de fichier ouvrent la voie à des attaques +de traversée de chemin si l’entrée n’est pas correctement contrainte. Par +exemple :

    + +
    # DANGEREUX - permet une traversée de chemin
    +RewriteRule "^/files/(.+)" "/var/data/$1" [L]
    + + +

    Une requête pour /files/../../etc/passwd pourrait accéder à des +fichiers en dehors du répertoire souhaité. Utilisez des motifs restreints dans +votre règle RewriteRule (par exemple +[a-zA-Z0-9_-]+ au lieu de .+), et utilisez les +protections intégrées d’Apache httpd (restrictions Options et <Directory>) pour une défense en profondeur.

    + +
    diff --git a/docs/manual/rewrite/intro.xml.meta b/docs/manual/rewrite/intro.xml.meta index ce245b2841..5aaac0fc86 100644 --- a/docs/manual/rewrite/intro.xml.meta +++ b/docs/manual/rewrite/intro.xml.meta @@ -8,6 +8,6 @@ en - fr + fr diff --git a/docs/manual/rewrite/tech.xml.fr b/docs/manual/rewrite/tech.xml.fr index d8d4d432e3..8f1a8a759b 100644 --- a/docs/manual/rewrite/tech.xml.fr +++ b/docs/manual/rewrite/tech.xml.fr @@ -1,7 +1,7 @@ - +