From: Lucien Gentis Date: Thu, 12 Jul 2018 15:30:52 +0000 (+0000) Subject: Adding html files after doc rebuild ; why did I have to do that ? X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f191c3cb62d41245b5232496818e02ddd9bf1ec8;p=apache Adding html files after doc rebuild ; why did I have to do that ? git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1835751 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_xml2enc.html.fr b/docs/manual/mod/mod_xml2enc.html.fr new file mode 100644 index 0000000000..063bbe2b6f --- /dev/null +++ b/docs/manual/mod/mod_xml2enc.html.fr @@ -0,0 +1,243 @@ + + + + + +mod_xml2enc - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Modules
+
+

Module Apache mod_xml2enc

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support avancé de l'internationalisation et des jeux de +caractères pour les modules de filtrage basés sur libxml2
Statut:Base
Identificateur de Module:xml2enc_module
Fichier Source:mod_xml2enc.c
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.2.x
+

Sommaire

+ +

Ce module fournit un support avancé de l'internationalisation + pour les modules de filtrage supportant les balises (markup-aware) + comme mod_proxy_html. Il est capable de détecter + automatiquement l'encodage des données en entrée et de s'assurer + qu'elle sont traitées correctement par l'interpréteur libxml2, y compris la conversion en + Unicode (UTF-8) si nécessaire. Il peut aussi convertir les données + dans l'encodage de votre choix après le traitement des balises, et + s'assurera que le jeu de caractères approprié sera défini + dans l'en-tête HTTP Content-Type.

+
+ +
top
+
+

Utilisation

+

Il existe deux scénarios d'utilisation : le cas des modules + programmés pour travailler avec mod_xml2enc ; et les autres :

+
+
Modules de filtrages programmés pour mod_xml2enc
+

Les modules comme mod_proxy_html versions 3.1 et + supérieures utilisent la fonction optionnelle + xml2enc_charset pour déterminer la valeur de l'argument + "jeu de caractères" à transmettre à l'interpréteur libxml2, et + disposent de la fonction optionnelle xml2enc_filter + pour effectuer un encodage ultérieur éventuel. L'utilisation de + mod_xml2enc avec un module préprogrammé à cet effet ne nécessite + aucune configuration : ce dernier configurera mod_xml2enc pour vous + (sachant que vous pouvez tout de même le personnaliser via les + directives de configuration ci-dessous).

+
+
Modules de filtrages non programmés pour mod_xml2enc
+

Pour utiliser mod_xml2enc avec un module basé sur libxml2 qui n'a + pas été explicitement programmé pour mod_xml2enc, vous devrez + configurer la chaîne de filtrage vous-même. Ainsi, pour utiliser + mod_xml2enc avec un filtre foo fourni par un module + mod_foo et pour + améliorer le support i18n de ce dernier avec HTML et XML, vous + pouvez utiliser les directives suivantes :

+

+    FilterProvider iconv    xml2enc Content-Type $text/html
+    FilterProvider iconv    xml2enc Content-Type $xml
+    FilterProvider markup   foo Content-Type $text/html
+    FilterProvider markup   foo Content-Type $xml
+    FilterChain     iconv markup
+    
+

mod_foo supportera alors tout jeu de caractère supporté soit par + libxml2, soit par apr_xlate/iconv, soit par les deux.

+
+
top
+
+

API de programmation

+

Les programmeurs de modules de filtrage basés sur libxml2 sont + encouragés à les préprogrammer pour mod_xml2enc, afin de fournir un + support i18n solide aux utilisateurs sans avoir à réinventer la + roue. L'API de programmation est décrite dans + mod_xml2enc.h, et mod_proxy_html est un + exemple de son utilisation.

+
top
+
+

Détection et encodage

+

A la différence de mod_charset_lite, mod_xml2enc + est conçu pour travailler avec des données dont l'encodage ne peut + pas être connu, et donc configuré, à l'avance. Il utilise donc les + techniques de 'reniflage' suivantes pour détecter le type d'encodage + des données HTTP :

+
    +
  1. Si l'en-tête HTTP Content-Type contient un + paramètre charset, c'est ce dernier qui sera utilisé.
  2. +
  3. Si les données commancent par une balise XML concernant + l'ordre des octets (BOM) ou par une déclaration d'encodage XML, + c'est celle-ci qui sera utilisée.
  4. +
  5. Si un type d'encodage est déclaré dans un élément HTML + <META>, c'est ce dernier qui sera utilisé.
  6. +
  7. Si aucun des éléments précédents n'est trouvé, c'est la + valeur par défaut définie par la directive + xml2EncDefault qui sera utilisée.
  8. +
+

Les conditions sont testées dans cet ordre . Dès qu'une règle + s'applique, elle est utilisée et la détection est terminée.

+
top
+
+

Codage en sortie

+

libxml2 utilise toujours UTF-8 +(Unicode) en interne, et les modules de filtrage basés sur libxml2 +utiliseront cet encodage en sortie par défaut. mod_xml2enc peut modifier +l'encodage en sortie via l'API, mais il n'y a actuellement aucun moyen de le +configurer directement.

+

La modification de l'encodage en sortie ne devrait (du moins en théorie) +jamais être nécessaire, et est même déconseillée à cause de la charge de +traitement supplémentaire imposée au serveur par une conversion non +nécessaire.

+
top
+
+

Codages non supportés

+

Si vous travaillez avec des encodages non supportés par aucune des +méthodes de conversion disponibles sur votre plateforme, vous pouvez +tout de même leur associer un alias vers un code supporté via la +directive xml2EncAlias.

+
+
top
+

Directive xml2EncAlias

+ + + + + + +
Description:Définit des alias pour les valeurs d'encodage
Syntaxe:xml2EncAlias jeu-de-caractères alias [alias ...]
Contexte:configuration du serveur
Statut:Base
Module:mod_xml2enc
+

Cette directive de niveau serveur permet de définir un ou + plusieurs alias pour un encodage. Elle permet au support d'encodage de + libxml2 de traiter en interne des encodages non reconnus par libxml2 + en utilisant la table de conversion pour un encodage reconnu. Elle + permet d'atteindre deux objectifs : supporter des jeux (ou noms) de + caractères non reconnus par libxml2 ou iconv, et éviter une + conversion pour un encodage lorsque cela n'est pas nécessaire.

+ +
+
top
+

Directive xml2EncDefault

+ + + + + + + + +
Description:Définit un encodage par défaut à utiliser lorsqu'aucune +information ne peut être automatiquement détectée
Syntaxe:xml2EncDefault nom
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:All
Statut:Base
Module:mod_xml2enc
Compatibilité:Disponible depuis la version 2.4.0 du serveur HTTP Apache +; disponible depuis un module tiers dans les versions antérieures.
+

Si vous traitez des données dont l'encodage est connu, mais ne + contenant aucune information à propos de ce dernier, vous pouvez + définir une valeur par défaut afin d'aider mod_xml2enc à traiter + correctement les données. Par exemple, pour définir la valeur par + défaut Latin1 (iso-8859-1 specifiée dans HTTP/1.0), + utilisez :

+
xml2EncDefault iso-8859-1
+ + +
+
top
+

Directive xml2StartParse

+ + + + + + + +
Description:Indique à l'interpréteur à partir de quelle balise il doit +commencer son traitement.
Syntaxe:xml2StartParse élément [élément ...]
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:All
Statut:Base
Module:mod_xml2enc
+

Cette directive permet de spécifier à partir de quelle balise, + parmi les éléments spécifiés, l'interpréteur de balise doit + commencer son traitement. Ccei permet de contourner le problème des + serveurs d'arrière-plan qui insèrent des éléments non conformes en + début de données, ce qui a pour effet de perturber l'interpréteur (voir un exemple ici).

+

Elle ne doit être utilisée ni pour les documents XML, ni pour les + documents HTML correctement formatés.

+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/index.html.fr b/docs/manual/platform/index.html.fr new file mode 100644 index 0000000000..cf2a8eae9e --- /dev/null +++ b/docs/manual/platform/index.html.fr @@ -0,0 +1,111 @@ + + + + + +Notes spécifiques aux différentes plateformes. - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5

Notes spécifiques aux différentes plateformes.

+
+

Langues Disponibles:  en  | + fr  | + ko  | + zh-cn 

+
+
+ +
top
+
+

Microsoft Windows

+ + + +
+
Utilisation d'Apache
+
+

Ce document explique comment installer, configurer et + exécuter Apache 2.4 sous Microsoft Windows.

+ +

Voir : Utilisation d'Apache avec Microsoft Windows

+
+
+ +
+
Compilation d'Apache
+
+

Il y a de nombreux points importants à connaître avant de se + lancer dans la compilation d'Apache. Ce document en donne la + description.

+ +

Voir : Compilation d'Apache pour Microsoft Windows

+
+
+ +
top
+
+

Systèmes de type Unix

+ + + +
+
Systèmes à base de paquets RPM (Redhat / CentOS / Fedora)
+
+

Ce document explique comment installer, configurer et + exécuter Apache 2.4 sur des systèmes qui supportent le format de + paquet RPM.

+ +

Voir : Utilisation d'Apache avec les + systèmes à base de paquets RPM

+
+
+ +
top
+
+

Autres plateformes

+ + + +
+
Novell NetWare
+
+

Ce document explique comment installer, configurer et + exécuter Apache 2.4 sous Novell NetWare versions 5.1 et + supérieures.

+ +

Voir : Utilisation d'Apache avec Novell NetWare

+
+
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/platform/netware.html.fr b/docs/manual/platform/netware.html.fr new file mode 100644 index 0000000000..3add11100b --- /dev/null +++ b/docs/manual/platform/netware.html.fr @@ -0,0 +1,763 @@ + + + + + +Utilisation d'Apache avec Novell NetWare - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Notes spécifiques à un système

Utilisation d'Apache avec Novell NetWare

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + +

Ce document explique l'installation, la configuration et le + lancement d'Apache 2.0 sous Novell NetWare 6.0 et les versions + ultérieures. Si vous trouvez une bogue, ou voulez tout simplement + contribuer de quelque manière que ce soit, utilisez s'il vous plait + notre page des + rapports de bogues.

+ +

La page des rapports de bogues et la liste de diffusion dev-httpd + ne doivent pas être utilisées pour poser des questions à propos de + la configuration ou du lancement d'Apache. Avant de soumettre un + rapport de bogue ou une question, consultez ce document, la FAQ ou tout autre sujet de la + documentation en rapport avec votre problème. Si vous n'avez + toujours pas résolu votre problème, postez votre question dans le + newsgroup + novell.devsup.webserver, où de nombreux utilisateurs d'Apache + sont prêts à répondre à toutes les nouvelles et obscures questions à + propos de l'utilisation d'Apache sous Netware.

+ +

Dans la majeure partie de ce document, vous êtes sensé avoir + installé Apache à partir d'une distribution binaire. Si vous voulez + compiler Apache vous-même (par exemple pour aider au développement, + ou pour rechercher des bogues), reportez-vous à la section traitant + de la Compilation d'Apache pour Netware + ci-dessous.

+ +
+ +
top
+
+

Prérequis

+ + + +

Apache 2.0 nécessite NetWare 6.0 service pack 3 et supérieurs + pour fonctionner. Si vous utilisez un service pack antérieur à SP3, + vous devez installer les dernières Bibliothèques + Netware pour C (LibC).

+ +

Vous trouverez les service packs Netware ici.

+ +

Apache 2.0 pour NetWare peut aussi fonctionner dans un + environnement NetWare 5.1, à partir du moment où le dernier service + pack ou la dernière version des Bibliothèques + Netware pour C (LibC) ont été installés. ATTENTION + : Apache 2.0 pour NetWare n'a pas été testé dans cet + environnement car il n'a pas été conçu pour ce dernier.

+ +
top
+
+

Téléchargement d'Apache pour NetWare

+ + + +

Les informations à propos de la dernière version + d'Apache sont disponibles sur le site web d'Apache à http://www.apache.org/. Vous y + trouverez la version courante, des versions alpha ou bêta-test plus + récentes, ainsi que des sites miroirs et des sites FTP anonymes. Les + distributions binaires des dernières versions d'Apache 2.0 pour + NetWare sont disponibles ici.

+ +
top
+
+

Installation d'Apache pour NetWare

+ + + +

Il n'existe pas actuellement de programme d'installation d'Apache + pour Netware. Si vous installez Apache 2.0 pour NetWare à partir des + sources, vous devrez copier les fichiers sur le serveur + manuellement.

+ +

Suivez ces instructions pour installer Apache sous Netware à + partir de la distribution binaire (en supposant que vous effectuez + l'installation dans sys:/apache2) :

+ +
    +
  • Décompressez le fichier binaire téléchargé à la racine du + volume SYS: (vous pouvez cependant l'installer dans + tout volume)
  • + +
  • Editez le fichier httpd.conf et définissez les + directives ServerRoot et + ServerName avec les valeurs + correctes des chemins de fichiers qui correspondent à la + configuration de votre serveur.
  • + +
  • Ajoutez SYS:/APACHE2 au chemin de recherche, par + une commande du style :

    SEARCH ADD + SYS:\APACHE2

  • + +
+ +

Suivez ces instructions pour installer Apache pour Netware + manuellement à partir de votre propre répertoire de sources (en + supposant que vous effectuez l'installation dans + sys:/apache2) :

+ +
    +
  • Créez un répertoire que vous appellerez Apache2 + dans un volume Netware.
  • + +
  • Copiez APACHE2.NLM, APRLIB.NLM dans + SYS:/APACHE2.
  • + +
  • Créez un répertoire que vous appellerez BIN dans + SYS:/APACHE2.
  • + +
  • Copiez HTDIGEST.NLM, HTPASSWD.NLM, + HTDBM.NLM, LOGRES.NLM, + ROTLOGS.NLM dans SYS:/APACHE2/BIN.
  • + +
  • Créez un répertoire que vous appellerez CONF dans + SYS:/APACHE2.
  • + +
  • Copiez le fichier HTTPD-STD.CONF dans le + répertoire SYS:/APACHE2/CONF et renommez-le en + HTTPD.CONF.
  • + +
  • Copiez les fichiers MIME.TYPES, + CHARSET.CONV et MAGIC dans le répertoire + SYS:/APACHE2/CONF.
  • + +
  • Copiez tous les fichiers et sous-répertoires de + \HTTPD-2.0\DOCS\ICONS dans + SYS:/APACHE2/ICONS.
  • + +
  • Copiez tous les fichiers et sous-répertoires de + \HTTPD-2.0\DOCS\MANUAL dans + SYS:/APACHE2/MANUAL.
  • + +
  • Copiez tous les fichiers et sous-répertoires de + \HTTPD-2.0\DOCS\ERROR dans + SYS:/APACHE2/ERROR.
  • + +
  • Copiez tous les fichiers et sous-répertoires de + \HTTPD-2.0\DOCS\DOCROOT dans + SYS:/APACHE2/HTDOCS.
  • + +
  • Créez le répertoire SYS:/APACHE2/LOGS sur le + serveur.
  • + +
  • Créez le répertoire SYS:/APACHE2/CGI-BIN sur le + serveur.
  • + +
  • Créez le répertoire SYS:/APACHE2/MODULES et + copiez tous les modules nlm dans le répertoire + modules.
  • + +
  • Editez le fichier HTTPD.CONF, et recherchez + toutes les marques @@Value@@ afin de les remplacer + par les valeurs appropriées.
  • + +
  • Ajoutez SYS:/APACHE2 au chemin de recherche, par + une commande du style :

    SEARCH ADD + SYS:\APACHE2

    .
  • +
+ +

Outre le volume par défaut SYS, Apache peut être + installé dans tout autre volume.

+ +

Au cours du processus d'installation, l'ajout du mot-clé + "install" à la ligne de commande du makefile va provoquer la + construction d'une distribution complète sous forme d'un paquetage + dans le sous-répertoire DIST. Vous pouvez simplement + installer Apache en copiant la distribution créée précédemment à la + racine d'un volume Netware (voir Compilation + d'Apache pour NetWare ci-dessous).

+ +
top
+
+

Exécuter Apache pour NetWare

+ + + +

Pour démarrer Apache, tapez simplement apache dans + la console. Ceci aura pour effet de charger Apache dans l'espace + d'adressage du système d'exploitation. Si vous préférez charger + Apache dans un espace d'adressage protégé, vous pouvez spécifier cet + espace d'adressage à l'aide de l'instruction de chargement suivante + :

+ +

+ load address space = apache2 apache2 +

+ +

Cette instruction va charger Apache dans un espace d'adressage + appelé apache2. Il est possible d'exécuter plusieurs instances + simultanées d'Apache sous Netware, en chargeant chacune d'entre + elles dans son propre espace d'adressage protégé.

+ +

Une fois démarré, Apache écoute le port 80 (à moins que vous + n'ayez modifié la directive Listen dans les fichiers de + configuration). Pour vous connecter au serveur et afficher la page + par défaut, lancez un navigateur et entrez le nom du serveur ou son + adresse IP. Vous devriez voir une page de bienvenue, et un lien vers + le manuel Apache. Si rien ne se produit, ou si vous obtenez un + message d'erreur, consultez le fichier error_log dans + le répertoire logs.

+ +

Lorsque votre installation de base fonctionne, vous devez la + configurer correctement en éditant les fichiers du répertoire + conf.

+ +

Pour arrêter une instance d'Apache s'exécutant dans l'espace + d'adressage du système d'exploitation, entrez simplement dans la + console :

+ +

+ unload apache2 +

+ +

ou

+ +

+ apache2 shutdown +

+ +

Si Apache s'exécute dans un espace d'adressage protégé, spécifiez + cet espace d'adressage dans l'instruction d'arrêt :

+ +

+ unload address space = apache2 apache2 +

+ +

Lorsqu'on travaille avec Apache, il est important de savoir + comment il trouve ses fichiers de configuration. Vous pouvez + spécifier un fichier de configuration sur la ligne de commande de + deux manières :

+ +
    +
  • -f spécifie un chemin vers un fichier de + configuration particulier
  • +
+ +

+ apache2 -f "vol:/nom-serveur/conf/fich-conf.conf" +

+ +

+ apache -f test/test.conf +

+ +

Dans ces cas, la directive ServerRoot doit être correctement définie + dans le fichier de configuration.

+ +

Si vous ne spécifiez pas de nom de fichier de configuration avec + l'option -f, Apache utilisera le nom de fichier codé en + dur dans le serveur, en général conf/httpd.conf. + L'invocation d'Apache avec l'option -V indiquera ce nom + comme valeur de l'étiquette SERVER_CONFIG_FILE. Apache + va ensuite déterminer son ServerRoot en effectuant les tests + suivants, dans cet ordre

+ +
    +
  • Une directive ServerRoot via une option + -C switch.
  • + +
  • L'option de ligne de commande -d.
  • + +
  • Le contenu du répertoire courant.
  • + +
  • La racine du répertoire d'installation codée en dur dans le + serveur.
  • +
+ +

La racine du répertoire d'installation codée en dur dans le + serveur est en général sys:/apache2. L'invocation + d'Apache avec l'option -V indiquera ce chemin comme + valeur de l'étiquette HTTPD_ROOT.

+ +

Apache 2.0 pour Netware comporte un jeu d'options de ligne de + commande permettant d'afficher ou de modifier certaines + caractéristiques de l'instance du serveur web en cours d'exécution. + Ces options ne sont disponibles que lorsqu'Apache est en cours + d'exécution. Chacune de ces options doit être précédée du mot-clé + APACHE2.

+ +
+
RESTART
+
Demande à Apache d'arrêter tout worker thread en cours + d'exécution lorsqu'il devient inactif, de recharger le fichier de + configuration, et de redémarrer chaque worker thread en fonction + de la nouvelle configuration.
+ +
VERSION
+
Affiche des informations à propos de la version de l'instance + d'Apache en cours d'exécution.
+ +
MODULES
+
Affiche la liste des modules chargés (intégrés et + externes).
+ +
DIRECTIVES
+
Affiche la liste des directives disponibles.
+ +
SETTINGS
+
Active ou désactive l'affichage du statut des threads sur la + console. En cas d'activation, l'état de chaque thread en cours + d'exécution s'affiche sur l'écran de la console Apache.
+ +
SHUTDOWN
+
Arrête l'instance du serveur web Apache en cours + d'exécution.
+ +
HELP
+
Décrit chacune des options disponibles au cours de l'exécution + d'Apache.
+
+ +

Par défaut, ces options sont passées à l'instance d'apache + s'exécutant dans l'espace d'adressage du système d'exploitation. + Pour passer une option à une instance d'Apache spécifique + s'exécutant dans un espace d'adressage protégé, ajouter le paramètre + -p suivi du nom de l'espace d'adressage. Pour plus d'informations, + tapez "apache2 Help" sur la ligne de commande.

+ +
top
+
+

Configuration d'Apache pour NetWare

+ + + +

Apache lit en général ses fichiers de configuration dans le + répertoire conf. Ces fichiers sont les mêmes que ceux + de la version Unix, mais quelques directives sont différentes sous + Netware. Voir la Documentation Apache pour + l'ensemble des directives disponibles.

+ +

Les principales différences propres à Apache pour NetWare sont + :

+ +
    +
  • +

    Comme Apache pour Netware est une application multithread, + elle n'utilise pas de processus séparé pour chaque requête, + comme c'est le cas pour certaines implémentations sous Unix. Il + n'y a que des threads en cours d'exécution : un thread parent, + et plusieurs threads enfants ou worker qui traitent les + requêtes.

    + +

    En conséquence, les directives de gestion des "processus" + sont différentes :

    + +

    MaxConnectionsPerChild - comme sous + Unix, cette directive contrôle le nombre maximum de connexions + qu'un worker thread peut traiter avant de s'arrêter. Avec la + valeur par défaut MaxConnectionsPerChild 0, + le thread va pouvoir traiter un nombre illimité de requêtes. + Cette valeur est recommandée sous Netware, à moins que vous + n'ayez des raisons particulières de la modifier.

    + +

    StartThreads - + Cette directive indique au serveur le nombre de threads qu'il + doit lancer au démarrage. Il est recommandé de conserver la + valeur par défaut StartThreads 50.

    + +

    MinSpareThreads - + Cette directive indique au serveur le nombre de worker threads + additionnels qu'il doit lancer si le nombre de threads inactifs + tombe en dessous de cette valeur. Il est recommandé de conserver la + valeur par défaut MinSpareThreads 10.

    + +

    MaxSpareThreads - + Cette directive indique au serveur qu'il doit commencer à + arrêter des worker threads si le nombre de threads inactifs + passe au dessus de cette valeur. Il est recommandé de conserver + la valeur par défaut MaxSpareThreads 100.

    + +

    MaxThreads - + Cette directive impose un nombre maximum de worker threads. Il + est recommandé de conserver la valeur par défaut + ThreadsPerChild 250.

    + +

    ThreadStackSize - + Cette directive indique au serveur la taille de la pile à + utiliser pour un worker thread individuel. Il est recommandé de + conserver la valeur par défaut ThreadStackSize + 65536.

    +
  • + +
  • +

    Les directives qui acceptent des noms de fichiers comme + arguments ne doivent pas utiliser des noms de fichiers Unix, + mais des noms de fichiers Netware. Cependant, comme Apache + utilise des noms de style Unix en interne, on doit utiliser des + slashes et non des antislashes. Il est recommandé de préfixer + tous les chemins de fichiers racines par un nom de volume. Si ce + dernier est omis, Apache supposera que le volume est + SYS:, ce qui n'est pas forcément correct.

    +
  • + +
  • +

    Apache pour Netware a la possibilité de charger des modules + en cours d'exécution, sans avoir à recompiler le serveur. Si + Apache est compilé avec les options par défaut, il va installer + de nombreux modules optionnels dans le répertoire + \Apache2\modules. Pour les activer, ou en activer + d'autres, on doit utiliser la directive LoadModule. Par exemple, pour + activer le module status, ajoutez la ligne suivante :

    + +

    + LoadModule status_module modules/status.nlm +

    + +

    Des informations à propos de la création de modules + chargeables sont aussi disponibles.

    +
  • +
+ +

Autres directives spécifiques à Netware :

+ + + +
    +
  • CGIMapExtension - + Cette directive associe une extension de fichier CGI à un + interpréteur de script.
  • +
+
    +
  • SecureListen - + Cette directive active le chiffrement SSL pour un port + spécifique.
  • +
+
    +
  • NWSSLTrustedCerts - + Cette directive permet d'ajouter des certificats de confiance + pouvant être utilisés pour créer des connexions sécurisées vers + des serveurs mandataires.
  • +
+
    +
  • NWSSLUpgradeable - + Cette directive permet de faire passer en SSL une connexion + initialisée sur les adresse IP et Port spécifiés.
  • +
+ + + +
top
+
+

Compilation d'Apache pour NetWare

+ + + +

La compilation d'Apache nécessite MetroWerks CodeWarrior 6.x ou + supérieur. Une fois compilé, Apache peut être installé à la racine + de tout volume Netware. Le répertoire d'installation par défaut est + sys:/Apache2.

+ +

Avant de démarrer Apache, vous devez remplir le répertoire + conf. Copiez le fichier HTTPD-STD.CONF + depuis le répertoire conf de la distribution et + renommez-le en HTTPD.CONF. Editez le fichier + HTTPD.CONF en recherchant les repères + @@Value@@, et remplacez ces derniers par la valeur + appropriée. Copiez de même les fichiers conf/magic et + conf/mime.types. Vous pouvez aussi construire une + distribution complète en ajoutant le mot-clé install + lors de l'invocation des makefiles.

+ +

Prérequis :

+ + + +

Les outils de développement suivants sont nécessaires pour la + compilation d'Apache pour Netware :

+ + + + + +

Compiler Apache en utilisant les makefiles Netware + :

+ + + +
    +
  • Définissez la variable d'environnement + NOVELLLIBC avec le chemin des bibliothèques Netware + pour C SDK ; par exemple :

    Set + NOVELLLIBC=c:\novell\ndk\libc

  • + +
  • Définissez la variable d'environnement + METROWERKS avec le chemin de votre compilateur + Metrowerks CodeWarrior ; par exemple :

    Set + METROWERKS=C:\Program Files\Metrowerks\CodeWarrior

    . Si + vous l'avez installé dans le répertoire par défaut + C:\Program Files\Metrowerks\CodeWarrior, vous + n'avez pas besoin de définir cette variable.
  • + +
  • Définissez la variable d'environnement LDAPSDK + avec le chemin des bibliothèques LDAP pour C ; par exemple : +

    Set + LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc

  • + +
  • Définissez la variable d'environnement ZLIBSDK + avec le chemin du code source de la bibliothèque Zlib ; par + exemple :

    Set ZLIBSDK=D:\NOVELL\zlib

  • + +
  • Définissez la variable d'environnement PCRESDK + avec le chemin d'installation du code source de la bibliothèque + PCRE ; par exemple : +

    Set PCRESDK=D:\NOVELL\pcre

    +
  • + +
  • Définissez la variable d'environnement AP_WORK + avec le chemin du code source de httpd. +

    Set AP_WORK=D:\httpd-2.0.x

  • + +
  • Définissez la variable d'environnement APR_WORK + avec le chemin du code source d'apr ; en général + \httpd\srclib\apr, mais le projet APR peut se + trouver en dehors de la structure des répertoires de httpd. +

    Set APR_WORK=D:\apr-1.x.x

  • + +
  • Définissez la variable d'environnement APU_WORK + avec le chemin du code source d'apr-util ; en + général \httpd\srclib\apr-util, mais le projet + APR-UTIL peut se trouver en dehors de la structure des + répertoires de httpd.

    Set + APU_WORK=D:\apr-util-1.x.x

  • + +
  • Vérifiez que les chemins des utilitaires AWK et GNU make + (gmake.exe) ont bien été inclus dans la variable + d'environnement système PATH.
  • + +
  • Téléchargez le code source et décompressez-le dans un + répertoire de votre choix sur votre station de travail.
  • + +
  • Positionnez-vous dans le répertoire \httpd-2.0 + et compilez les utilitaires précompilés à l'aide de la commande + "gmake -f nwgnumakefile prebuild". Cette cible va + créer le répertoire \httpd-2.0\nwprebuild, et y + copier tous les utilitaires nécessaires au franchissement des + étapes suivantes de la compilation.
  • + +
  • Copiez les fichiers + \httpd-2.0\nwprebuild\GENCHARS.nlm et + \httpd-2.0\nwprebuild\DFTABLES.nlm vers le volume + SYS: d'un serveur Netware et exécutez-les à l'aide + des commandes suivantes : +

    + SYS:\genchars > sys:\test_char.h
    + SYS:\dftables sys:\chartables.c
    +

    +
  • + +
  • Copiez les fichiers test_char.h et + chartables.c vers le répertoire + \httpd-2.0\os\netware de la machine où s'effectue + la compilation.
  • + +
  • Positionnez-vous dans le répertoire \httpd-2.0 + et compilez Apache à l'aide de la commande "gmake -f + nwgnumakefile". Vous pouvez créer un répertoire pour la + distribution en ajoutant le paramètre install à la commande ; + par exemple : +

    gmake -f nwgnumakefile install

    +
  • +
+ + + +

Options de make supplémentaires

+ + + +
    +
  • gmake -f nwgnumakefile

    Compile les versions + de distribution de tous les binaires et les copie dans un + répertoire \release.

  • + +
  • gmake -f nwgnumakefile DEBUG=1

    Compile les versions + de débogage de tous les binaires et les copie dans un + répertoire \debug.

  • + +
  • gmake -f nwgnumakefile install

    Crée une + distribution complète d'Apache avec les binaires, la + documentation et les fichiers support dans un répertoire + \dist\Apache2.

  • + +
  • gmake -f nwgnumakefile prebuild

    Compile tous + les utilitaires précompilés et les copie dans le répertoire + \nwprebuild.

  • + +
  • gmake -f nwgnumakefile installdev

    Même effet + que l'option install, mais en plus, les répertoires + \lib et \include sont créés dans le + répertoire de destination, et les en-têtes et fichiers d'import + y sont copiés.

  • + +
  • gmake -f nwgnumakefile clean

    Supprime tous + les fichiers objets et les binaires de la zone de compilation + \release.o, ou \debug.o si + DEBUG a été défini.

  • + +
  • gmake -f nwgnumakefile clobber_all

    Même effet + que clean, mais en plus, le répertoire de la distribution est + supprimé s'il existe.

  • +
+ + + +

Variables d'environnement supplémentaires

+ + + +
    +
  • Pour compiler tous les modules expérimentaux, définissez la + variable d'environnement EXPERIMENTAL : +

    Set EXPERIMENTAL=1

    +
  • + +
  • Pour compiler Apache en utilisant les sockets de style BSD + standard, plutôt que Winsock, définissez la variable + d'environnement USE_STDSOCKETS : +

    Set USE_STDSOCKETS=1

    +
  • + +
+ + + +

Compilation de mod_ssl pour la plate-forme Netware

+ + + +

Pour fournir les services SSL, Apache pour Netware utilise par + défaut le module intégré mod_nw_ssl. Ce module ne + fournit que les services SSL implémentés par le système + d'exploitation Netware lui-même pour gérer tous les chiffrements + pour un port donné. Cependant, on peut aussi utiliser mod_ssl de + la même manière que sur les autres plate-formes.

+ +

Afin de pouvoir compiler mod_ssl pour la plate-forme Netware, + les bibliothèques OpenSSL doivent être disponibles. Elles peuvent + être installées de la manière suivante :

+ +
    +
  • Téléchargez la dernière distribution du code source + d'OpenSSL 0.9.8 depuis la page OpenSSL Source (les + versions 0.9.7 doivent être patchées, et ne sont donc pas + recommandées).
  • + +
  • Editez le fichier NetWare/set_env.bat, et + effectuez toutes modifications nécessaires des chemins des + outils et utilitaires en fonction de votre environnement de + développement.
  • + +
  • Exécutez les scripts suivants depuis la racine du + répertoire des sources d'OpenSSL : +

    + Netware\set_env netware-libc
    + Netware\build netware-libc +

    + Pour des raisons de performances, vous devez activer la + compilation avec le code ASM. Télécharger NASM depuis le site SF. Configurez + ensuite OpenSSL pour utiliser le code ASM : +

    + Netware\build netware-libc nw-nasm enable-mdc2 enable-md5 +

    + Attention : n'utilisez pas l'Assembleur CodeWarrior - il + produit un code de mauvaise qualité !
  • + +
  • Avant de compiler Apache, définissez la variable + d'environnement OSSLSDK avec le chemin absolu de + la racine du répertoire du code source d'openssl, et + définissez WITH_MOD_SSL à 1. +

    + Set OSSLSDK=d:\openssl-0.9.8x
    + Set WITH_MOD_SSL=1 +

  • + +
+ + + +
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/perf-hp.html.fr b/docs/manual/platform/perf-hp.html.fr new file mode 100644 index 0000000000..0edbe891fa --- /dev/null +++ b/docs/manual/platform/perf-hp.html.fr @@ -0,0 +1,143 @@ + + + + + +Mise en oeuvre d'un serveur Web hautes performances sous + HPUX - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Notes spécifiques aux + plates-formes

Mise en oeuvre d'un serveur Web hautes performances sous + HPUX

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + +
Date: Wed, 05 Nov 1997 16:59:34 -0800
+From: Rick Jones <raj@cup.hp.com>
+Reply-To: raj@cup.hp.com
+Organization: Network Performance
+Subject: HP-UX tuning tips
+ +

Traduction du corps du message cité ci-dessus :

+ +

Voici quelques conseils de personnalisation pour HPUX à ajouter à + la page de personnalisation.

+ +

Pour HP-UX 9.X: mettre à jour vers la version 10.20
+ Pour HP-UX 10.[00|01|10]: mettre à jour vers la version 10.20

+ +

Pour HP-UX 10.20:

+ +

Installez le dernier patch cumulatif à propos du transport ARPA. + Ceci va vous permettre de configurer la taille de la table de + hashage de recherche de connexion TCP. La valeur par défaut est 256 + conteneurs et doit être une puissance de deux. À cet effet, utilisez + adb pour modifier l'image *disque* du noyau. Le nom de la variable + est tcp_hash_size. Notez qu'il est impératif d'utiliser + "W" pour spécifier une quantité sur 32 bits, et non + "w" qui indique une valeur sur 16 bits, lors de la + modification de l'image disque car la variable + tcp_hash_size est une quantité sur 32 bits.

+ +

Comment déterminer cette valeur ? Examinez la sortie de ftp://ftp.cup.hp.com/dist/networking/tools/connhist, et + comptez le nombre total de connexions TCP existant sur le système. + Il est en général souhaitable que ce nombre divisé par la taille de + la table de hashage soit raisonnablement petit, disons inférieur à + 10. Les administrateurs peuvent consulter le document SPECweb96 de + HP pour quelques réglages courants. On peut les trouver à http://www.specbench.org/. Si + un système HP-UX traite 1000 connexions SPECweb96 par seconde, une + valeur de temps TIME_WAIT de 60 secondes permettrait le + suivi de 60000 connexions TCP.

+ +

Les administrateurs peuvent tester la profondeur de leur file + d'attente d'écoute avec ftp://ftp.cup.hp.com/dist/networking/misc/listenq.

+ +

Si Apache s'exécute sur un système à base de PA-8000, il est + conseillé de modifier l'exécutable Apache avec la commande chatr + afin d'utiliser une page de grande taille. La commande sera du style + "chatr +pi L <BINARY>". Le GID de l'exécutable en + cours de fonctionnement doit posséder le privilège + MLOCK. Pour assigner ce privilège MLOCK, + consultez Setprivgrp(1m). La modification peut être + validée en exécutant Glance et en examinant les portions de mémoire + du/des serveur(s) afin de s'assurer qu'elles montrent une fraction + non triviale du segment de texte verrouillé.

+ +

Si Apache s'exécute sur un système MP (multi-processeurs), il est + conseillé d'écrire un petit programme qui utilise + mpctl() et permettant d'associer les processus aux + processeurs. Un simple algorithme pid % numcpu suffira + probablement. Cette modification peut aussi être ajoutée dans le + code source.

+ +

Si l'administrateur s'intéresse au nombre de connexions + FIN_WAIT_2, il peut utiliser nettune pour diminuer la + valeur de tcp_keepstart. Il devra cependant être + prudent - surtout ne pas diminuer cette valeur en dessous de, disons + deux à quatre minutes. Si tcp_hash_size a été défini, + il est probablement approprié de laisser les connexions + FIN_WAIT_2 prendre plus de temps à expirer (peut-être + même la valeur par défaut de deux heures) - elles n'auront en + général pas un grand impact sur les performances.

+ +

On peut ajouter d'autres choses au code de base, mais elles + feront peut-être l'objet d'un autre email. N'hésitez pas à m'envoyer + un message si vous êtes intéressé.

+ +

sincèrement ,

+ +

rick jones

+ +

http://www.netperf.org/netperf/

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/rpm.html.fr b/docs/manual/platform/rpm.html.fr new file mode 100644 index 0000000000..894329cd4a --- /dev/null +++ b/docs/manual/platform/rpm.html.fr @@ -0,0 +1,264 @@ + + + + + +Utiliser Apache sur les systèmes à base de paquets RPM (Redhat + / CentOS / Fedora) - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Notes spécifiques aux différentes + plateformes

Utiliser Apache sur les systèmes à base de paquets RPM (Redhat + / CentOS / Fedora)

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Alors que de nombreuses distributions mettent à disposition des + paquets Apache httpd supportés par le système d'exploitation + sous-jacent, il peut s'avérer nécessaire d'installer et d'utiliser + la version de base d'Apache httpd en remplacement de la version des + paquets.

+ +

Bien que le projet Apache httpd ne crée pas actuellement de + paquets RPM pour les différentes distributions, il est aisé de + construire votre propre paquet RPM à partir du tarball de base + d'Apache httpd.

+ +

Ce document explique comment construire, installer, configurer et + exécuter Apache httpd 2.4 sur les systèmes Unix à base de paquets + RPM.

+ +
+ +
top
+
+

Création d'un paquet RPM source

+ + +

Le tarball d'Apache httpd peut être converti en paquet SRPM de la + manière suivante :

+ +

+ rpmbuild -ts httpd-2.4.x.tar.bz2 +

+ +
top
+
+

Création d'un paquet RPM

+ + +

Le tarball d'Apache httpd peut être converti en paquet RPM de la + manière suivante :

+ +

+ rpmbuild -tb httpd-2.4.x.tar.bz2 +

+ +

Il sera nécessaire d'installer les paquets "-devel" + correspondants avant de construire les RPMs ; à cet effet, la + commande rpmbuild détecte automatiquement les RPMs + requis et en donne la liste sous forme de dépendances manquantes sur + votre système. Ces paquets "-devel" ne seront d'ailleurs plus + nécessaires une fois la création des RPMs terminée, et pourront + alors être supprimés sans risque.

+ +

Si tout va bien, les RPMs suivants seront créés :

+ +
+
httpd-2.4.x-1.i686.rpm
+
Le serveur de base et le jeu de modules standards.
+ +
httpd-debuginfo-2.4.x-1.i686.rpm
+
Les symboles de débogage pour le serveur et tous les modules.
+ +
httpd-devel-2.4.x-1.i686.rpm
+
Les en-têtes et fichiers de développement pour le serveur.
+ +
httpd-manual-2.4.x-1.i686.rpm
+
Le manuel du serveur web.
+ +
httpd-tools-2.4.x-1.i686.rpm
+
Les utilitaires du serveur web.
+ +
mod_authnz_ldap-2.4.x-1.i686.rpm
+
Les modules mod_ldap et + mod_authnz_ldap avec les dépendances + correspondantes sur openldap.
+ +
mod_lua-2.4.x-1.i686.rpm
+
Le module mod_lua avec les dépendances + correspondantes sur lua.
+ +
mod_proxy_html-2.4.x-1.i686.rpm
+
Le module mod_proxy_html avec les + dépendances correspondantes sur libxml2.
+ +
mod_socache_dc-2.4.x-1.i686.rpm
+
Le module mod_socache_dc avec les + dépendances correspondantes sur distcache.
+ +
mod_ssl-2.4.x-1.i686.rpm
+
Le module mod_ssl avec les + dépendances correspondantes sur openssl.
+ +
+ +
top
+
+

Installation du serveur

+ + +

Le RPM httpd est le seul paquet nécessaire pour + obtenir un serveur de base fonctionnel. Vous pouvez l'installer + comme suit :

+ +

+ rpm -U httpd-2.4.x-1.i686.rpm +

+ +

Le jeu de modules standards est inclus dans le serveur. Les + modules qui dépendent de bibliothèques externes sont fournis en tant + que paquets RPM séparés et doivent être installés si nécessaire.

+ +
top
+
+

Configuration de l'instance par défaut d'Apache httpd

+ + +

Les répertoires par défaut sont + /etc/httpd pour la configuration du serveur, et + /var/log/httpd pour la journalisation. L'environnement + par défaut du serveur web est défini dans le répertoire optionnel + /etc/sysconfig/httpd.

+ +

Démarrez le serveur comme suit :

+ +

+ service httpd restart +

+ +
top
+
+

Configuration d'instances d'Apache httpd supplémentaires sur + la même machine

+ + +

Il est possible d'exécuter simultanément plusieurs instances du + serveur Apache httpd sur la même machine. Chaque instance peut + posséder sa propre configuration et en fonction de cette dernière, + s'exécuter sous un utilisateur différent.

+ +

Pour parvenir à ce résultat, on a fait en sorte que le script de + démarrage de httpd ait connaissance de son propre nom. Ce nom est + par la suite utilisé pour trouver le fichier d'environnement associé + au serveur, et par conséquent, la racine de l'instance du serveur + considéré.

+ +

Pour créer une instance supplémentaire appelée + httpd-additional, suivez ces étapes :

+ +
    +
  • Créez un lien symbolique vers le script de démarrage pour + l'instance supplémentaire : + +

    + ln -s /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd-additional
    + chkconfig --add httpd-additional +

    + +
  • + +
  • Créez un fichier d'environnement pour l'instance + supplémentaire, en utilisant le fichier + /etc/sysconfig/httpd comme modèle : + +

    + # création du fichier d'environnement à partir du modèle httpd
    + cp /etc/sysconfig/httpd /etc/sysconfig/httpd-additional +

    + +

    + # création du fichier d'environnement à partir de zéro
    + touch /etc/sysconfig/httpd-additional +

    + + Editez le fichier /etc/sysconfig/httpd-additional et + définissez la racine de la nouvelle instance du serveur via la + variable d'environnement OPTIONS. + +

    + OPTIONS="-d /etc/httpd-additional -f conf/httpd-additional.conf" +

    + +
  • + +
  • Editez le fichier de configuration du serveur supplémentaire + /etc/httpd-additional/conf/httpd-additional.conf et + assurez-vous que les ports et chemins sont correctement définis. +
  • + +
  • Démarrez le serveur supplémentaire comme suit : + +

    + service httpd-additional restart +

    + +
  • + +
  • Répétez ces opérations pour chaque instance supplémentaire + souhaitée.
  • +
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/platform/win_compiling.html.fr b/docs/manual/platform/win_compiling.html.fr new file mode 100644 index 0000000000..3a5761b457 --- /dev/null +++ b/docs/manual/platform/win_compiling.html.fr @@ -0,0 +1,594 @@ + + + + + +Compiler Apache pour Microsoft Windows - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Notes spécifiques à certaines + plates-formes

Compiler Apache pour Microsoft Windows

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + +

Il y a de nombreux points importants à connaître avant de + compiler Le serveur HTTP Apache pour Microsoft Windows. Avant de commencer, lisez le + document Utiliser le serveur HTTP Apache avec Microsoft + Windows.

+ +

httpd peut être compilé sous Windows en utilisant une chaîne de + compilation basée sur cmake, ou à partir de fichiers projet Visual + Studio maintenus par les développeurs de httpd. La chaîne de + compilation basée sur cmake supporte directement davantage de + versions de Visual Studio, mais possède actuellement des + fonctionnalités très limitées.

+ +
+ +
top
+
+

Prérequis

+ + + +

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 the PATH, + INCLUDE, LIB, ainsi que d'autres + variables qui peuvent être définies via le script + vcvars32.bat :

    + +
    Vous pouvez vous procurer le paquet du Processeur Visual + Studio pour votre ancienne version de Visual Studio, ou une + version complète (et non Express) d'une édition plus récente de + Visual Studio pour l'assembleur ml.exe. Ceci vous permettra, si + vous le souhaitez, de compiler OpenSSL en utilisant une + implémentation du code d'assemblage plus efficace.
    + +
    Seule la chaîne d'outils de compilation de Microsoft est + supportée de manière suivie par les contributeurs actifs à httpd. + Bien que le projet accepte régulièrement des correctifs pour + s'assurer que MinGW et d'autre outils de compilation + fonctionnent, ou même pour les améliorer, ils ne sont pas + maintenus de manière suivie et sont même souvent hors d'état + de fonctionner à certains stades du développement normal.
    +
  • + +
  • +

    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).

    + +
    Si awk.exe n'est pas trouvé, la cible install du fichier + Makefile.win n'effectuera aucune substitution dans les fichiers + .conf installés. Vous devez modifier manuellement les fichiers + .conf installés afin de permettre au serveur de démarrer. + Recherchez et remplacez toutes les balises "@token@" par une + valeur appropriée.
    + +
    L'IDE Visual Studio ne trouvera le chemin de + 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.
    + +
    Notez aussi, si vous utilisez les outils Cygwin (http://www.cygwin.com/), que + l'utilitaire awk de nomme 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 bibliothèque OpenSSL est un logiciel de chiffrement. Le + pays dans lequel vous résidez peut imposer des restrictions à + l'importation, la possession, l'utilisation, et/ou la + réexportation vers un autre pays des logiciels de chiffrement. + AVANT d'utiliser tout logiciel de chiffrement, veuillez + consulter la législation de votre pays, les règles et politiques + d'importation, de possession, ou d'utilisation, et de + réexportation des logiciels de chiffrement, afin de déterminer + si vous en avez le droit. Voir http://www.wassenaar.org/ + pour plus de détails.
    + +

    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 +

    + +
    Il est déconseillé d'utiliser zlib-dynamic, car la charge + de la décompression des flux SSL est alors transférée à la + première requête qui doit charger la dll zlib. Notez que le + correctif proposé active le drapeau -L afin de pouvoir + fonctionner avec les compilations Windows, corrige le nom de + zdll.lib et s'assure que les fichiers .pdb sont générés afin de + pouvoir résoudre les problèmes. Si l'assembleur n'est pas + installé, vous devez ajouter no-asm ci-dessus et utiliser le + script ms\do_ms.bat à la place de ms\do_masm.bat.
    +
  • + +
  • +

    [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 +

    + +
    En fonction du choix des distributions de bases de + données, il peut s'avérer nécessaire de modifier le nom des + cibles de l'édition de liens (par exemple gdbm.lib à la place de + libgdb.lib) listées dans les fichiers .dsp/.mak des répertoires + srclib\apr-util\dbd ou ...\dbm correspondants.
    + +

    Voir le fichier README-win32.txt pour plus d'informations à + propos de l'obtention des différents SDKs pilotes de bases de + données.

    +
  • + +
+ +
top
+
+

Compilation à partir des sources Unix

+ + + +

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.

+ +
    +
  1. Téléchargez et ouvrez le tarball source Unix de la dernière + version du serveur HTTP Apache.
  2. +
  3. Téléchargez et ouvrez le tarball source Unix de la dernière + version de APR, APR-Util et APR-Iconv, et copier l'arborescence + obtenue dans httpd-2.x.x\srclib\apr, httpd-2.x.x\srclib\apr-util + et httpd-2.x.x\srclib\apr-iconv
  4. +
  5. Ouvrez la console et placez-vous au niveau du répertoire httpd-2.x.x
  6. +
  7. Exécutez l'utilitaire de conversion de fins de ligne
  8. +
+ +

+ 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. +

+ +
top
+
+

Compilation à partir de la ligne de commandes

+ + + +

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.

+ +
top
+
+

Compilation depuis l'espace de travail IDE de Developer + Studio

+ + + +

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.

+ + +
Il y a une erreur dans la conversion .vcproj des fichiers + .dsp. devenv.exe interprète mal le drapeau + /D pour les drapeaux RC contenant de grandes /D'éfinitions entourées + de guillemets, et contenant elles-mêmes des espaces. Ainsi, la + commande : +

+ perl srclib\apr\build\cvtdsp.pl -2005 +

+ va convertir les drapeaux /D pour les drapeaux RC afin d'utiliser + une syntaxe alternative, interprétable ; malheureusement, cette + syntaxe n'est pas supportée par Visual Studio 97 ou ses fichiers + .mak exportés. Ces drapeaux /D permettent de transmettre la longue + description des fichiers de mod_apachemodule.so à leurs compilations + d'identificateur de version de ressource .rc partagée.
+ + + +

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.

+ +
top
+
+

Export des fichiers .mak de la ligne de commandes

+ + + + +

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.

+ +
top
+
+

Installation

+ + + + +

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.

+ +
top
+
+

Avertissement à propos de la compilation d'Apache à partir de +l'arborescence de développement

+ + + +
Notez que seuls les fichiers .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.
+ +
top
+
+

Compilation de httpd avec cmake

+ + +

La documentation principale pour ce mécanisme de compilation se trouve + dans le fichier README.cmake situé dans l'arborescence + des sources. Consultez ce fichier pour des instructions détaillées.

+ +

Pour compiler httpd avec cmake, vous devez compiler APR et APR-util + séparément. Consultez les fichiers README.cmake de ces + projets pour obtenir des instructions.

+ +

Les principales limitations de la compilation basée sur cmake sont + héritées du projet APR-util et sont énumérées ci-dessous à cause de + leur impact sur httpd :

+ +
    +
  • Il n'est pas possible de compiler le projet APR-iconv avec + cmake, et la compilation de APR-util ne peut pas utiliser de projet + APR-iconv précompilé. A cause de cela, il n'est pas possible + d'utiliser mod_charset_lite et probablement + d'autres modules tiers.
  • +
  • La compilation du sous-projet APR-util avec cmake ne supporte + pas la plupart des bibliothèques optionnelles DBM et DBD utilisées + par les fichiers projet Visual Studio inclus. Cela limite les + serveurs de bases de données d'arrière-plan supportés par de + nombreux modules tiers ou inclus.
  • +
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/ab.html.fr b/docs/manual/programs/ab.html.fr new file mode 100644 index 0000000000..4cfe92ce9e --- /dev/null +++ b/docs/manual/programs/ab.html.fr @@ -0,0 +1,396 @@ + + + + + +ab - L'outil de test des performances du serveur HTTP +Apache - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

ab - L'outil de test des performances du serveur HTTP +Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

ab est un utilitaire qui vous permet de tester les + performances de votre serveur HTTP Apache. Il a été conçu pour vous + donner une idée du degré de performances de votre installation + d'Apache. Il vous permet en particulier de déterminer le nombre de + réquêtes que votre installation d'Apache est capable de servir par + seconde.

+
+ +
top
+
+

Syntaxe

+

ab + [ -A nom-utilisateur:mot-de-passe ] + [ -b taille-tampon ] + [ -B adresse-locale ] + [ -c simultanéité ] + [ -C nom-cookie=valeur ] + [ -d ] + [ -e fichier-csv ] + [ -f protocole ] + [ -g fichier-gnuplot ] + [ -h ] + [ -H en-tête-personnalisé ] + [ -i ] + [ -k ] + [ -l ] + [ -m HTTP-method ] + [ -n requêtes ] + [ -p fichier-POST ] + [ -P + nom-utilisateur-mandataire:mot-de-passe ] + [ -q ] + [ -r ] + [ -s timeout ] + [ -S ] + [ -t limite-de-durée ] + [ -T type-de-contenu ] + [ -u fichier PUT ] + [ -v verbosité] + [ -V ] + [ -w ] + [ -x <table>-attributs ] + [ -X mandataire[:port] ] + [ -y <tr>-attributs ] + [ -z <td>-attributs ] + [ -Z algorithme-chiffrement ] + [http[s]://]nom-serveur[:port]/chemin

+
top
+
+

Options

+
+
-A nom-utilisateur:mot-de-passe
+
Fournit le support d'une authentification de base vers le + serveur. Les nom-utilisateur et mot-de-passe sont séparés par un + seul caractère : et transmis sous forme codée base64. + La chaîne est envoyée que le serveur en ait besoin ou non (qu'il ait + renvoyé un code "401 authentication needed" ou non).
+ +
-b taille-tampon
+
Taille du tampon d'émission/réception TCP, en octets.
+ +
-B adresse-locale
+
Adresse à laquelle se rattacher lors des connexions sortantes.
+ +
-c simultanéité
+
Nombre de requêtes à effectuer simultanément. Par défaut, une + seule requête est effectuée à la fois.
+ +
-C nom-cookie=valeur
+
Ajoute une ligne Cookie: à la requête. L'argument + se présente en général sous la forme d'une + paire nom=valeur. Ce champ peut + être répété.
+ +
-d
+ +
N'affiche pas le "pourcentage servi dans la table XX [ms]". + (support de l'héritage).
+ +
-e fichier-csv
+
Enregistre des valeurs séparées par des virgules (CSV) dans un + fichier, indiquant pour chaque pourcentage (de 1% à 100 %), le temps + (en millisecondes) mis pour servir ce pourcentage de requêtes. Ce + fichier est en général plus utile qu'un fichier 'gnuplot', car les + résultats sont déjà sous forme binaire.
+ +
-f protocole
+
Spécifie le protocole SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2, or ALL).
+ TLS1.1 et TLS1.2 sont supportés à partir de la version 2.4.4 du + serveur HTTP Apache.
+ +
-g fichier-gnuplot
+
Enregistre toutes les valeurs mesurées dans un fichier 'gnuplot' + ou TSV (valeurs séparées par des tabulations). Ce fichier peut être + facilement importé dans des programmes comme Gnuplot, IDL, + Mathematica, Igor ou même Excel. La première ligne du fichier + contient les noms des valeurs.
+ +
-h
+
Affiche une aide à propos de l'utilisation du programme.
+ +
-H en-tête-personnalisé
+
Ajoute des en-têtes supplémentaires à la requête. L'argument se + présente sous la forme d'une ligne d'en-tête valide, autrement dit + une paire champ/valeur séparés par un caractère ':' (par exemple + "Accept-Encoding: zip/zop;8bit").
+ +
-i
+
Effectue des requêtes HEAD plutôt que + GET.
+ +
-k
+
Active la fonctionnalité des connexions HTTP persistantes + (KeepAlive), c'est à dire effectue plusieurs requêtes au cours d'une + seule session HTTP. Cette fonctionnalité est désactivée par + défaut.
+ +
-l
+
Ne signale pas les erreurs si la taille de la réponse n'est pas + constante. Cette option peut s'avérer utile pour les pages + dynamiques.
+ Disponible à partir de la version 2.4.7 du serveur HTTP Apache. +
+ +
-m HTTP-method
+
Méthode HTTP personnalisée à utiliser pour les requêtes.
+ Disponible à partir de la version 2.4.10 du serveur HTTP + Apache.
+ +
-n requêtes
+
Nombre de requêtes à effectuer au cours du test de performances. + Par défaut, une seule requête est effectuée, ce qui ne permet pas + d'obtenir des résultats représentatifs.
+ +
-p fichier-POST
+
Fichier contenant les données pour les requêtes POST. + Assurez-vous de spécifier aussi le paramètre -T.
+ +
-P nom-utilisateur-mandataire:mot-de-passe
+
Fournit les informations d'authentification basique pour un + mandataire en-route. Les nom d'utilisateur et mot de passe sont + séparés par un simple caractère : et envoyés sur le + réseau codés en base64. La chaîne est envoyée, que le mandataire en + ait besoin ou non (qu'il ait renvoyé un code "407 proxy + authentication needed" ou non).
+ +
-q
+
Lorsque plus de 150 requêtes sont traitées, ab + affiche la progression du traitement sur stderr tous + les 10% du nombre total ou toutes les 100 requêtes. Le drapeau + -q permet de supprimer ces messages.
+ +
-r
+
Ne s'arrête pas en cas d'erreur de réception du socket.
+ +
-s timeout
+
Temps maximum d'attente en secondes du socket avant de considérer + le délai comme dépassé. La valeur par défaut est de 30 secondes.
+ Disponible à partir de la version 2.4.4 du serveur HTTP + Apache.
+ +
-S
+
N'affiche ni les valeurs de déviation standards et médianes, ni + les messages d'erreur et d'avertissement lorsque les valeurs + médianes et moyennes sont égales à une ou deux fois la valeur de + déviation standard. Par défaut les valeurs mini/moyenne/maxi sont + affichées (support de l'héritage).
+ + +
-t limite-durée
+
Durée maximale en secondes du test de performances. Ceci + implique un -n 50000 en interne. Utilisez cette option + si vous souhaitez tester les performances du serveur pendant une + durée fixée à l'avance. Par défaut, il n'y a pas de limite de + durée.
+ +
-T type-contenu
+
Valeur de l'en-tête Content-type à utiliser pour les données + POST/PUT, par exemple + application/x-www-form-urlencoded. + La valeur par défaut est text/plain.
+ +
-u fichier PUT
+
Fichier contenant des données PUT. Ne pas oublier de spécifier + aussi -T.
+ +
-v verbosité
+
Définit le niveau de verbosité - les niveaux 4 et + supérieurs permettent d'afficher des informations à propos des + en-têtes, les niveaux 3 et supérieurs les codes de + réponse (404, 200, etc...), et les niveaux 2 et + supérieurs les messages d'avertissement et d'information.
+ +
-V
+
Affiche le numéro de version et s'arrête.
+ +
-w
+
Affiche les résultats dans des tables HTML. La table par défaut + comporte deux colonnes sur fond blanc.
+ +
-x <table>-attributs
+
La chaîne à utiliser comme attributs pour + <table>. Les attributs sont insérés + <table ici >.
+ +
-X mandataire[:port]
+
Utilise un serveur mandataire pour les requêtes.
+ +
-y <tr>-attributs
+
La chaîne à utiliser comme attributs pour + <tr>.
+ +
-z <td>-attributs
+
La chaîne à utiliser comme attributs pour + <td>.
+ +
-Z algorithme-chiffrement
+
Spécifie l'algorithme de chiffrement SSL/TLS (Voir les + algorithme de chiffrement openssl).
+
+
top
+
+

Sortie

+

Vous touverez dans ce qui suit la liste des valeurs retournées + par ab : +

+ +
+
Server Software
+
La valeur, si elle existe, de l'en-tête HTTP + server renvoyée dans la première réponse réussie. + Elle comporte tous les caractères de l'en-tête jusqu'à ce qu'un + caractère de valeur décimale 32 soit rencontré (le plus souvent + un espace ou une fin de ligne).
+ +
Server Hostname
+
Le nom DNS ou l'adresse IP fourni dans la ligne de commande.
+ +
Server Port
+
Le port auquel ab est connecté. Si la ligne de commande ne + spécifie aucun port, le port par défaut sera 80 pour http et 443 + pour https.
+ +
SSL/TLS Protocol
+
Les paramètres de protocole négociés entre le client et le + serveur. Uniquement si SSL est utilisé.
+ +
Document Path
+
L'URI de la requête interprété à partir de la chaîne de la + ligne de commande.
+ +
Document Length
+
Il s'agit de la taille en octets du premier document renvoyé + avec succès. Si la taille du document est modifiée au cours + du test, la réponse est considérée comme une erreur.
+ +
Concurrency Level
+
Le nombre de clients simultanés utilisés au cours du test.
+ +
Time taken for tests
+
Il s'agit du temps écoulé entre le moment de la première + connexion au socket et la réception de la dernière + réponse.
+ +
Complete requests
+
Le nombre de réponses reçues avec succès.
+ +
Failed requests
+
Le nombre de requêtes considérées comme erronées. Si ce + nombre est différent de 0, une ligne supplémentaire indiquera le + nombre de requêtes ayant échoué suite à un problème de + connexion, de lecture, de taille de contenu erronée ou + d'exceptions.
+ +
Write errors
+
Le nombre d'erreurs rencontrées en cours d'écriture (broken pipe).
+ +
Non-2xx responses
+
Le nombre de réponses dont le code était en dehors de la + série 200. Si toutes les réponses appartiennent à la série 200, + cette ligne est absente.
+ +
Keep-Alive requests
+
Le nombre de connexions promues à l'état de connexions + persistantes.
+ +
Total body sent
+
Si le test a été configuré dans ce sens, il s'agit du nombre + total d'octets envoyés au cours du test. Ce champ est omis si le + test ne prévoyait pas d'envoi de corps.
+ +
Total transferred
+
Le nombre total d'octets reçus du serveur. Ce nombre + correspond à peu près au nombre d'octets envoyés sur la ligne.
+ +
HTML transferred
+
Le nombre total d'octets utiles (contenus) reçus du serveur. + Ce nombre n'inclut pas les octets correspondant aux en-têtes + HTTP.
+ +
Requests per second
+
Il s'agit du nombre de requêtes par seconde. Il correspond + au nombre de requêtes divisé par la durée totale du traitement.
+ +
Time per request
+
La durée moyenne du traitement d'une requête. La première + valeur est calculée selon la formule concurrency * + timetaken * 1000 / done, alors que la seconde valeur est + calculée selon la formule timetaken * 1000 / done.
+ +
Transfer rate
+
Le taux de transfert calculé selon la formule + totalread / 1024 / timetaken.
+
+
top
+
+

Bogues

+

De nombreux tampons de taille fixe sont déclarés statiquement. + Combiné avec l'interprétation poussive des arguments de la ligne de + commande, les en-têtes de réponse du serveur et autres entrées + externes, ceci peut vous affecter.

+ +

HTTP/1.x n'est pas complètement implémenté ; seules certaines + formes de réponses 'attendues' sont acceptées. L'utilisation + relativement intense de strstr(3) provoque un affichage + en tête de profil, ce qui peut faire croire à un problème de + performances ; en d'autres termes, vous mesurez les performances de + ab plutôt que celles du serveur.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apachectl.html.fr b/docs/manual/programs/apachectl.html.fr new file mode 100644 index 0000000000..8bf5be65e8 --- /dev/null +++ b/docs/manual/programs/apachectl.html.fr @@ -0,0 +1,202 @@ + + + + + +apachectl - L'interface de contrôle du serveur HTTP + Apache - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

apachectl - L'interface de contrôle du serveur HTTP + Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

apachectl est un frontal pour le serveur HTTP + Apache. Il a été conçu pour aider l'administrateur à contrôler le + fonctionnement du démon Apache httpd.

+ +

Le script apachectl possède deux modes de + fonctionnement. Il peut fonctionner en tant que simple frontal + de la commande httpd et ne fait alors que + définir toute variable d'environnement nécessaire, puis invoque + httpd en lui passant tout argument de ligne de + commande souhaité. Il peut aussi fonctionner en tant que script + d'initialisation SysV n'acceptant qu'un seul argument tel que + start, restart et stop, et + traduisant ce dernier en signaux appropriés pour le démon + httpd.

+ +

Si votre installation d'Apache utilise des chemins non + standards, vous devrez éditer le script apachectl afin + de définir les chemins appropriés pour le binaire + httpd. Vous pouvez aussi spécifier tout argument + de ligne de commande de httpd nécessaire. Voir + les commentaires dans le script pour plus de détails.

+ +

Le script apachectl renvoie une valeur égale à 0 en + cas de succès, et une valeur supérieure à 0 en cas de problème. + Voir les commentaires dans le script pour plus de détails.

+
+ +
top
+
+

Résumé

+ +

En mode frontal (pass-through), apachectl peut spécifier +tous les arguments qu'accepte le binaire httpd.

+ +

apachectl [ argument-httpd ]

+ +

En mode script d'initialisation SysV, apachectl +n'accepte qu'un seul des arguments définis ci-dessous.

+ +

apachectl commande

+ +
top
+
+

Options

+ +

Seules les options du style initialisation SysV sont décrites ici. +Les autres arguments sont décrits dans la page de manuel de +httpd.

+ +
+ +
start
+ +
Démarre le démon Apache httpd. Renvoie une erreur +s'il est déjà en cours d'exécution. Équivalent à apachectl -k +start.
+ +
stop
+ +
Arrête le démon Apache httpd. Équivalent à +apachectl -k stop.
+ +
restart
+ +
Redémarre le démon Apache httpd. Si le démon +n'est pas en cours d'exécution, il est démarré. Cette option vérifie +automatiquement les fichiers de configuration (de la même manière que +l'option configtest ) avant de lancer le redémarrage, afin +d'être sûr que le fonctionnement du démon ne sera pas compromis. +Equivalent à apachectl -k restart.
+ +
fullstatus
+ +
Affiche le rapport d'état complet du module +mod_status. Pour que ceci fonctionne, +mod_status doit être activé dans votre serveur et vous +devez disposer d'un navigateur en mode texte tel que lynx +sur votre système. L'URL utilisée pour accéder au rapport d'état peut +être modifiée en définissant la variable STATUSURL dans le +script.
+ +
status
+ +
Affiche un rapport d'état succinct. Similaire à l'option +fullstatus, excepté que la liste des requêtes en cours de +traitement est omise.
+ +
graceful
+ +
Redémarre le démon Apache httpd en douceur. Si le +démon n'est pas en cours d'exécution, il est démarré. À la différence +d'un redémarrage normal, les connexions en cours ne sont pas fermées. +Comme effet de bord, les anciens fichiers journaux ne seront pas fermés +immédiatement. Cela signifie que si l'on utilise un script de rotation +des journaux, un délai suffisant sera nécessaire afin d'être sûr que les +fichiers journaux seront bien fermés avant leur traitement par le script +de rotation. Cette option vérifie +automatiquement les fichiers de configuration (de la même manière que +l'option configtest ) avant de lancer le redémarrage, afin +d'être sûr que le fonctionnement du démon ne sera pas compromis. +Équivalent à apachectl -k graceful.
+ +
graceful-stop
+ +
Arrête le démon Apache httpd en douceur. À la +différence d'un arrêt normal, les connexions en cours ne sont pas +fermées. Comme effet de bord, les anciens fichiers journaux ne seront +pas fermés immédiatement. Équivalent à apachectl -k +graceful-stop.
+ +
configtest
+ +
Effectue une vérification de la syntaxe du fichier de configuration. +Avec cette option, le script parcourt le fichier de configuration et +renvoie soit Syntax Ok, soit des informations détaillées à +propos des éventuelles erreurs de syntaxe. Equivalent à apachectl +-t.
+ +
+ +

Les options suivantes étaient disponibles dans les anciennes versions +et ont été supprimées.

+ +
+ +
startssl
+ +
Pour démarrer httpd avec le support SSL, vous +devez éditer votre fichier de configuration et y inclure les +directives appropriées, puis utiliser la commande de démarrage normale +apachectl start.
+ +
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/apxs.html.fr b/docs/manual/programs/apxs.html.fr new file mode 100644 index 0000000000..a71b1e64fb --- /dev/null +++ b/docs/manual/programs/apxs.html.fr @@ -0,0 +1,395 @@ + + + + + +apxs - Utilitaire pour les extensions d'Apache - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

apxs - Utilitaire pour les extensions d'Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

apxs est un utilitaire permettant de compiler et + d'installer des modules en tant qu'extensions du serveur HTTP + Apache. A cet effet, un objet dynamique partagé (DSO) est compilé à + partir d'un ou plusieurs fichiers sources ou objets et + peut être chargé pendant l'exécution du serveur Apache via la + directive LoadModule du + module mod_so.

+ +

Pour pouvoir utiliser ce mécanisme d'extensions, votre + plate-forme doit supporter la fonctionnalité DSO, et votre binaire + httpd Apache doit être compilé avec le module + mod_so. Si ce n'est pas le cas, l'utilitaire + apxs vous le signalera. Vous pouvez aussi vérifier + vous-même ces prérequis en exécutant manuellement la commande :

+ +

+ $ httpd -l +

+ +

Le module mod_so doit faire partie de la liste + des modules affichée. Si ces prérequis sont présents, vous pouvez + facilement étendre les fonctionnalités de votre serveur Apache en + installant vos propres modules à l'aide de l'utilitaire + apxs, via le mécanisme DSO :

+ +

+ $ apxs -i -a -c mod_foo.c
+ gcc -fpic -DSHARED_MODULE -I/chemin/vers/apache/include -c mod_foo.c
+ ld -Bshareable -o mod_foo.so mod_foo.o
+ cp mod_foo.so /chemin/vers/apache/modules/mod_foo.so
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so
+ [activation du module `foo' dans /chemin/vers/apache/etc/httpd.conf]
+ $ apachectl restart
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /chemin/vers/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +

Les arguments fichiers peuvent correspondre à un + fichier source C (.c), un fichier objet (.o) ou même une archive de + bibliothèques (.a). L'utilitaire apxs reconnaît + automatiquement ces extensions et utilise automatiquement les + fichiers source C pour la compilation, et les fichiers objets et + archives pour l'édition de liens. Cependant, si vous utilisez des + fichiers objets précompilés, assurez-vous que leur code soit + indépendant de la position (PIC), afin de pouvoir les utiliser avec + un objet partagé chargé dynamiquement. Avec GCC, par exemple, il + vous suffit de toujours utiliser l'option de compilation + -fpic. Pour les autres compilateurs C, consultez leur + page de manuel, ou vérifiez les drapeaux qu'apxs + utilise pour compiler les fichiers objets.

+ +

Pour plus de détails à propos du support DSO dans Apache, lire la + documentation du module mod_so, ou même, consultez + le fichier source src/modules/standard/mod_so.c.

+
+ +
top
+
+

Syntaxe

+

apxs -g + [ -S nom=valeur ] + -n nom-module

+ +

apxs -q + [ -v ] + [ -S nom=valeur ] + requête ...

+ +

apxs -c + [ -S nom=valeur ] + [ -o fichier-dso ] + [ -I répertoire-inc ] + [ -D nom=valeur ] + [ -L répertoire-lib ] + [ -l nom-bibliothèque ] + [ -Wc,options-compilation ] + [ -Wl,options-edition-liens ] + fichiers ...

+ +

apxs -i + [ -S nom=valeur ] + [ -n nom-module ] + [ -a ] + [ -A ] + fichier-dso ...

+ +

apxs -e + [ -S nom=valeur ] + [ -n nom-module ] + [ -a ] + [ -A ] + fichier-dso ...

+
top
+
+

Options

+

Options courantes

+
+
-n nom-module
+
Définit explicitement le nom du module pour les options + -i (install) et -g (génération de + modèles). Utilisez cette option pour spécifier de manière + explicite le nom du module. Pour l'option -g, cette + option est nécessaire ; pour l'option -i, + l'utilitaire apxs tente de déterminer le nom du + module à partir des sources, ou (à défaut) en le déduisant du nom + de fichier.
+
+ + +

Options de requête

+
+
-q
+
Effectue une requête à propos des variables et de + l'environnement utilisés pour compiler httpd. + Lorsqu'elle est invoquée sans paramètre requête, cette + option affiche toutes les variables connues, ainsi que leurs + valeurs. Le paramètre optionnel -v formate la liste + affichée. + +

Utilisez cette option pour déterminer manuellement les options + utilisées pour compiler le binaire httpd qui chargera + votre module. Ajoutez par exemple

+

+ INC=-I`apxs -q INCLUDEDIR` +

+ +

dans vos propres Makefiles si vous devez accéder manuellement + aux fichiers d'en-têtes C d'Apache.

+
+ + +

Options de configuration

+
+
-S nom=valeur
+
Cette option permet de modifier la configuration d'apxs + décrite ci-dessus.
+
+ + +

Option de génération des + modèles

+
+
-g
+
Cette option permet de générer un sous-répertoire + nom (voir option -n) contenant deux + fichiers : le premier fichier est un exemple de fichier source de + module nommé mod_nom.c que l'on peut + utiliser comme modèle pour créer ses propres modules, ou comme + point de départ pour se familiariser avec le mécanisme apxs ; le + second fichier est le Makefile correspondant + facilitant la compilation et l'installation de ce module.
+
+ +

Options de compilation DSO

+
+
-c
+
Cette option indique une opération de compilation. Tout + d'abord, les fichiers sources (.c) spécifiés par + fichiers sont compilés en fichiers objets + correspondants (.o), puis un objet dynamiquement partagé + fichier-dso est compilé via une édition de liens de ces + fichiers objets avec les autres fichiers objets (.o and .a) + spécifiés par fichiers. Si l'option -o + n'est pas spécifiée, le nom du fichier résultant est déduit du + premier nom de fichier spécifié par fichiers, et ainsi + prend en général pour valeur par défaut + mod_nom.so.
+ +
-o fichier-dso
+
Spécifie de manière explicite le nom de fichier de l'objet + partagé dynamiquement créé. Sans cette option, et si le nom ne + peut pas être déduit de la liste fichiers, c'est le nom + par défaut mod_unknown.so qui sera utilisé.
+ +
-D nom=valeur
+
Cette option est transmise directement à la commande de + compilation. Vous pouvez l'utiliser pour ajouter vos propres + définitions au processus de compilation.
+ +
-I répertoire-inc
+
Cette option est transmise directement à la commande de + compilation. Vous pouvez l'utiliser pour ajouter vos propres + chemins de recherche des répertoires include au processus de + compilation.
+ +
-L répertoire-lib
+
Cette option est transmise directement à la commande d'édition + de liens. Vous pouvez l'utiliser pour ajouter vos propres + chemins de recherche des répertoires de bibliothèques au processus + de compilation.
+ +
-l nom-bibliothèque
+
Cette option est transmise directement à la commande d'édition + de liens. Vous pouvez l'utiliser pour ajouter vos propres + bibliothèques à rechercher au processus de compilation.
+ +
-Wc,options-compilation
+
Cette option transmet les options-compilation en + tant qu'options supplémentaires à la commande libtool + --mode=compile. Vous pouvez l'utiliser pour ajouter des + options locales spécifiques au compilateur.
+ +
-Wl,options-edition-liens
+
Cette option transmet les options-edition-liens en + tant qu'options supplémentaires à la commande libtool + --mode=link. Vous pouvez l'utiliser pour ajouter des + options locales spécifiques à l'éditeur de liens.
+ +
-p
+
Avec cette option, apxs effectue l'édition de liens avec les + bibliothèques apr/apr-util. Elle permet de compiler les programmes + helper qui utilisent les bibliothèques apr/apr-util.
+
+ + +

Options d'installation et de configuration DSO

+ +
+
-i
+
Cette option indique une opération d'installation et installe + un ou plusieurs objets dynamiquement partagés dans le répertoire + modules du serveur.
+ +
-a
+
Cette option active le module en ajoutant automatiquement une + directive LoadModule + correspondante au fichier de configuration d'Apache + httpd.conf, ou en l'activant s'il existe déjà.
+ +
-A
+
Identique à l'option -a, à la différence que la + directive LoadModule créée + est préfixée par un caractère dièse (#) ; le module + est ainsi préparé pour une activation ultérieure, mais est + désactivé dans un premier temps.
+ +
-e
+
Cette option indique une opération d'édition de liens et peut + être utilisée avec les options -a et -A + de la même manière qu'au cours de l'opération d'installation pour + éditer le fichier de configuration d'Apache + httpd.conf, sans toutefois installer le module.
+
+ +
top
+
+

Exemples

+

Supposons que vous disposiez d'un module Apache nommé + mod_foo.c et destiné à étendre les fonctionnalités du + serveur. Pour ce faire, vous devez tout d'abord compiler le fichier + source C en un objet partagé pouvant être chargé dans le serveur + Apache à l'exécution, via la commande suivante :

+ +

+ $ apxs -c mod_foo.c
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ $ _ +

+ +

Vous devez ensuite vérifier la configuration d'Apache en vous + assurant qu'une directive LoadModule est bien présente pour + charger cet objet partagé. Pour simplifier cette étape, + apxs propose une méthode automatique d'installation de + l'objet partagé dans son répertoire "modules", et de mise à jour du + fichier httpd.conf en conséquence. Pour bénéficier de + cette automatisation, utilisez la commande suivante :

+ +

+ $ apxs -i -a mod_foo.la
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules + ... + chmod 755 /chemin/vers/apache/modules/mod_foo.so
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]
+ $ _ +

+ +

Une ligne contenant

+ +

+ LoadModule foo_module modules/mod_foo.so +

+ +

est alors ajoutée au fichier de configuration si ce n'est pas + déjà fait. Si vous voulez que le module soit désactivé par défaut, + utilisez l'option -A comme suit :

+ +

+ $ apxs -i -A mod_foo.c +

+ +

Pour un test rapide du mécanisme apxs, vous pouvez créer un + exemple de modèle de module Apache, ainsi que le Makefile + correspondant via :

+ +

+ $ apxs -g -n foo
+ Creating [DIR] foo
+ Creating [FILE] foo/Makefile
+ Creating [FILE] foo/modules.mk
+ Creating [FILE] foo/mod_foo.c
+ Creating [FILE] foo/.deps
+ $ _ +

+ +

Vous pouvez ensuite compiler immédiatement ce module exemple en + objet partagé et le charger dans le serveur Apache :

+ +

+ $ cd foo
+ $ make all reload
+ apxs -c mod_foo.c
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
+ apxs -i -a -n "foo" mod_foo.la
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules + ... + chmod 755 /chemin/vers/apache/modules/mod_foo.so
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]
+ apachectl restart
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
+ /chemin/vers/apache/sbin/apachectl restart: httpd started
+ $ _ +

+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/configure.html.fr b/docs/manual/programs/configure.html.fr new file mode 100644 index 0000000000..417ff3da83 --- /dev/null +++ b/docs/manual/programs/configure.html.fr @@ -0,0 +1,790 @@ + + + + + +configure - Configure l'arborescence des sources - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

configure - Configure l'arborescence des sources

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

Le script configure permet de configurer + l'arborescence des sources afin de compiler et installer le serveur + HTTP Apache sur votre plate-forme spécifique. De nombreuses options + vous permettent de compiler un serveur correspondant à vos propres + besoins.

+ +

Ce script, situé dans le répertoire racine de la distribution des + sources, ne concerne que la compilation sur les systèmes Unix et + apparentés. Pour les autres plates-formes, voir la documentation spécifique de ces + dernières.

+
+ +
top
+
+

Résumé

+

Vous devez appeler le script configure depuis le + répertoire racine de la distribution.

+ +

./configure [OPTION]... + [VARIABLE=VALEUR]...

+ +

Pour définir des variables d'environnement (par exemple + CC,CFLAGS, etc...), utilisez la clause + VARIABLE=VALEUR. Voir ci-dessous pour la description de quelques variables + usuelles.

+
top
+
+

Options

+ + +

Options de Configuration

+ +

Les options suivantes affectent le comportement du script + configure.

+ +
+
-C
+
--config-cache
+
C'est un alias pour --cache-file=config.cache
+ +
--cache-file=FICHIER
+
Les résultats des tests seront mis en cache dans le fichier + FICHIER. Cette option est désactivée par défaut.
+ +
-h
+
--help [short|recursive]
+
Affichage de l'aide et sortie du script. Avec l'argument + short, seules les options spécifiques à ce paquet + seront affichées. L'argument recursive permet + d'afficher l'aide de tous les paquets inclus.
+ +
-n
+
--no-create
+
Le script configure s'exécute normalement, mais + ne crée pas les fichiers résultants. Ceci permet de vérifier les + résultats des tests avant de générer les fichiers makefile pour la + compilation.
+ +
-q
+
--quiet
+
Les messages checking ... ne sont pas affichés au + cours du processus de configuration.
+ +
--srcdir=DIR
+
Définit le répertoire DIR comme répertoire des + fichiers sources. Par défaut, c'est le répertoire où se situe le + script configure, ou le répertoire parent.
+ +
--silent
+
Identique à --quiet
+ +
-V
+
--version
+
Affichage des informations de copyright et sortie du + script.
+
+ + +

Répertoires + d'installation

+ +

Ces options permettent de spécifier le répertoire d'installation. + L'arborescence de l'installation dépend de l'organisation (layout) + sélectionnée.

+ +
+
--prefix=PREFIX
+
Installe les fichiers indépendants de l'architecture dans + PREFIX. Par défaut, le répertoire d'installation est + /usr/local/apache2.
+ +
--exec-prefix=EPREFIX
+
Installe les fichiers dépendants de l'architecture dans + EPREFIX. La valeur par défaut de cette option + correspond à la valeur de la variable + PREFIX.
+
+ +

Par défaut, make install va installer tous les + fichiers dans /usr/local/apache2/bin, + /usr/local/apache2/lib, etc... Vous pouvez cependant + spécifier un préfixe d'installation autre que + /usr/local/apache2 en utilisant l'option + --prefix (par exemple --prefix=$HOME).

+ +

Spécifier une organisation (layout) des + répertoires

+
+
--enable-layout=LAYOUT
+
Configure le code source et les scripts de compilation de + façon à ce que l'arborescence d'installation adopte + l'organisation LAYOUT. Ceci vous permet de spécifier + des chemins séparés pour chaque type de fichier de + l'installation du serveur HTTP Apache. Le fichier + config.layout contient de nombreux exemples de + configurations, et vous pouvez créer vos propres configurations + personnalisées en vous basant sur ces exemples. Les différentes + organisations contenues dans ce fichier sont enregistrées sous + forme de sections <Layout + FOO>...</Layout> et référencées dans ce cas par + le nom FOO. L'organisation par défaut + est Apache.
+
+ + +

Configuration avancée des + répertoires d'installation

+ +

Pour une définition plus précise des répertoires + d'installation, utilisez les options ci-dessous. Notez que les + répertoires par défaut sont définis par autoconf, et + que leurs valeurs sont écrasées par les valeurs correspondantes + définies lors du choix de l'organisation des répertoires + (layout).

+ +
+
--bindir=DIR
+
Installe les exécutables utilisateur dans DIR. + Les exécutables utilisateur sont des programmes support comme + htpasswd, dbmmanage, + etc..., et destinés aux administrateurs du site. Par défaut, + DIR est défini à + EPREFIX/bin.
+ +
--datadir=DIR
+
Installe les données non modifiables indépendantes de + l'architecture dans DIR. Par défaut, + datadir est défini à + PREFIX/share. Cette option est fournie + par autoconf et actuellement inutilisée.
+ +
--includedir=DIR
+
Installe les fichiers d'en-têtes C dans DIR. Par + défaut, includedir est défini à + EPREFIX/include.
+ +
--infodir=DIR
+
Installe la documentation info dans DIR. Par + défaut, infodir est défini à + PREFIX/info. Cette option est + actuellement inutilisée.
+ +
--libdir=DIR
+
Installe les fichiers objet des bibliothèques dans + DIR. Par défaut, libdir est défini à + EPREFIX/lib.
+ +
--libexecdir=DIR
+
Installe les exécutables du programme (autrement dit les + modules partagés) dans DIR. Par défaut, + libexecdir est défini à + EPREFIX/modules.
+ +
--localstatedir=DIR
+
Installe les données temporaires modifiables spécifiques à + la machine dans + DIR. Par défaut, localstatedir est + défini à PREFIX/var. Cette option est + fournie par autoconf et est actuellement + inutilisée.
+ +
--mandir=DIR
+
Installe les pages de manuel dans DIR. Par + défaut, mandir est défini à + EPREFIX/man.
+ +
--oldincludedir=DIR
+
Installe les fichiers d'en-têtes C pour les programmes + autres que gcc dans DIR. Par défaut, + oldincludedir est défini à + /usr/include. Cette option est fournie par + autoconf et est actuellement inutilisée.
+ +
--sbindir=DIR
+
Installe les exécutables de l'administrateur système dans + DIR. Ce sont les programmes du serveur comme + httpd, apachectl, + suexec, etc..., qui sont nécessaires à + l'exécution du serveur HTTP Apache. Par défaut, + sbindir est défini à + EPREFIX/sbin.
+ +
--sharedstatedir=DIR
+
Installe les données modifiables indépendantes de + l'architecture dans DIR. Par défaut, + sharedstatedir est défini à + PREFIX/com. Cette option est fournie par + autoconf et est actuellement inutilisée.
+ +
--sysconfdir=DIR
+
Installe les données non modifiables spécifiques à la + machine comme les fichiers de configuration du serveur + httpd.conf, mime.types, etc... dans + DIR. Par défaut, sysconfdir est défini à + PREFIX/conf.
+
+ + + +

Types de systèmes

+ +

Ces options sont utilisées pour la cross-compilation du serveur + HTTP Apache afin de pouvoir l'utiliser sur un autre système. Dans le + cas général où la compilation et l'exécution du serveur ont lieu sur + le même système, ces options ne sont pas utilisées.

+ +
+
--build=BUILD
+
Définit le type du système sur lequel les outils sont + compilés. Par défaut, il s'agit de la chaîne renvoyée par le + script config.guess.
+ +
--host=HOST
+
Définit le type du système sur lequel le serveur s'exécutera. + Par défaut, HOST est identique à BUILD.
+ +
--target=TARGET
+
Configure pour construire des compilateurs pour le type de + système TARGET. Par défaut, TARGET est + identique à HOST. Cette option est fournie par + autoconf et n'est pas requise par le serveur HTTP + Apache.
+
+ + +

Fonctionnalités + optionnelles

+ +

Ces options vous permettent de configurer avec précision les + fonctionnalités de votre futur serveur HTTP.

+ +

Syntaxe générale

+

D'une manière générale, vous pouvez utiliser la syntaxe + suivante pour activer ou désactiver une fonctionnalité :

+ +
+
--disable-FONCTIONNALITE
+
Désactive la fonctionnalité FONCTIONNALITE. + Identique à + --enable-FONCTIONNALITE=no.
+ +
--enable-FONCTIONNALITE[=ARG]
+
Active la fonctionnalité FONCTIONNALITE. La + valeur par défaut de ARG est yes.
+ +
--enable-MODULE=shared
+
Le module spécifié sera compilé en tant que module DSO. Par + défaut, les modules activés sont liés dynamiquement.
+ +
--enable-MODULE=static
+
Le module correspondant sera lié statiquement.
+
+ +

Note

+ Si vous spécifiez --enable-foo, et si + foo n'existe pas, configure ne le + signalera pas ; vous devez donc prendre soin de taper les + options correctement. +
+ + +

Choix des modules à compiler

+

La plupart des modules sont compilés par défaut et ils doivent être + désactivés de manière explicite ou via le mots-clé few (voir + ci-dessous --enable-modules, + --enable-mods-shared et --enable-mods-static + pour une explication plus détaillée), ou + --enable-modules=none pour les désactiver tous.

+ +

Par défaut, les autres modules ne sont pas compilés et doivent + être activés explicitement, ou en utilisant les mots-clés + all ou reallyall pour être disponibles.

+ +

Pour déterminer quels modules sont compilés par défaut, + exécutez la commande ./configure -h ou + ./configure --help, et consultez les Optional + Features. Par exemple, supposons que vous soyez intéressé + par les modules mod_example1 et + mod_example2, et que vous voyiez ceci :

+ +
Optional Features:
+  ...
+  --disable-example1     example module 1
+  --enable-example2      example module 2
+  ...
+ +

Le module mod_example1 est ici activé par + défaut, et vous devez spécifier --disable-example1 + si vous ne voulez pas le compiler. Par contre, le module + mod_example2 est désactivé par défaut, et vous + devez spécifier --enable-example2 si vous voulez le + compiler.

+ + + +

Modules Multi-Processus

+

Les Modules Multi-Processus, ou MPMs, + constituent le coeur du serveur. Un seul MPM doit être actif pour + que le serveur puisse fonctionner. Vous trouverez la liste des + MPMs disponibles à module index page.

+ +

Les MPMs peuvent être compilés en tant que modules DSO pour un + chargement dynamique, ou liés statiquement avec le serveur, et + sont activés via les options suivantes :

+ +
+
--with-mpm=MPM
+
+

Sélectionne le MPM par défaut pour votre serveur. Si les + MPMs sont compilés en tant que modules DSO (voir + --enable-mpms-shared), cette option spécifie le + MPM qui sera chargé par défaut selon le fichier de + configuration. Dans le cas contraire, cette option spécifie le + seul MPM disponible qui sera lié statiquement avec le + serveur.

+

Si cette option est omise, c'est le MPM par défaut pour votre + système d'exploitation qui sera utilisé.

+
+ +
--enable-mpms-shared=Liste de MPM
+
+

Définit une liste de MPMs à compiler en tant que modules + dynamiquement partagés (DSO). Un de ces modules doit être + chargé dynamiquement via la directive LoadModule.

+

Liste de MPM est une liste, entourée + d'apostrophes, de noms de MPM séparés par des espaces. Par + exemple :

+

+ --enable-mpms-shared='prefork worker' +

+

Vous pouvez aussi utiliser le mot-clé all, ce + qui aura pour effet de spécifier tous les MPMs qui supportent + le chargement dynamique sur la plate-forme considérée, et de + les compiler en tant que modules DSO. Par exemple :

+

+ --enable-mpms-shared=all +

+
+
+ + +

Modules tiers

+

Pour ajouter des modules tiers, utilisez les options suivantes + :

+ +
+
--with-module=type-module:fichier-module[, + type-module:fichier-module]
+

Ajoute un ou plusieurs modules tiers à la liste des + modules liés statiquement. Le fichier source du module + fichier-module sera recherché dans le sous-répertoire + type-module de l'arborescence des sources de votre + serveur HTTP Apache. S'il ne l'y trouve pas, + configure considèrera fichier-module + comme un chemin de fichier absolu et essaiera de copier le + fichier source dans le sous-répertoire type-module. + Si ce sous-répertoire n'existe pas, il sera créé et un fichier + Makefile.in standard y sera enregistré.

+

Cette option est conçue pour ajouter de petits modules + externes ne comportant qu'un seul fichier source. Pour des + modules plus complexes, vous devrez lire la documentation du + fournisseur du module.

+

Note

+ Si vous voulez compiler un module DSO (lié de manière + dynamique au lieu de statique), utilisez le programme + apxs.
+
+ +
+ + +

Options cumulatives et autres + options

+
+
--enable-maintainer-mode
+
Active les avertissements de débogage et de compilation et + charge tous les modules compilés.
+ +
--enable-mods-shared=LISTE-MODULES
+
+

Définit une liste de modules à activer et à compiler en + tant que modules dynamiques partagés. Cela signifie que ces + modules doivent être chargés dynamiquement en utilisant la + directive LoadModule.

+

LISTE-MODULES est une liste, entourée + d'apostrophes, de noms de modules + séparés par des espaces. Les noms + des modules sont spécifiés sans le préfixe mod_. + Par exemple :

+

+ --enable-mods-shared='headers rewrite dav' +

+

Vous pouvez aussi utiliser les mots-clés reallyall, + all, most et few. Par + exemple,

+

+ --enable-mods-shared=most +

+

va compiler la plupart des modules en tant que modules DSO,

+

+ --enable-mods-shared=few +

+

ne compilera qu'un jeu de modules de base.

+

Le jeu par défaut correspond au mot-clé most.

+ +

Les directives LoadModule correspondant aux + différents modules choisis sont automatiquement générées dans + le fichier de configuration principal. Par défaut, toutes ces + directives sont mises en commentaire, sauf pour les modules + requis ou ceux explicitement sélectionnés par un argument + --enable-nom-module du script configure. Vous + pouvez modifier le jeu de modules chargé en activant ou + désactivant les directives LoadModule dans le fichier + httpd.conf. En outre, les directives LoadModule peuvent être activées + pour tous les modules compilés via l'option + --enable-load-all-modules du script configure.

+ +
+ +
--enable-mods-static=MODULE-LIST
+
Cette option produit le même effet que l'option + --enable-mods-shared, à l'exception que les modules + seront liés statiquement. Cela signifie que les modules + spécifiés seront toujours disponibles au cours du fonctionnement + de httpd. Ils n'ont pas besoin d'être chargés + via la directive LoadModule.
+ +
--enable-modules=MODULE-LIST
+
Cette option se comporte comme + --enable-mods-shared, et va aussi lier les modules + concernés dynamiquement. Le mot-clé spécial none + désactive la compilation de tous les modules.
+ +
--enable-v4-mapped
+
Permet aux sockets IPv6 de traiter les connexions IPv4.
+ +
--with-port=PORT
+
Permet de définir le port que le programme + httpd va écouter. Ce numéro de port est + utilisé lors de la génération du fichier de configuration + httpd.conf. Sa valeur par défaut est 80.
+ +
--with-program-name
+
Permet de définir un nom d'exécutable alternatif. Le nom par + défaut est httpd.
+
+ + + +

Paquets optionnels

+

Ces options permettent de définir des paquets optionnels.

+ +

Syntaxe générale

+

D'une manière générale, vous pouvez utiliser la syntaxe + suivante pour définir un paquet optionnel :

+ +
+
--with-PAQUET[=ARG]
+
Utilise le paquet PAQUET. La valeur par défaut de + ARG est yes.
+ +
--without-PAQUET
+
N'utilise pas le paquet PAQUET. Cette option est + identique à --with-PAQUET=no. Elle est + fournie par autoconf mais n'est pas très utile pour + le serveur HTTP Apache.
+
+ + + + +

Paquets spécifiques

+
+
--with-apr=REP|FICHIER
+
La Bibliothèque pour la portabilité + d'Apache ou + Apache Portable Runtime (APR) fait partie de la + distribution des sources de httpd et est compilée + automatiquement avec le serveur HTTP. Si vous voulez utiliser + une APR déjà installée à la place, vous devez indiquer à + configure le chemin du script + apr-config. Vous pouvez spécifier le chemin absolu + et le nom ou le répertoire d'installation de l'APR. + apr-config doit se trouver dans ce répertoire ou + dans le sous-repertoire bin.
+ +
--with-apr-util=REP|FICHIER
+
Les utilitaires pour la Bibliothèque pour la portabilité + d'Apache ou Apache Portable Runtime Utilities (APU) font partie de la + distribution des sources de httpd et sont compilés + automatiquement avec le serveur HTTP. Si vous voulez utiliser + des APU déjà installés à la place, vous devez indiquer à + configure le chemin du script + apu-config. Vous pouvez spécifier le chemin absolu + et le nom ou le répertoire d'installation des APU. + apu-config doit se trouver dans ce répertoire ou + dans le sous-repertoire bin.
+ +
--with-ssl=REP
+
Si mod_ssl a été activé, + configure recherche une installation d'OpenSSL. + Vous pouvez définir le répertoire de la boîte à outils SSL/TLS à + la place.
+ +
--with-z=REP
+
configure recherche automatiquement une + bibliothèque zlib installée si la configuration de + vos sources en nécessite une (par exemple lorsque + mod_deflate est activé). Vous pouvez définir le + répertoire de la bibliothèque de compression à la place.
+
+ +

De nombreuses fonctionnalités du serveur HTTP Apache, y compris + les directives RewriteMap DBM de + mod_rewrite et mod_authn_dbm + utilisent une base de données simple + de la forme clé/valeur pour une recherche rapide d'informations. + SDBM, inclus dans les APU, est donc toujours disponible. Si vous + souhaitez utiliser d'autres types de bases de données, utilisez + les options suivantes afin de les activer :

+ +
+
--with-gdbm[=chemin]
+
Si aucun chemin n'est spécifié, + configure va rechercher les fichiers d'en-têtes et + les bibliothèques d'une installation DBM GNU dans les chemins + standards. Avec un chemin explicite, + configure recherchera les fichiers concernés dans + chemin/lib et + chemin/include. En fait, + chemin permet de spécifier plusieurs chemins + d'en-têtes et bibliothèques spécifiques en les séparant par des + caractères ':'.
+ +
--with-ndbm[=chemin]
+
Identique à --with-gdbm, mais recherche une + installation de New DBM.
+ +
--with-berkeley-db[=chemin]
+
Identique à --with-gdbm, mais recherche une + installation de Berkeley DB.
+
+ +

Note

+

Les options DBM sont fournies par les APU et passées en + paramètres à son script de configuration. Elles sont inutiles + lorsqu'on utilise des APU déjà installés définis par + --with-apr-util.

+

Vous pouvez utiliser plusieurs implémentations DBM avec votre + serveur HTTP. Le type DBM approprié sera choisi au cours de la + configuration de l'exécution à chaque démarrage.

+
+ + + +

Options pour les programmes de + support

+
+
--enable-static-support
+
Permet de compiler une version des binaires de support liés + statiquement. En d'autres termes, la compilation produira un + exécutable indépendant comportant toutes les bibliothèques + nécessaires. Sans cette option, les binaires de supports sont liés + dynamiquement.
+ +
--enable-suexec
+
Utilisez cette option pour activer la programme + suexec, qui vous permet de définir un uid et un + gid pour les processus lancés. N'utilisez cette option que + si vous maîtrisez toutes les implications en matière de sécurité + de l'exécution d'un binaire suid sur votre serveur. + D'autres options permettent de configurer + suexec comme décrit ci-dessous.
+
+ +

Il est possible de lier statiquement le binaire d'un programme + support particulier en utilisant les options suivantes :

+ +
+
--enable-static-ab
+
Compile une version liée statiquement du programme + ab.
+ + +
--enable-static-checkgid
+
>Compile une version liée statiquement du programme + checkgid.
+ +
--enable-static-htdbm
+
Compile une version liée statiquement du programme htdbm.
+ +
--enable-static-htdigest
+
Compile une version liée statiquement du programme htdigest.
+ +
--enable-static-htpasswd
+
Compile une version liée statiquement du programme htpasswd.
+ +
--enable-static-logresolve
+
Compile une version liée statiquement du programme logresolve.
+ +
--enable-static-rotatelogs
+
Compile une version liée statiquement du programme rotatelogs.
+
+ +

Options de configuration de suexec

+ +

Les options suivantes permettent de définir avec précision le + comportement du programme suexec. Voir Configurer et installer suEXEC + pour plus de détails.

+ +
+
--with-suexec-bin
+
Définit le chemin du binaire suexec. La + valeur par défaut est --sbindir (voir Définition précise des répertoires + d'installation).
+ +
--with-suexec-caller
+
Définit l'utilisateur qui a l'autorisation d'appeler + suexec. Il est en général souhaitable que ce + soit le même que celui sous lequel httpd + s'exécute.
+ +
--with-suexec-docroot
+
Définit l'arborescence des répertoires dans laquelle le + lancement des exécutables via suexec est + autorisé. La valeur par défaut est + --datadir/htdocs.
+ +
--with-suexec-gidmin
+
Définit la valeur de GID la plus basse autorisée comme + valeur cible pour suexec. La valeur par + défaut est 100.
+ +
--with-suexec-logfile
+
Définit le nom du fichier journal de + suexec. La valeur par défaut est + --logfiledir/suexec_log.
+ +
--with-suexec-safepath
+
Définit la valeur de la variable d'environnement + PATH pour les processus lancés par + suexec. La valeur par défaut est + /usr/local/bin:/usr/bin:/bin.
+ +
--with-suexec-userdir
+
Définit le sous-répertoire du répertoire utilisateur qui + contient tous les exécutables pouvant être lancés par + suexec. Cette option est nécessaire si vous + souhaitez utiliser suexec avec des + répertoires utilisateurs (définis via + mod_userdir). La valeur par défaut est + public_html.
+ +
--with-suexec-uidmin
+
Définit la valeur d'UID la plus basse autorisée comme + valeur cible pour suexec. La valeur par + défaut est 100.
+ +
--with-suexec-umask
+
Définit le masque de permissions umask pour les + processus lancés par suexec. Il correspond + par défaut au masque défini par la configuration de votre + système.
+
+ + +
top
+
+

Variables d'environnement

+

Certaines variables d'environnement permettent de modifier les + choix effectués par configure, ou d'aider ce dernier à + trouver les bibliothèques et programmes possédant des noms et chemins + non standards.

+ + +
+
CC
+
Définit la commande du compilateur C à utiliser pour la + compilation.
+ +
CFLAGS
+
Définit les paramètres du compilateur C que vous voulez utiliser + pour la compilation.
+ +
CPP
+
Définit la commande du préprocesseur C à utiliser.
+ +
CPPFLAGS
+
Définit les paramètres du préprocesseur C/C++, par exemple + -Irépertoire-include, si certains de vos + fichiers d'en-têtes se trouvent dans le répertoire non standard + répertoire-include.
+ +
LDFLAGS
+
Définit les paramètres de l'éditeur de liens, par exemple + -Lrépertoire-lib, si certaines de vos + bibliothèques se trouvent dans le répertoire non standard + répertoire-lib.
+
+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/dbmmanage.html.fr b/docs/manual/programs/dbmmanage.html.fr new file mode 100644 index 0000000000..0b692f6073 --- /dev/null +++ b/docs/manual/programs/dbmmanage.html.fr @@ -0,0 +1,247 @@ + + + + + +dbmmanage - Gestion des fichiers d'authentification des +utilisateurs au format DBM - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

dbmmanage - Gestion des fichiers d'authentification des +utilisateurs au format DBM

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

dbmmanage permet de créer et de maintenir les + fichiers au format DBM où sont stockés les noms d'utilisateurs et + mots de passe à des fins d'authentification de base des utilisateurs + HTTP via le module mod_authn_dbm. Il est possible + de restreindre l'accès aux ressources disponibles sur le serveur + HTTP Apache aux seuls utilisateurs spécifiés dans les fichiers créés + par dbmmanage. Ce programme ne peut être utilisé + qu'avec des fichiers d'utilisateurs au format DBM. Pour + l'utilisation de fichiers textes, voir le programme + htpasswd.

+ +

Le programme htdbm est aussi un utilitaire + permettant de maintenir une base de données de mots de passe DBM.

+ +

Cette page de manuel ne décrit que les arguments de la ligne de + commande. Pour plus de détails à propos des directives nécessaires + pour configurer l'authentification des utilisateurs dans + httpd, voir le manuel httpd qui est fourni avec + la distribution d'Apache, ou peut être consulté à http://httpd.apache.org/.

+
+ +
top
+
+

Syntaxe

+

dbmmanage [ codage ] + nom-fichier add|adduser|check|delete|update + nom-utilisateur + [ mot-de-passe-chiffré + [ groupe[,groupe...] + [ commentaire ] ] ]

+ +

dbmmanage nom-fichier + view [ nom-utilisateur ]

+ +

dbmmanage nom-fichierimport

+
top
+
+

Options

+
+
nom-fichier
+
Le nom du fichier au format DBM, en général sans l'extension + .db, .pag, ou .dir.
+ +
nom-utilisateur
+
L'utilisateur concerné par l'opération effectuée. Le + nom-utilisateur ne doit pas contenir de caractère + :.
+ +
mot-de-passe-chiffré
+
C'est le mot de passe sous sa forme chiffrée à utiliser avec les + commandes update et add. Vous pouvez + utiliser un tiret (-) si vous voulez que le mot de + passe vous soit demandé, mais remplissez les champs par la suite. En + outre, avec la commande update, un point + (.) permet de conserver le mot de passe original.
+ +
groupe
+
Un groupe dont l'utilisateur est membre. Un nom de groupe ne + doit pas contenir de caractère (:). Vous pouvez + utiliser un tiret (-) si vous ne voulez pas associer + l'utilisateur à un groupe, mais remplissez le champ commentaire. En + outre, avec la commande update, un point + (.) permet de conserver le groupe original.
+ +
commentaire
+
C'est l'endroit où vous pouvez enregistrer diverses informations + à propos de l'utilisateur telles que son nom réel, sont e-mail, + etc... Le serveur ignore ce champ.
+
+ +

Codages

+
+
-d
+
chiffrement crypt (chiffrement par défaut sauf sous Win32, + Netware)
+ +
-m
+
chiffrement MD5 (chiffrement par défaut sous Win32, + Netware)
+ +
-s
+
chiffrement SHA1
+ +
-p
+
en clair (déconseillé)
+
+ + +

Commandes

+
+
add
+
Ajoute une entrée pour nom-utilisateur à + nom-fichier en utilisant le mot de passe chiffré + mot-de-passe-chiffré. + +

dbmmanage passwords.dat add rbowen foKntnEF3KSXA

+
+ +
adduser
+
Demande un mot de passe puis ajoute une entrée pour + nom-utilisateur à nom-fichier. + +

dbmmanage passwords.dat adduser krietz

+
+ +
check
+
Demande un mot de passe puis vérifie si + nom-utilisateur est présent dans nom-fichier + et si son mot de passe correspond au mot de passe fourni. + +

dbmmanage passwords.dat check rbowen

+
+ +
delete
+
Supprime l'entrée nom-utilisateur de + nom-fichier. + +

dbmmanage passwords.dat delete rbowen

+
+ +
import
+
Lit les entrées + nom-utilisateur:mot-de-passe + (une par ligne) depuis STDIN, et les ajoute à + nom-fichier. Les mots de passe doivent être déjà + chiffrés.
+ +
update
+
Identique à la commande adduser, à l'exception + que la présence de nom-utilisateur dans + nom-fichier est vérifiée. + +

dbmmanage passwords.dat update rbowen

+
+ +
view
+
Affiche le contenu du fichier DBM. Si vous spécifiez un + nom-utilisateur, seule l'entrée correspondante est + affichée. + +

dbmmanage passwords.dat view

+
+
+ +
top
+
+

Bogues

+

Vous devez garder à l'esprit qu'il existe de nombreux formats de + fichiers DBM différents, et que selon toute vraisemblance, des + bibliothèques pour plus d'un format sont présentes sur votre + système. Les trois exemples de base sont SDBM, NDBM, le projet GNU + GDBM, et Berkeley DB 2. Malheureusement, toutes ces bibliothèques + utilisent des formats de fichiers différents, et vous devez vous + assurer que le format de fichier utilisé par nom-fichier + correspond au format attendu par dbmmanage. + Actuellement, dbmmanage n'a aucun moyen de savoir à + quel type de fichier DBM il a à faire. S'il est utilisé avec un + format inapproprié, il ne renverra rien, ou pourra créer un fichier + DBM différent avec un nom différent, ou au pire, va corrompre le + fichier DBM si vous avez tenté de le modifier.

+ +

dbmmanage possède une liste de préférences en + matière de formats DBM, définies dans le tableau + @AnyDBM::ISA au début du programme. Comme nous + préférons le format de fichier Berkeley DB 2, l'ordre dans lequel + dbmmanage va rechercher les bibliothèques système est + Berkeley DB 2, puis NDBM, GDBM et enfin SDBM. La première + bibliothèque trouvée sera celle que dbmmanage tentera + d'utiliser pour toutes les opérations sur les fichiers DBM. Cette + ordre est sensiblement différent de l'ordre standard de Perl + @AnyDBM::ISA, et de l'ordre utilisé par l'appel + dbmopen() de Perl ; si vous utilisez un autre + utilitaire pour gérer vos fichiers DBM, il doit donc se conformer à + l'ordre de préférence indiqué précédemment. Vous devez prêter la + même attention si vous utilisez des programmes écrits dans d'autres + langages, comme C, pour accéder à ces fichiers.

+ +

Vous pouvez utiliser le programme file fourni par la + plupart des systèmes Unix pour déterminer le format d'un fichier + DBM.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/fcgistarter.html.fr b/docs/manual/programs/fcgistarter.html.fr new file mode 100644 index 0000000000..1db014b538 --- /dev/null +++ b/docs/manual/programs/fcgistarter.html.fr @@ -0,0 +1,96 @@ + + + + + +fcgistarter - Démarrer un programme FastCGI - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

fcgistarter - Démarrer un programme FastCGI

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ +

+

+ +
top
+
+

Note

+

Ne fonctionne actuellement que sur les systèmes de type Unix.

+
top
+
+

Syntaxe

+

fcgistarter + -c commande + -p port + [ -i interface ] + -N nombre +

+
top
+
+

Options

+
+
-c commande
+
Le programme FastCGI
+ +
-p port
+
Port sur lequel le programme va se mettre en écoute
+ +
-i interface
+
Interface sur laquelle le programme va se mettre en écoute
+ +
-N nombre
+
Nombre d'instances du programme
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htcacheclean.html.fr b/docs/manual/programs/htcacheclean.html.fr new file mode 100644 index 0000000000..8830667d2a --- /dev/null +++ b/docs/manual/programs/htcacheclean.html.fr @@ -0,0 +1,262 @@ + + + + + +htcacheclean - Nettoyage du cache sur disque - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

htcacheclean - Nettoyage du cache sur disque

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

htcacheclean permet de maintenir la taille de + l'espace de stockage réservé à mod_disk_cache en + dessous d'une limite de taille donnée ou d'inodes utilisés. Cet + utilitaire peut s'exécuter + soit manuellement, soit en mode démon. Lorsqu'il fonctionne en mode + démon, il se met en attente en arrière-plan et recherche à + intervalles réguliers dans le répertoire du cache les contenus à + supprimer. Pour arrêter proprement le démon, vous pouvez lui envoyer + un signal TERM ou INT. Lorsqu'il est lancé manuellement, une + recherche des contenus du cache qui peuvent être supprimés est + effectuée une seule fois. Si une ou plusieurs URLs sont spécifiées, + chacune d'entre elles sera supprimée du cache, si elle est présente.

+
+ +
top
+
+

Syntaxe

+

htcacheclean + [ -D ] + [ -v ] + [ -t ] + [ -r ] + [ -n ] + [ -Rarrondi ] + -pchemin + [-llimite| + -Llimite]

+ +

htcacheclean + [ -n ] + [ -t ] + [ -i ] + [ -Pfichier-pid ] + [ -Rarrondi ] + -dintervalle + -pchemin + [-llimite| + -Llimite]

+ +

htcacheclean + [ -v ] + [ -Rarrondi ] + -pchemin + [ -a ] + [ -A ]

+ +

htcacheclean + [ -D ] + [ -v ] + [ -t ] + [ -Rarrondi ] + -pchemin + url

+
top
+
+

Options

+
+
-dintervalle
+
Configure en mode démon et planifie le nettoyage du cache toutes + les intervalle minutes. Cette option et les options + -D, -v et -r s'excluent + mutuellement. Pour arrêter le démon proprement, il suffit de lui + envoyer un signal SIGTERM ou SIGINT.
+ +
-D
+
Le programme s'exécute mais ne supprime aucun contenu ("dry run"). Cette + option et l'option -d s'excluent mutuellement. Si ce mode + est combiné avec la suppression des répertoires avec + -t, les inodes signalés comme supprimés dans les + statistiques ne peuvent pas prendre en compte les répertoires + supprimés, et seront marqués en tant qu'estimation.
+ +
-v
+
Exécution verbeuse et affichage de statistiques. Cette + option et l'option -d s'excluent mutuellement.
+ +
-r
+
Nettoyage en profondeur. Le serveur web Apache doit être arrêté + (dans le cas contraire, il risque de rester des déchets dans le + cache). Cette option implique l'option -t et s'exclue + mutuellement avec l'option -d.
+ +
-n
+
Exécution en retrait. L'exécution du programme est ralentie en + faveur des autres processus. htcacheclean s'interrompt + de temps en temps de façon à ce que a) les entrées/sorties disque + soient retardées et b) que le noyau puisse mettre ce temps + processeur à disposition des autres processus.
+ +
-t
+
Supprime tous les répertoires vides. Par défaut, seuls les + fichiers sont supprimés du cache ; avec certaines configurations, + cependant, un grand nombre de répertoires sont créés et méritent que + l'on y prête attention. Si votre configuration nécessite un grand + nombre de répertoires, au point que le remplissage de la table + d'inodes ou d'allocation de fichiers puisse poser problème, + l'utilisation de cette option est conseillée.
+ +
-pchemin
+
Définit chemin comme répertoire racine du cache sur + disque. Cette valeur doit correspondre à celle spécifiée par la + directive CacheRoot.
+ +
-Pfichier-pid
+
Permet de spécifier fichier-pid comme nom du fichier + dans le lequel sera enregistré l'identifiant du processus en mode + démon.
+ +
-Rround
+
Permet de spécifier le plus petit commun multiple de la taille + du cache, afin de tenir compte de la taille des blocs. Définir ce + paramètre à la taille d'un bloc de la partition du cache.
+ +
-llimite
+
Définit limite comme la taille maximale du cache sur + disque. La valeur s'exprime par défaut en octets (ou en ajoutant le + suffixe B à la valeur). Ajoutez le suffixe + K pour KOctets ou M pour MOctets.
+ +
-Llimite
+
Spécifie limite comme la limite totale en inodes du + cache disque.
+ +
-i
+
Exécution intelligente. Le programme ne s'exécute que lorsque le + cache sur disque a été modifié. Cette option ne peut s'utiliser + qu'avec l'option -d.
+ +
-a
+
Affiche la liste des URLs actuellement stockées dans le cache. + Les variantes de la même URL seront listées une seule fois par + variante.
+ +
-A
+
Affiche la liste des URLs actuellement stockées dans le cache, + ainsi que leurs attributs dans l'ordre suivant : url, header size, + body size, status, entity version, date, expiry, request time, + response time, body present, head request.
+
+
top
+
+

Suppression d'une URL particulière

+

Si une ou plusieurs URLs sont passées en argument à + htcacheclean, chacune d'entre elles sera supprimée du + cache. S'il existe plusieurs variantes de ces URLs, elles seront + toutes supprimées.

+ +

Lorsqu'une URL mandatée en inverse doit être supprimée, l'URL + effective est construite à partir de l'en-tête + Host, du port, du + chemin et de la requête. Notez que + le '?' doit toujours être spécifié explicitement dans l'URL, qu'une + chaîne de paramètres soit présente ou non. Par exemple, pour + supprimer le chemin / du serveur + localhost, l'URL devra être spécifiée comme suit : + http://localhost:80/?.

+ +
top
+
+

Affichage des URLs présentes dans le cache

+

Les options -a ou -A permettent + d'afficher les URLs présentes dans le cache telles qu'elles s'y + trouvent, une URL par ligne. L'option -A affiche + l'entrée du cache complète pour chaque URL, avec ses différents + champs dans l'ordre suivant :

+ +
+
url
L'URL de l'entrée considérée.
+
header size
La taille de l'en-tête en octets.
+
body size
La taille du corps en octets.
+
status
Etat de la réponse en cache.
+
entity version
Le nombre de fois que cette entrée a + été revalidée sans être effacée.
+
date
Date de la réponse.
+
expiry
Date d'expiration de la réponse.
+
request time
Date du début de la requête.
+
response time
Date de la fin de la requête.
+
body present
Ce champ contient la valeur 0 si aucun + corps n'est stocké avec cette requête, 1 dans le cas contraire.
+
head request
Ce champ contient la valeur 1 si + l'entrée comporte une requête HEAD en cache sans corps, 0 dans + le cas contraire.
+
+ +
top
+
+

Valeur renvoyée

+

htcacheclean renvoie zéro ("true") si toutes les + opérations se sont déroulées normalement, et 1 dans le + cas contraire. Si une URL est spécifiée, et si cette URL était + présente dans le cache et a été supprimée avec succès, + htcacheclean renvoie 0, et 2 + dans le cas contraire. Si une erreur est survenue au cours de la + suppression de l'URL, htcacheclean renvoie + 1.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdbm.html.fr b/docs/manual/programs/htdbm.html.fr new file mode 100644 index 0000000000..873b60c43d --- /dev/null +++ b/docs/manual/programs/htdbm.html.fr @@ -0,0 +1,398 @@ + + + + + +htdbm - Manipuler des bases de données DBM de mots de +passe - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

htdbm - Manipuler des bases de données DBM de mots de +passe

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ +

htdbm permet de manipuler des fichiers au format DBM + ou sont stockés des nom d'utilisateurs et mots de passe à des fins + d'authentification de base des utilisateurs HTTP via le module + mod_authn_dbm. Voir la documentation de + dbmmanage pour plus de détails à propos de ces + fichiers DBM.

+
+ +
top
+
+

Syntaxe

+

htdbm + [ -TDBTYPE ] + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-fichier nom-utilisateur

+ +

htdbm -b + [ -TDBTYPE ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-fichier nom-utilisateur mot-de-passe

+ +

htdbm -n + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-utilisateur

+ +

htdbm -nb + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-utilisateur mot-de-passe

+ +

htdbm -v + [ -TDBTYPE ] + [ -i ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-fichier nom-utilisateur

+ +

htdbm -vb + [ -TDBTYPE ] + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -t ] + [ -v ] + nom-fichier nom-utilisateur mot-de-passe

+ +

htdbm -x + [ -TDBTYPE ] + nom-fichier nom-utilisateur

+ +

htdbm -l + [ -TDBTYPE ] + nom-fichier

+
top
+
+

Options

+
+
-b
+
Utilise le mode batch ; en d'autres termes, le mot de passe est + extrait de la ligne de commande au lieu d'être demandé à + l'opérateur. Cette option doit être utilisée avec la plus grande + prudence, car le mot de passe est visible en clair + dans la ligne de commande. Pour utiliser un script, voir l'option + -i.
+ +
-i
+
Lit le mot de passe depuis stdin sans vérification (à utiliser + dans le cadre d'un script).
+ +
-c
+
Crée le fichier-mots-de-passe. Si + fichier-mots-de-passe existe déjà, il est réécrit et + tronqué. Cette option ne peut pas être combinée avec l'option + -n.
+ +
-n
+
Affiche les résultats sur la sortie standard et ne met pas à + jour la base de données. Cette option modifie la syntaxe de la ligne + de commande, car l'argument fichier-mots-de-passe (en + général le premier) est omis. Elle ne peut pas être combinée avec + l'option -c.
+ +
-m
+
Utilise un chiffrement MD5 pour les mots de passe. Sous Windows + et Netware, c'est l'option par défaut..
+ +
-B
+
Utilise l'algorythme de chiffrement bcrypt pour les mots de + passe. C'est un algorythme actuellement considéré comme sûr.
+ +
-C
+
Ce drapeau n'est autorisé qu'en conjonction avec le drapeau + -B (chiffrement bcrypt). Il permet de définir la durée + de traitement pour l'algorythme de chiffrement bcrypt (plus elle est + longue, plus la sécurité est élevée, mais la rapidité est diminuée + d'autant) ; la valeur par défaut est 5, les valeurs valides vont de + 4 à 31.
+ + +
-d
+
Utilise un chiffrement crypt() pour les mots de + passe. C'est l'option par défaut sur toutes les plates-formes, sauf + Windows et Netware. Bien que htdbm supporte ce + chiffrement sur toutes les plates-formes, il n'est pas supporté par + le serveur httpd sous Windows et Netware. Cet + algorythme est considéré comme non sûr selon les + standards actuels.
+ +
-s
+
Utilise le chiffrement SHA pour les mots de passe. Facilite la + migration vers/depuis les serveurs Netscape qui utilisent le format + LDAP Directory Interchange (ldif). Cet + algorythme est considéré comme non sûr selon les + standards actuels.
+ +
-p
+
Utilise des mots de passe au format texte en clair. Bien que + htdbm supporte ce format sur toutes les plates-formes, + le démon httpd n'accepte les mots de passe au + format texte en clair que sous Windows et Netware.
+ +
-l
+
Affiche chaque nom d'utilisateur de la base de données + accompagné de son commentaire sur la sortie standard.
+ +
-v
+
Vérifie une association nom d'utilisateur/mot de passe. Le + programme affichera un message indiquant si le mot de passe fourni + est valide. Si le mot de passe n'est pas valide, le programme + s'arrête et renvoie un code d'erreur 3.
+ +
-x
+
Supprime l'utilisateur. Si le nom d'utilisateur existe dans le + fichier DBM spécifié, il sera supprimé.
+ +
-t
+
Interprète le dernier paramètre en tant que commentaire. Avec + cette option, il est possible d'ajouter une chaîne supplémentaire à + la fin de la ligne de commande ; le contenu de cette chaîne sera + stocké dans la base de données dans le champ "Comment" associé au + nom d'utilisateur spécifié.
+ +
nom-fichier
+
Le nom du fichier au format DBM en général sans l'extension + .db, .pag, ou .dir. Avec + l'option -c, le fichier DBM est mis à jour s'il existe + ou créé dans le cas contraire.
+ +
nom-utilisateur
+
Le nom d'utilisateur à créer ou mettre à jour dans le + fichier-mots-de-passe. Si nom-utilisateur + n'existe pas dans ce fichier, une entrée est ajoutée. S'il existe, + son mot de passe est modifié.
+ +
mot-de-passe
+
Le mot de passe en clair destiné à être chiffré et stocké dans + le fichier DBM. Ne s'utilise qu'avec l'option -b.
+ +
-TDBTYPE
+
Type de fichier DBM (SDBM, GDBM, DB, ou "default").
+
+
top
+
+

Bugs

+

Vous devez garder à l'esprit qu'il existe de nombreux formats de + fichiers DBM différents, et que selon toute vraisemblance, des + bibliothèques pour plus d'un format sont présentes sur votre + système. Les trois exemples de base sont SDBM, NDBM, le projet GNU + GDBM, et Berkeley/Sleepycat DB 2/3/4. Malheureusement, toutes ces + bibliothèques + utilisent des formats de fichiers différents, et vous devez vous + assurer que le format de fichier utilisé par nom-fichier + correspond au format attendu par htdbm. + Actuellement, htdbm n'a aucun moyen de savoir à + quel type de fichier DBM il a à faire. S'il est utilisé avec un + format inapproprié, il ne renverra rien, ou pourra créer un fichier + DBM différent avec un nom différent, ou au pire, va corrompre le + fichier DBM si vous avez tenté de le modifier.

+ +

Vous pouvez utiliser le programme file fourni par la + plupart des systèmes Unix pour déterminer le format d'un fichier + DBM.

+
top
+
+

Valeur renvoyée

+

htdbm renvoie 0 ("true") si les nom d'utilisateur et + mot de passe ont été créés ou mis à jour avec succès dans le fichier + DBM. htdbm renvoie 1 s'il a rencontré un + problème d'accès aux fichiers, 2 si la ligne de + commande comportait une erreur de syntaxe, 3 si le mot + de passe a été fourni interactivement et s'il est invalide pour + l'entrée considérée, 4 si l'opération a été + interrompue, 5 si une valeur est trop longue (nom + utilisateur, nom fichier, mot de passe, ou l'enregistrement après + son élaboration), 6 si le nom d'utilisateur contient + des caractères illégaux (voir la section Restrictions), et 7 si le + fichier n'est pas un fichier de mots de passe DBM valide.

+
top
+
+

Exemples

+

+ htdbm /usr/local/etc/apache/.utilisateurs-htdbm jsmith +

+ +

Ajoute ou modifie le mot de passe de l'utilisateur + jsmith. Le mot de passe est demandé à l'opérateur. Sous + Windows, le mot de passe sera chiffré en utilisant l'algorithme MD5 + Apache modifié ; dans les autres cas, c'est la routine + crypt() du système qui sera utilisée. Si le fichier + n'existe pas, htdbm s'arrêtera et renverra une + erreur.

+ +

+ htdbm -c /home/doe/public_html/.htdbm jane +

+ +

Crée un nouveau fichier et y enregistre une entrée pour + l'utilisateur jane. Le mot de passe est demandé à + l'opérateur. Si le fichier existe et ne peut pas être lu, ou ne peut + pas être écrit, il ne sera pas modifié et + htdbm affichera un message et renverra un code + d'erreur.

+ +

+ htdbm -mb /usr/web/.htdbm-tous jones Pwd4Steve +

+ +

Chiffre le mot de passe entré avec la ligne de commande + (Pwd4Steve) à l'aide de l'algorithme MD5, et + l'enregistre dans le fichier spécifié.

+ +

Pour convertir en fichier dbm un fichier de mots de passe + généré par htpasswd, utilisez awk pour rediriger + chaque ligne de ce fichier vers htdbm :

+ +

+ htdbm -cbp passwords.dbm bogus bogus + awk ‘BEGIN { FS=”:” }; {system (“htdbm -bp passwords.dbm ” $1 ” ” $2)}’ passwords + htdbm -x bogus +

+ +

La première ligne crée une nouvelle base de données de mots de passe avec + une entrée temporaire servant de place réservée, et la troisième ligne + supprime cette entrée temporaire.

+
top
+
+

Considérations à propos de sécurité

+

Les fichiers de mots de passe Web tels que ceux que gère + htdbm ne doivent pas être stockés dans + l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas + être possible d'y accéder à l'aide d'un navigateur.

+ +

L'utilisation de l'option -b est déconseillée, car + lorsqu'il est utilisé, le mot de passe apparaît en clair dans la + ligne de commande.

+ +

Notez que lorsque vous utilisez l'algorythme + crypt(), seuls les 8 premiers caractères du mot de + passe sont pris en compte. Si le mot de passe fourni est plus long, + les caractères supplémentaires seront ignorés sans avertissement.

+ +

L'algorythme SHA ne permet pas de spécifier une valeur + d'initialisation pour la génération de nombres aléatoires (salting) + : un mot de passe donné ne possède ainsi qu'une réprésentation + chiffrée. Les algorythmes crypt() et MD5 permettent quant à + eux des représentations chiffrées multiples en acceptant comme + paramètre une chaîne d'initialisation (salt), rendant les attaques à + base de dictionnaires contre les mots de passe plus difficiles.

+ +

Les algorythmes SHA et crypt() sont considérés comme + non sûrs selon les standards actuels.

+
top
+
+

Restrictions

+

Sur la plate-forme Windows, les mots de passe chiffrés avec + htdbm ont une taille limitée à 255 + caractères. Si le mot de passe fourni est plus long, il sera tronqué + à 255 caractères.

+ +

L'algorithme MD5 utilisé par htdbm est spécifique à + Apache ; les mots de passe chiffrés en utilisant cet algorithme + seront inutilisables sur d'autres serveurs Web.

+ +

Les noms d'utilisateurs ont une taille limitée à 255 + octets et ne doivent pas contenir de caractère :.

+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htdigest.html.fr b/docs/manual/programs/htdigest.html.fr new file mode 100644 index 0000000000..3b6e2be2a2 --- /dev/null +++ b/docs/manual/programs/htdigest.html.fr @@ -0,0 +1,119 @@ + + + + + +htdigest - Gestion des fichiers d'utilisateurs pour +l'authentification à base de condensés - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

htdigest - Gestion des fichiers d'utilisateurs pour +l'authentification à base de condensés

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

htdigest permet de créer et maintenir les fichiers + textes dans lesquels sont stockés des noms d'utilisateurs, des + domaines de protection (realms) et des mots de passe pour + l'authentification à base de condensés des utilisateurs HTTP. + L'accès aux ressources du serveur HTTP Apache peut être limité aux + seuls utilisateurs enregistrés dans les fichiers créés par + htdigest.

+ +

Cette page de manuel ne décrit que les arguments de la ligne de + commande. Pour plus de détails à propos des directives nécessaires à + la configuration de l'authentification à base de condensés dans + httpd, voir le manuel Apache qui est fourni avec + la distribution et peut être consulté à http://httpd.apache.org/.

+
+ +
top
+
+

Syntaxe

+

htdigest [ -c ] + fichier-mots-de-passe realm + nom-utilisateur

+
top
+
+

options

+
+
-c
+
Crée le fichier fichier-mots-de-passe. Si + fichier-mots-de-passe existe déjà, il est tout d'abord + supprimé.
+ +
fichier-mots-de-passe
+
Nom du fichier contenant les noms utilisateurs, realms et mots + de passe. Si l'option -c est spécifiée, le fichier est + créé s'il n'existe pas, ou supprimé et recréé s'il existe + déjà.
+ +
realm
+
Le nom du domaine de protection auquel le nom d'utilisateur + appartient. Voir http://tools.ietf.org/html/rfc2617#section-3.2.1 + pour plus de détails.
+ +
nom-utilisateur
+
Le nom d'utilisateur à créer ou mettre à jour dans le + fichier-mots-de-passe. Si nom-utilisateur est + absent de ce fichier, une nouvelle entrée est ajoutée. Si + l'utilisateur existe déjà, le mot de passe est modifié.
+
+
top
+
+

Considérations à propos de sécurité

+

En tant qu'exécutable setuid, ce programme n'est pas sûr. En + conséquence, évitez de lui attribuer des permissions setuid.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/htpasswd.html.fr b/docs/manual/programs/htpasswd.html.fr new file mode 100644 index 0000000000..a2a0e287ba --- /dev/null +++ b/docs/manual/programs/htpasswd.html.fr @@ -0,0 +1,338 @@ + + + + + +htpasswd - Gestion des fichiers d'utilisateurs pour +l'authentification de base - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

htpasswd - Gestion des fichiers d'utilisateurs pour +l'authentification de base

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

htpasswd permet de créer et de maintenir les + fichiers textes où sont stockés les noms d'utilisateurs et mots de + passe pour l'authentification de base des utilisateurs HTTP. Si + htpasswd rencontre un problème d'accès à un fichier, + que ce soit pour écrire dans le fichier de sortie, ou pour lire le + fichier d'entrée dans le but de le mettre à jour, il renvoie un code + d'erreur et n'effectue aucune modification.

+ +

Il est possible de limiter l'accès aux ressources du serveur HTTP + Apache aux seuls utilisateurs présents dans les fichiers créés par + htpasswd. Ce programme ne sait gérer les noms + d'utilisateurs et mots de passe que s'ils sont stockés dans des + fichiers textes. Il peut cependant chiffrer et afficher les mots de + passe à des fins d'utilisation dans d'autres types de bases de + données. Pour utiliser une base de données DBM, voir le programme + dbmmanage ou htdbm.

+ +

htpasswd chiffre les mots de passe en utilisant soit + bcrypt, + une version de MD5 modifiée pour Apache, soit SHA1, soit la routine + crypt() du système. Les fichiers gérés par + htpasswd peuvent contenir deux types de mots de passe ; + certaines entrées peuvent contenir des mots de passe chiffrés en + MD5 ou bcrypt, alors que d'autres entrées du même fichier contiendront des + mots de passe chiffrés avec crypt().

+ +

Cette page de manuel ne décrit que les arguments de la ligne de + commande. Pour plus de détails à propos des directives nécessaires à + la configuration de l'authentification des utilisateurs dans + httpd, voir le manuel Apache qui est fourni avec + la distribution ou peut être consulté à http://httpd.apache.org/.

+
+

Voir aussi

+
top
+
+

Syntaxe

+

htpasswd + [ -c ] + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -D ] + [ -v ] fichier-mots-de-passe nom-utilisateur

+ +

htpasswd -b + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -D ] + [ -v ] fichier-mots-de-passe nom-utilisateur + mot-de-passe

+ +

htpasswd -n + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] nom-utilisateur

+ +

htpasswd -nb + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] nom-utilisateur + mot-de-passe

+
top
+
+

Options

+
+
-b
+
Utilise le mode batch ; c'est à dire, extrait le mot de passe de + la ligne de commande au lieu de le demander à l'opérateur. Cette + option doit être utilisée avec la plus grande prudence, car + le mot de passe est visible en clair dans la ligne + de commande. Pour utiliser un script, voir l'option + -i.
+ Disponible à partir de la version 2.4.4 du serveur HTTP Apache.
+ +
-i
+
Lit le mot de passe depuis stdin sans vérification (à utiliser + dans les scripts).
+ +
-c
+
Crée le fichier-mots-de-passe. Si + fichier-mots-de-passe existe déjà, il est réécrit et + tronqué. Cette option ne peut pas être combinée avec l'option + -n.
+ +
-n
+
Affiche le résultat du traitement sur la sortie standard au lieu + de mettre à jour le fichier. Ceci peut s'avérer utile pour générer + des enregistrements de mots de passe qu'Apache pourra utiliser à des + fins d'inclusion dans des fichiers de données au format autre que + texte. Cette option modifie la syntaxe de la ligne de commande, car + l'argument fichier-mots-de-passe (en général le premier) + est omis. Elle ne peut pas être combinée avec l'option + -c option.
+ +
-m
+
Utilise le chiffrement MD5 pour les mots de passe. C'est le + comportement par défaut (depuis la version 2.2.18).
+ +
-B
+
Utilise bcrypt pour chiffrer les mots de passe. c'est un + algorythme de chiffrement actuellement considéré comme sûr.
+ +
-C
+
Ce drapeau n'est autorisé qu'en conjonction avec le drapeau + -B (chiffrement bcrypt). Il permet de définir la durée + de traitement pour l'algorytme bcrypt (plus elle est longue, + meilleure sera la sécurité, mais inférieure la rapidité). La valeur + par défaut est 5 et les valeurs autorisées vont de 4 à 31.
+ + +
-d
+
Utilise le chiffrement crypt() pour les mots de + passe. Cette option n'est pas supportée par le + serveur httpd sous Windows ou Netware. Cet + algorithme limite la longueur des mots de passe à 8 caractères ; il + est considéré comme non sur du point de vue des + standards actuels. C'était l'algorithme par défaut jusqu'à la + version 2.2.17.
+ +
-s
+
Utilise le chiffrement SHA pour les mots de passe. Facilite la + migration vers/depuis les serveurs Netscape qui utilisent le format + LDAP Directory Interchange (ldif). Cet algorithme + est considéré comme non sur du point de vue des + standards actuels.
+ +
-p
+
Enregistre les mots de passe en clair. Bien que + htpasswd supporte la création des mots de passe en + clair sur toutes les plates-formes, le démon + httpd n'accepte les mots de passe en clair que + sous Windows et Netware.
+ +
-D
+
Supprime un utilisateur, sous réserve qu'il existe dans le + fichier spécifié par htpasswd.
+ +
-v
+
Vérifie si le mot de passe fourni correspond au mot de passe de + l'utilisateur enregistré dans le fichier de mots de passe spécifié.
+ Disponible à partir de la version 2.4.5 du serveur HTTP Apache.
+ +
fichier-mots-de-passe
+
Le nom du fichier contenant les noms d'utilisateurs et mots de + passe. Avec l'option -c, le fichier est créé s'il + n'existe pas, ou réécrit et tronqué s'il existe déjà.
+ +
nom-utilisateur
+
Le nom d'utilisateur à créer ou mettre à jour dans le + fichier-mots-de-passe. Si nom-utilisateur + n'existe pas, une nouvelle entrée est ajoutée. Dans le cas + contraire, le mot de passe est modifié.
+ +
mot-de-passe
+
Le mot de passe en clair et destiné à être chiffré puis stocké + dans le fichier. Cet argument ne s'utilise qu'avec l'option + -b.
+
+
top
+
+

Valeur renvoyée

+

htpasswd renvoie 0 ("true") si le nom d'utilisateur + et le mot de passe ont été enregistrés ou mis à jour avec succès + dans le fichier-mots-de-passe. htpasswd + renvoie 1 s'il a rencontré un problème d'accès aux + fichiers, 2 si la ligne de commande comportait une + erreur de syntaxe, 3 si le mot de passe entré + interactivement ne correspondait pas au nom d'utilisateur, + 4 si l'opération a été interrompue, 5 si + une valeur était trop longue (nom-utilisateur, nom-fichier, + mot-de-passe, ou l'enregistrement résultant), 6 si le + nom d'utilisateur contenait des caractères illégaux (voir la section + Restrictions), et 7 si le + fichier spécifié n'était pas un fichier de mots de passe + valide.

+
top
+
+

Exemples

+

+ htpasswd /usr/local/etc/apache/.utilisateurs-htpasswd jsmith +

+ +

Ajoute ou modifie le mot de passe de l'utilisateur + jsmith. Le mot de passe est demandé à l'opérateur. Le + mot de passe sera chiffré en utilisant l'algorithme MD5 + modifié pour Apache. Si le fichier spécifié + n'existe pas, htpasswd renverra un code d'erreur.

+ +

+ htpasswd -c /home/doe/public_html/.htpasswd jane +

+ +

Crée un nouveau fichier de mots de passe et y enregistre une + entrée pour l'utilisateur jane. Le mot de passe est + demandé à l'opérateur. Si le fichier existe et ne peut être ni lu ni + écrit, il n'est pas modifié et htpasswd affichera un + message et renverra un code d'erreur.

+ +

+ htpasswd -db /usr/web/.htpasswd-tous jones Pwd4Steve +

+ +

Chiffre le mot de passe spécifié dans la ligne de commande + (Pwd4Steve) en utilisant l'algorithme + crypt(), et le stocke dans le fichier spécifié.

+
top
+
+

Considérations à propos de sécurité

+

Les fichiers de mots de passe Web comme ceux que gère + htpasswd ne doivent pas être situés dans + l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas + être possible d'y accéder à partir d'un navigateur.

+ +

En tant qu'exécutable setuid, ce programme n'est pas sûr, et il + ne faut par conséquent pas lui attribuer de permissions + setuid.

+ +

L'utilisation de l'option -b est déconseillée, car + avec elle, les mots de passe apparaissent en clair dans la ligne de + commande.

+ +

Notez qu'avec l'algorithme crypt(), seuls les huit + premiers caractères du mot de passe spécifié sont pris en compte. Si + le mot de passe spécifié est plus long, les caractères + supplémentaires sont ignorés.

+ +

Le format de chiffrement SHA n'utilise pas d'amorçage aléatoire + (salting) : à un mot de passe donné correspond une seule + représentation chiffrée. Les formats crypt() et MD5 + permutent la représentation en la préfixant par une chaîne d'amorce + aléatoire, afin de rendre les attaques de mots de passe à base de + dictionnaires plus difficiles.

+ +

Les algorithmes de chiffrement SHA et crypt() + sont considérés comme non surs du point de vue des + standards actuels.

+
top
+
+

Restrictions

+

Sur les plates-formes Windows, la taille des mots de passe + chiffrés avec htpasswd est limitée à 255 + caractères. Les mots de passe dont la taille est supérieure seront + tronqués.

+ +

L'algorithme MD5 utilisé par htpasswd est spécifique + à Apache ; les mots de passe chiffrés en utilisant cet algorithme + seront inutilisables sur d'autres serveurs Web.

+ +

La taille des noms d'utilisateurs est limitée à 255 + octets et ceux-ci ne doivent pas contenir de caractère + :.

+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httpd.html.fr b/docs/manual/programs/httpd.html.fr new file mode 100644 index 0000000000..1d9293523d --- /dev/null +++ b/docs/manual/programs/httpd.html.fr @@ -0,0 +1,244 @@ + + + + + +httpd - Le serveur HTTP d'Apache - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

httpd - Le serveur HTTP d'Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

httpd est le programme du serveur HTTP d'Apache. Il + a été conçu pour fonctionner sous forme de processus démon + indépendant. Lorsqu'il est utilisé ainsi, il va créer un jeu de + processus enfants ou de threads qui traiteront les requêtes.

+ +

En général, httpd n'est pas invoqué directement, + mais plutôt via apachectl sur les systèmes de + style Unix ou en tant que service sous + Windows NT, 2000 et XP et comme application de + console sous Windows 9x et ME.

+
+ +
top
+
+

Syntaxe

+

httpd [ -d + racine-serveur ] [ -f config ] + [ -C directive ] [ -c + directive ] [ -D paramètre ] + [ -e niveau ] [ -E + fichier ] + [ -k start|restart|graceful|stop|graceful-stop ] + [ -h ] + [ -l ] [ -L ] [ -S ] + [ -t ] [ -v ] [ -V ] + [ -X ] [ -M ] [ -T ] +

+ +

Sur les systèmes Windows, + les options additionnelles suivantes sont disponibles :

+ +

httpd [ -k + install|config|uninstall ] [ -n nom ] + [ -w ]

+
top
+
+

Options

+ +
+
-d racine-serveur
+ +
Définit la valeur initiale de la directive ServerRoot à racine-serveur. Cette +valeur peut être écrasée par la directive ServerRoot du fichier de +configuration. La valeur par défaut est +/usr/local/apache2.
+ +
-f config
+ +
Utilise les directives du fichier config au démarrage. Si +config ne commence pas par un '/', il est considéré comme +relatif au chemin défini par la directive ServerRoot. La valeur par défaut est +conf/httpd.conf.
+ +
-k start|restart|graceful|stop|graceful-stop
+ +
Permet de démarrer, redémarrer ou arrêter httpd. Voir Arrêter Apache httpd pour plus d'informations.
+ +
-C directive
+ +
Exécute la directive de configuration directive avant de +lire les fichiers de configurations.
+ +
-c directive
+ +
Exécute la directive de configuration directive après +avoir lu les fichiers de configurations.
+ + +
-D paramètre
+ +
Définit un paramètre de configuration à utiliser dans les +sections <IfDefine> +des fichiers de configuration, ces dernières permettant d'exécuter ou +non des +commandes au démarrage ou au redémarrage du serveur. Sert aussi à +définir certains paramètres de démarrage moins courants comme +-DNO_DETACH (empêche le processus parent de lancer des +processus enfants) et -DFOREGROUND (empêche le processus +parent d'appeler setsid() et autres).
+ +
-e niveau
+ +
Définit la directive LogLevel à +niveau pendant le démarrage du serveur. Ceci permet +d'augmenter temporairement la verbosité des messages d'erreur afin de +déterminer les problèmes de démarrage.
+ +
-E fichier
+ +
Envoie les messages d'erreur de démarrage vers le fichier +fichier.
+ +
-h
+ +
Affiche un bref résumé des options de ligne de commande +disponibles.
+ +
-l
+ +
Affiche la liste des modules compilés dans le le serveur. Ce +paramètre n'affiche pas les modules chargés +dynamiquement via la directive LoadModule.
+ +
-L
+ +
Affiche une liste des directives fournies par les modules statiques +avec les arguments associés, ainsi que les contextes dans lesquels elles +sont valides. Les directives fournies par les modules partagés +(dynamiques) ne sont pas affichées).
+ +
-M
+ +
Affiche une liste des modules statiques et des modules chargés +dynamiquement.
+ +
-S
+ +
Affiche la configuration telle qu'elle est issue de l'interprétation +du fichier de configuration (actuellement, seule la configuration des +serveurs virtuels est affichée).
+ +
-T (disponible depuis la version 2.3.8)
+ +
Empêche la vérification de la racine des documents (DocumentRoot) au +démarrage/redémarrage.
+ +
-t
+ +
Exécute une vérification de syntaxe pour les fichiers de +configuration seulement. Le programme se termine immédiatement après ces +tests de vérification de syntaxe avec soit un code de retour de 0 +(syntaxe OK), soit un code de retour différent de 0 (erreur de +syntaxe). Si -D DUMP_VHOSTS est défini, les +détails de la configuration des serveurs virtuels seront affichés. Si -D +DUMP_MODULES est défini, tous les modules chargés +seront affichés. Si -D DUMP_CERTS est défini et +si mod_ssl est utilisé, les certificats SSL définis +seront affichés. Si -D DUMP_CA__CERTS +est défini et si mod_ssl est utilisé, les certificats +de CA SSL ainsi que les répertoires contenant de tels certificats +seront affichés.
+ +
-v
+ +
Print the version of httpd, and then exit.
+ +
-V
+ +
Le programme affiche la version et les paramètres de compilation de +httpd, puis se termine.
+ +
-X
+ +
Exécute httpd en mode debug. Un seul processus sera démarré, et le +serveur ne rendra pas la main à la console.
+ +
+ +

Les arguments suivants ne sont disponibles que sur la plate-forme Windows :

+ +
+ +
-k install|config|uninstall
+ +
Respectivement : installe Apache httpd en tant que service Windows NT ; +modifie les options de démarrage du service Apache httpd ; désinstalle le +service Apache httpd.
+ +
-n nom
+ +
Le nom du service Apache httpd à actionner.
+ +
-w
+ +
Garde la console Windows ouverte en cas de problème de façon à ce +que le message d'erreur puisse être lu.
+ +
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/httxt2dbm.html.fr b/docs/manual/programs/httxt2dbm.html.fr new file mode 100644 index 0000000000..fc7edb67a7 --- /dev/null +++ b/docs/manual/programs/httxt2dbm.html.fr @@ -0,0 +1,122 @@ + + + + + +httxt2dbm - Génère des fichiers dbm à utiliser avec +RewriteMap - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

httxt2dbm - Génère des fichiers dbm à utiliser avec +RewriteMap

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ +

httxt2dbm permet, à partir d'une entrée au format + texte, de générer des fichiers dbm à utiliser dans les directives + RewriteMap avec le type + de table dbm. +

+ +

Si le fichier de sortie existe déjà, il ne sera pas tronqué. Les + nouvelles clés seront ajoutées et les clés préexistantes mises à + jour.

+
+ +
top
+
+

Syntaxe

+

httxt2dbm + [ -v ] + [ -f TYPE_DBM ] + -i TEXTE_SOURCE + -o SORTIE_DBM +

+
top
+
+

Options

+
+
-v
+
Sortie plus verbeuse
+ +
-f TYPE_DBM
+
Spécifie le type DBM à utiliser pour le fichier de sortie. + S'il n'est pas spécifié, c'est la valeur par défaut de + l'APR qui sera utilisée. Les types disponibles + sont : + GDBM pour les fichiers GDBM, + SDBM pour les fichiers SDBM, + DB pour les fichiers DB, + NDBM pour les fichiers NDBM, + default pour le type DBM par défaut +
+ +
-i TEXTE_SOURCE
+
Le fichier d'entrée à partir duquel le fichier dbm sera créé. Le + fichier doit être formaté de façon à ne contenir qu'un seul + enregistrement par ligne, de la forme : clé valeur. + Voir la documentation de la directive RewriteMap pour plus de détails à + propos du format de ce fichier et de sa signification. +
+ +
-o SORTIE_DBM
+
Nom du fichier dbm de sortie.
+
+
top
+
+

Exemples

+

+ httxt2dbm -i rewritemap.txt -o rewritemap.dbm
+ httxt2dbm -f SDBM -i rewritemap.txt -o rewritemap.dbm
+

+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/index.html.fr b/docs/manual/programs/index.html.fr new file mode 100644 index 0000000000..4bb51448c4 --- /dev/null +++ b/docs/manual/programs/index.html.fr @@ -0,0 +1,137 @@ + + + + + +Le serveur et ses utilitaires - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5

Le serveur et ses utilitaires

+
+

Langues Disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ +

Cette page documente tous les utilitaires inclus + dans le serveur HTTP Apache.

+
+
top
+
+

Index

+ +
+
httpd
+ +
Le serveur de protocole de transfert hypertexte Apache
+ +
apachectl
+ +
L'interface de contrôle du serveur HTTP Apache
+ +
ab
+ +
L'outil de test de performances du serveur HTTP Apache
+ +
apxs
+ +
L'outil de gestion des extensions Apache
+ +
configure
+ +
Configuration de l'arborescence des sources
+ +
dbmmanage
+ +
Crée et met à jour les fichiers d'authentification utilisateurs au + format DBM pour une authentification basique
+ +
fcgistarter
+ +
Lance un programme fastcgi
+ +
firehose
+ +
Permet de démultipléxer les flux générés par + mod_firehose
+ +
htcacheclean
+ +
Nettoie le cache sur disque
+ +
htdigest
+ +
Crée et met à jour les fichiers d'authentification pour une + authentification sommaire
+ +
htdbm
+ +
Manipulation des bases de données DBM des mots de passe.
+ +
htpasswd
+ +
Crée et met à jour les fichiers d'authentification pour une + authentification basique
+ +
httxt2dbm
+ +
Crée des fichiers dbm destinés à être utilisés avec + RewriteMap
+ +
logresolve
+ +
Résolution des noms d'hôtes en adresses IP dans les fichiers + de traces d'Apache
+ +
log_server_status
+ +
Journalisation périodique du statut du serveur
+ +
rotatelogs
+ +
Rotation des traces d'Apache sans devoir arrêter le serveur
+ +
split-logfile
+ +
Divise un journal pour plusieurs hôtes virtuels en journaux + spécifiques à chaque hôte
+ +
suexec
+ +
Change d'utilisateur pour l'exécution de certains programmes
+ +
+
+
+

Langues Disponibles:  en  | + es  | + fr  | + ko  | + tr  | + zh-cn 

+
+ \ No newline at end of file diff --git a/docs/manual/programs/logresolve.html.fr b/docs/manual/programs/logresolve.html.fr new file mode 100644 index 0000000000..aa0b6983f3 --- /dev/null +++ b/docs/manual/programs/logresolve.html.fr @@ -0,0 +1,106 @@ + + + + + +logresolve - Résoud les adresses IP en noms d'hôtes dans les + fichiers journaux d'Apache - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

logresolve - Résoud les adresses IP en noms d'hôtes dans les + fichiers journaux d'Apache

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

logresolve est un programme agissant après + traitement pour résoudre les adresses IP dans les journaux d'accès + d'Apache. Pour minimiser la charge de votre serveur de noms, + logresolve possède son propre cache interne sous forme d'une table + de hashage. Cela implique que chaque numéro IP ne fera l'objet + d'une requête DNS que la première fois où il est rencontré dans le + fichier journal.

+ +

Le programme reçoit le fichier journal sur son entrée standard. + Les adresses IP doivent se trouver en tête de chaque ligne et + doivent être séparées du reste de la ligne par un espace.

+
+ +
top
+
+

Syntaxe

+ +

logresolve [ -s + nom-fichier ] [ -c ] < + access_log > access_log.new

+
top
+
+

Options

+ +
+ +
-s nom-fichier
+ +
Spécifie le nom du fichier où seront enregistrées des +statistiques.
+ +
-c
+ +
Avec cette option, logresolve effectue certaines +vérifications DNS : après avoir trouvé le nom d'hôte correspondant à une +adresse IP, logresolve effectue une recherche DNS sur ce +nom d'hôte et vérifie si une des adresses IP trouvées correspond à +l'adresse originale.
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/programs/rotatelogs.html.fr b/docs/manual/programs/rotatelogs.html.fr new file mode 100644 index 0000000000..11620db9f8 --- /dev/null +++ b/docs/manual/programs/rotatelogs.html.fr @@ -0,0 +1,307 @@ + + + + + +rotatelogs - Rotation des journaux d'Apache par redirection de + ces derniers dans un "pipe" - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Programmes

rotatelogs - Rotation des journaux d'Apache par redirection de + ces derniers dans un "pipe"

+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
+ +

rotatelogs est un programme simple à utiliser en + conjonction avec la fonctionnalité d'Apache de redirection dans un + "pipe" des fichiers journaux. Il supporte une rotation basée sur un + intervalle de temps ou une taille maximale du journal.

+
+ +
top
+
+

Syntaxe

+ +

rotatelogs + [ -l ] + [ -L nom-lien ] + [ -p programme ] + [ -f ] + [ -D ] + [ -t ] + [ -v ] + [ -e ] + [ -c ] + [ -n nombre-de-fichiers ] + fichier-journal + heure-de-rotation|taille-fichier(B|K|M|G) + [ décalage ]

+
top
+
+

Options

+ +
+ +
-l
+
Utilise le temps local plutôt que GMT comme base pour l'intervalle +de temps ou pour le formatage de strftime(3) avec une +rotation basée sur la taille.
+ +
-L nom-lien
+
Etablit un lien physique entre le fichier journal courant et le lien +spécifié. Cette option permet de consulter le journal de manière +continue malgré les rotations via une commande du style tail -F +nom-lien.
+ +
-p programme
+
Avec cette option, rotatelogs exécutera le programme +programme chaque fois qu'un nouveau fichier journal sera +ouvert. Le nom du fichier nouvellement ouvert est passé comme premier +argument au programme. Si l'exécution se produit après une rotation, +l'ancien nom du fichier journal est passé au programme comme second +argument. rotatelogs +n'attend pas la fin du programme pour continuer son +exécution, et cessera tout enregistrement de codes d'erreur lorsqu'il +aura terminé son processus. Le programme utilise les mêmes +canaux stdin, stdout, et stderr que rotatelogs, et hérite de son +environnement.
+ +
-f
+
Ouvre le fichier journal immédiatement, dès que +rotatelogs démarre, au lieu d'attendre la lecture de la +première entrée de journal (pour les sites peu chargés, il peut +s'écouler un temps substantiel entre le démarrage du serveur et le +traitement de la première requête, temps pendant lequel le fichier +journal associé n'"existe" pas, ce qui peut causer des problèmes à +certains utilitaires de journalisation automatiques).
+ +
-D
+
Crée les répertoires parents du chemin du fichier journal s'ils +n'existent pas déjà, ce qui permet d'utiliser le format +strftime(3) dans les chemins au lieu du nom de fichier seul.
+ +
-t
+
Provoque une troncature du fichier journal au lieu d'une rotation. +Cela peut s'avérer utile lorsqu'un journal est élaboré en temps réel par +une commande telle que tail, l'archivage des données n'étant ici pas +nécessaire. Si aucun suffixe n'est ajouté au nom de fichier, les +chaînes de format contenant des caractères '%' sont cependant +respectées. +
+ +
-v
+
Affiche une sortie verbeuse sur STDERR. La sortie contient le +résultat de l'interprétation de la configuration, ainsi que toutes les +opérations d'ouverture et de fermeture de fichiers.
+ +
-c
+
Crée un fichier journal pour chaque intervalle, même s'il est vide.
+ +
-e
+
Envoie les messages de journalisation vers stdout. Ceci s'avère +utile lorsque les journaux doivent être traités par un autre programme.
+ +
-n nombre-de-fichiers
+
Utilise une liste circulaire de fichiers sans repères de temps. Avec +-n 3, la série de fichiers conservés sera "logfile", +"logfile.1", "logfile.2" avec écrasement de "logfile".
+Disponible à partir de la version 2.4.5 du serveur HTTP Apache.
+ +
fichier-journal
+

Le chemin et le nom de base du fichier journal. Si +fichier-journal contient des caractères '%', il est considéré +comme une chaîne de formatage pour strftime(3). Dans le cas +contraire, le suffixe .nnnnnnnnnn est automatiquement ajouté +et correspond au temps en secondes (sauf si l'option -t est spécifiée). +Les deux formats calculent le temps +de démarrage depuis le début de la période courante. Par exemple, si un +temps de rotation de 86400 est spécifié, les champs heure, minute et +seconde créés à partir du format strftime(3) auront tous +pour valeur 0, en référence au début de la période de 24 heures courante +(minuit).

+

Si vous utilisez le formatage de noms de fichiers +strftime(3), assurez-vous que le format du fichier journal +possède une granularité suffisamment importante pour générer un nom de +fichier différent à chaque rotation des journaux. Si ce n'est pas le +cas, la rotation va écraser le fichier existant au lieu d'en générer un +nouveau. Par exemple, si fichier-journal était +/var/log/errorlog.%Y-%m-%d avec une rotation à 5 +mégaoctets, et si la limite de 5 mégaoctets a été atteinte deux fois +dans la même journée, le même nom de fichier va être généré, et la +rotation va écraser le fichier existant.

+
+ +
temps-rotation
+ +
Le temps entre deux rotations des fichiers journaux en secondes. La +rotation intervient au début de cet intervalle. Par exemple, si le temps +de rotation est de 3600, la rotation des fichiers journaux s'effectuera +au début de chaque heure ; si le temps de rotation est de 86400, la +rotation des fichiers journaux s'effectuera chaque nuit à minuit. (Si +aucune donnée n'est enregistrée au cours d'un intervalle, aucun fichier +ne sera créé).
+ +
taille-fichier(B|K|M|G)
+ +
La taille maximale du fichier suivie par une des lettres +B (Octets), K (KOctets), M (MOctets) +ou G (GOctets). +

+Lorsque temps et taille sont spécifiés, la taille doit l'être après le +temps. La rotation interviendra alors aussitôt que l'une des deux limites +(temps ou taille) sera atteinte. +

+
+ +
décalage
+ +
Le décalage en minutes par rapport au temps UTC. Par défaut, le +décalage est considéré comme nul et c'est le temps UTC qui est utilisé. +Par exemple, pour utiliser le temps local de la zone UTC -5 heures, +spécifiez une valeur de -300 pour cette option. Dans la +plupart des cas, il vaut mieux utiliser l'option -l que +spécifier un décalage.
+ +
+
top
+
+

Exemples

+ +

+ CustomLog "|bin/rotatelogs /var/log/fichier-journal 86400" common +

+ +

Cette directive crée les fichiers /var/log/fichier-journal.nnnn + où nnnn correspond au temps système auquel la journalisation + démarre effectivement (ce temps sera toujours un multiple du temps + de rotation, si bien que vous pouvez synchroniser les scripts cron + avec lui). A la fin de chaque temps de rotation (ici après 24 + heures), une nouvelle journalisation démarre.

+ +

+ CustomLog "|bin/rotatelogs -l /var/log/fichier-journal.%Y.%m.%d 86400" common +

+ +

Cette directive crée les fichiers + /var/log/fichier-journal.yyyy.mm.dd où yyyy correspond à l'année, + mm au mois et dd au jour du mois. La journalisation basculera vers + un nouveau fichier chaque jour à minuit, temps local.

+ +

+ CustomLog "|bin/rotatelogs /var/log/fichier-journal 5M" common +

+ +

Cette directive va effectuer une rotation du fichier journal + chaque fois que la taille de ce dernier atteindra 5 MOctets.

+ +

+ ErrorLog "|bin/rotatelogs /var/log/journal-erreurs.%Y-%m-%d-%H_%M_%S 5M" +

+

Cette directive va effectuer une rotation du fichier journal des + erreurs chaque fois que la taille de ce dernier atteindra 5 + MOctets, et le nom du fichier journal se présentera sous + la forme journal-erreurs.YYYY-mm-dd-HH_MM_SS.

+ +

+ CustomLog "|bin/rotatelogs -t /var/log/journal 86400" common +

+ +

Cet exemple crée le fichier /var/log/journal en le tronquant + au démarrage, puis une fois par jour. Ce scénario implique qu'un + processus séparé (tel que tail) traite le fichier en temps + réel.

+ +
top
+
+

Portabilité

+ +

Les substitutions des chaînes de format du fichier journal suivantes +doivent être supportées par toutes les implémentations de +strftime(3) ; voir la page de manuel de +strftime(3) pour les extensions spécifiques à une +bibliothèque.

+ + + + + + + + + + + + + + + + + + + + + + + +
%Anom du jour de la semaine en entier +(localisé)
%anom du jour de la semaine sur 3 +caractères (localisé)
%Bnom du mois en entier (localisé)
%bnom du mois sur 3 caractères (localisé)
%cdate et heure (localisé)
%djour du mois sur 2 chiffres
%Hheure sur 2 chiffres (de 0 à 24h)
%Iheure sur 2 chiffres (de 0 à 12h)
%jjour de l'année sur 3 chiffres
%Mminutes sur 2 chiffres
%mmois sur 2 chiffres
%psuffixe am/pm pour l'heure de 0 à 12h +(localisé)
%Ssecondes sur 2 chiffres
%Usemaine de l'année sur 2 chiffres +(Dimanche est le premier jour de la semaine)
%W semaine de l'année sur 2 chiffres +(Lundi est le premier jour de la semaine)
%wjour de la semaine sur 1 chiffre +(Dimanche est le premier jour de la semaine)
%Xheure (localisée)
%xdate (localisée)
%Yannée sur 4 chiffres
%yannée sur 2 chiffres
%Znom de la zone de temps
%%caractère littéral `%'
+ +
+
+

Langues Disponibles:  en  | + fr  | + ko  | + tr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/access.html.fr b/docs/manual/rewrite/access.html.fr new file mode 100644 index 0000000000..7e2050d23d --- /dev/null +++ b/docs/manual/rewrite/access.html.fr @@ -0,0 +1,331 @@ + + + + + +Utiliser mod_rewrite pour le contrôle d'accès - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Rewrite

Utiliser mod_rewrite pour le contrôle d'accès

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la documentation de référence de +mod_rewrite. Il explique comment utiliser +mod_rewrite pour contrôler l'accès à diverses +ressources, ainsi que d'autres techniques en rapport. Il contient de +nombreux exemples d'utilisation courante de mod_rewrite avec une +description détaillée de leur fonctionnement.

+ +
Vous devez vous attacher à comprendre le +fonctionnement des exemples, car la plupart d'entre eux ne +fonctionneront pas sur votre système si vous vous contentez de les +copier/coller dans vos fichiers de configuration.
+ +
+ +
top
+
+

Blocage du référencement à chaud (Hotlinking) d'images

+ + + +
+
Description :
+ +
+

Cette technique vous permet d'interdire à d'autres sites + d'inclure directement vos images dans leurs pages. On fait + souvent référence à cette pratique sous le nom de + référencement à chaud (Hotlinking) qui entraîne l'utilisation + de votre bande passante pour servir des contenus faisant + partie du site de quelqu'un d'autre.

+
+ +
Solution :
+ +
+

Cette technique repose sur la valeur de la variable + optionnelle HTTP_REFERER. Certaines personnes + pourront donc contourner cette limitation. Pour la plupart des + utilisateurs cependant, la requête échouera, en ce sens que + l'image ne sera pas affichée depuis le site tiers.

+

Il y a plusieurs manières de gérer cette situation.

+ +

Dans le premier exemple, nous rejetons tout simplement la + requête si elle ne provenait pas d'une page appartenant à notre + site. Pour les besoins de cet exemple, nous supposons que le nom + de votre site est www.example.com.

+ + + +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$"    "-"   [F,NC]
+ + +

Dans le second exemple, plutôt que de rejeter la requête, + nous affichons une autre image à la place.

+ +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$"    "/images/go-away.png"   [R,NC]
+ + +

Dans le troisième exemple, nous redirigeons la requête vers + une image appartenant à un autre site.

+ +
RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif"   [R,NC]
+ + +

De tous ces exemples, les deux derniers semblent les plus + efficaces pour faire en sorte que les gens arrêtent de + référencer vos images à chaud, car il ne verront pas les images + qu'ils s'attendent à voir.

+ +
+ +
Discussion :
+ +
+

Si vous ne voulez pas rediriger la requête, mais + simplement interdire l'accès à la ressource, vous pouvez y + parvenir sans utiliser mod_rewrite :

+ +
SetEnvIf Referer example\.com localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+    Require env localreferer
+</FilesMatch>
+ +
+
+ +
top
+
+

Blocage des robots

+ + + +
+
Description :
+ +
+

+ Dans cet exemple, nous allons discuter d'une méthode permettant + de bloquer les requêtes persistentes en provenance d'un robot + particulier, ou d'un navigateur.

+ +

La méthode classique pour exclure un robot consiste à définir + un fichier, /robots.txt qui spécifie les parties de + votre site web pour lesquelles vous voulez exclure les robots. + Malheureusement, certains robots ne tiennent pas compte de ces + fichiers. +

+ +

Notez qu'il existe des méthodes d'exclusion qui n'utilisent + pas mod_rewrite. Notez aussi que toute technique qui repose sur + le contenu de la chaîne client USER_AGENT peut être + contournée très facilement car cette chaîne peut être modifiée.

+
+ +
Solution :
+ +
+

On utilise un jeu de règles qui spécifie le répertoire à + protéger, ainsi que la chaîne client USER_AGENT qui + identifie le robot malin ou envahissant.

+ +

Dans cet exemple, nous bloquons un robot nommé + Vilain_Robot pour le répertoire + /secret/fichiers. Si vous voulez bloquer ce client + seulement depuis une source particulière, vous pouvez aussi + spécifier un intervalle d'adresses IP.

+ +
RewriteCond "%{HTTP_USER_AGENT}"   "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}"       "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/"   "-"   [F]
+ +
+ +
Discussion :
+ +
+

+ Vous pouvez cependant parvenir au même résultat sans utiliser + mod_rewrite via la méthode alternative suivante : +

+
SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+<Location "/secret/files">
+    <RequireAll>
+        Require all granted
+        Require not env goaway
+    </RequireAll>
+</Location>
+ +

+ Comme indiqué plus haut, il est aisé de contourner cette + technique, simplement en modifiant le contenu de l'en-tête + USER_AGENT. Si vous subissez une attaque en règle, + vous allez devoir réfléchir à un blocage à un niveau supérieur, + par exemple une règle de filtrage de votre pare-feu. +

+ +
+ +
+ +
top
+
+

Rejet des clients contenus dans une liste noire

+ + + +
+
Description :
+ +
+

Nous voulons interdire l'accès à notre serveur aux clients + contenus dans une liste noire similaire à + hosts.deny.

+
+ +
Solution :
+ +
+
RewriteEngine on
+RewriteMap    hosts-deny  "txt:/path/to/hosts.deny"
+RewriteCond   "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond   "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule   "^"  "-"  [F]
+ + +

+##
+## hosts.deny
+##
+## ATTENTION! Ceci est une table de correspondances, non une liste,
+## même si elle est traitée comme telle. mod_rewrite
+## l'interprète comme une liste de paires clé/valeur, et
+## chaque entrée doit au moins posséder une valeur par
+## défaut "-".
+
+193.102.180.41 -
+bsdti1.sdm.de -
+192.76.162.40 -
+

+
+ +
Discussion :
+
+

+ La seconde condition RewriteCond présuppose que HostNameLookups est + défini à On, de façon à ce que les adresses IP des clients puissent + être résolues. Dans le cas contraire, vous devez supprimer la + seconde condition, ainsi que le drapeau [OR] de la + première. +

+
+
+ +
top
+
+

Aiguillage basé sur l'en-tête Referer

+ + + +
+
Description :
+ +
+

Redirige les requêtes en fonction du Referer de provenance de + la requête, avec des cibles différentes pour chaque Referer.

+
+ +
Solution :
+ +
+

Le jeu de règles suivant utilise un fichier de correspondances pour + associer chaque Referer à une cible de redirection.

+ +
RewriteMap  deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]
+ + +

Le fichier de correspondances contient les cibles de + redirection associées à chaque Referer, ou, si nous voulons + simplement rediriger les requêtes vers leur Referer, un "-" est + inscrit dans le fichier de correspondances :

+ +
##
+##  deflector.map
+##
+
+http://badguys.example.com/bad/index.html    -
+http://badguys.example.com/bad/index2.html   -
+http://badguys.example.com/bad/index3.html   http://somewhere.example.com/
+ + +
+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/advanced.html.fr b/docs/manual/rewrite/advanced.html.fr new file mode 100644 index 0000000000..c41d45aff2 --- /dev/null +++ b/docs/manual/rewrite/advanced.html.fr @@ -0,0 +1,385 @@ + + + + + +Advanced Techniques with mod_rewrite - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Rewrite

Advanced Techniques with mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document complète la documentation de référence du + module mod_rewrite. Il présente un certain nombre + de techniques avancées quant à + l'utilisation de mod_rewrite.

+ + + +
Notez que la plupart des exemples ne fonctionneront +pas en l'état dans la configuration particulière de votre serveur ; il +est donc important de bien comprendre leur fonctionnement, plutôt que de +simplement les copier/coller dans votre configuration.
+ +
+ +
top
+
+

Distribution de la charge entre plusieurs serveurs + d'arrière-plan en fonction de l'adresse IP

+ + + +
+
Description :
+ +
+

La fragmentation ou "sharding" est une technique courante de + distribution de la charge du serveur ou de l'espace de stockage. + Quand on utilise cette méthode, un serveur frontal utilise l'URL + pour répartir de manière appropriée les utilisateurs et objets + entre différents serveurs d'arrière-plan.

+
+ +
Solution :
+ +
+

On maintient une table de correspondance entre utilisateurs et + serveurs cibles dans des fichiers externes. Ces derniers se + présentent comme suit :

+ +

+utilisateur1 serveur_physique_utilisateur1
+utilisateur2 serveur_physique_utilisateur2
+: : +

+ +

Tout ceci est enregistré dans un fichier + correspondances-utilisateurs-serveurs. Le but est de + faire correspondre

+ +

+/u/utilisateur1/chemin +

+ +

avec

+ +

+http://serveur_physique_utilisateur1/u/utilisateur/chemin +

+ +

il n'est ainsi pas nécessaire que tous les chemins URL soient + valides sur tous les serveurs physiques d'arrière-plan. Le jeu de + règles suivant fait tout ceci pour nous, en s'appuyant sur les + fichiers de correspondances, en supposant que serveur0 est un + serveur par défaut qui sera utilisé lorsqu'un utilisateur ne + possèdera pas d'entrée dans la table de correspondances :

+ +
RewriteEngine on
+RewriteMap      users-to-hosts   "txt:/path/to/map.users-to-hosts"
+RewriteRule   "^/u/([^/]+)/?(.*)"   "http://${users-to-hosts:$1|server0}/u/$1/$2"
+ +
+
+ +

Voir la documentation de RewriteMap pour une description plus + approfondie de la syntaxe de cette directive.

+ +
top
+
+

Régéneration de contenu à la volée

+ + + +
+
Description :
+ +
+

Nous voulons générer du contenu de manière dynamique, mais le + conserver de manière statique lorsqu'il a été généré. La règle + suivante vérifie l'existence du fichier statique, et le génère + s'il est absent. Les fichiers statiques peuvent être supprimés + périodiquement si on le désire (par exemple via cron), et seront + régénérés à la demande.

+
+ +
Solution :
+ +
+ A cet effet, on utilise le jeu de règles suivant : + +
# Cet exemple n'est valable que dans un contexte de répertoire
+RewriteCond "%{REQUEST_URI}"   !-U
+RewriteRule "^(.+)\.html$"          "/regenerate_page.cgi"   [PT,L]
+ + +

L'opérateur -U permet de déterminer si la chaîne + de test (dans ce cas REQUEST_URI) est une URL valide. + Pour ce faire, il utilise une sous-requête. Si cette sous-requête + échoue, ou en d'autres termes, si la ressource demandée n'existe pas, + cette règle invoque le programme CGI + /regenerate_page.cgi qui génère la ressource + demandée et la sauvegarde dans le répertoire des documents, de + façon à ce qu'une copie statique puisse être servie lors d'une + demande ultérieure.

+ +

De cette façon, les documents qui ne sont pas mis à jour + régulièrement peuvent être servis sous une forme statique. Si ces + documents doivent être réactualisés, on peut les supprimer du + répertoire des documents, et ils seront ainsi régénérés à la + prochaine demande.

+
+
+ +
top
+
+

Répartition de charge

+ + + +
+
Description :
+ +
+

Nous voulons répartir la charge de manière aléatoire entre + plusieurs serveurs en utilisant mod_rewrite.

+
+ +
Solution :
+ +
+

Pour y parvenir, nous allons utiliser la directive RewriteMap et une liste de + serveurs.

+ +
RewriteEngine on
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:serveurs}/$1" [P,L]
+ + +

liste-serveurs.txt contiendra la liste des serveurs :

+ +

+## liste-serveurs.txt
+
+serveurs un.example.com|deux.example.com|trois.example.com
+

+ +

Si vous voulez qu'un serveur se voit confier d'avantage de charge que +les autres, faites le figurer plusieurs fois dans la liste.

+ +
+ +
Discussion
+
+

Apache possède un module de répartition de charge - +mod_proxy_balancer - beaucoup plus souple et présentant +plus de fonctionnalités dans ce domaine que mod_rewrite.

+
+
+ +
top
+
+

Répertoires Home structurés

+ + + +
+
Description :
+ +
+

Certains sites avec des milliers d'utilisateurs organisent + les répertoires utilisateurs de manière structurée, c'est à + dire que chaque répertoire utilisateur se trouve dans un + sous-répertoire dont le nom commence (par exemple) par le + premier caractère du nom de l'utilisateur. Ainsi, + /~larry/chemin correspond à + /home/l/larry/public_html/chemin, alors + que /~waldo/chemin correspond à + /home/w/waldo/public_html/chemin.

+
+ +
Solution :
+ +
+

On utilise le jeu de règles suivant pour développer les + URLs avec tilde selon l'organisation structurée précédente.

+ +
RewriteEngine on
+RewriteRule   "^/~(([a-z])[a-z0-9]+)(.*)"  "/home/$2/$1/public_html$3"
+ +
+
+ +
top
+
+

Redirection des ancrages

+ + + +
+
Description :
+ +
+

Par défaut, la redirection vers un ancrage HTML ne fonctionne + pas, car mod_rewrite échappe le caractère # en le + transformant en %23, ce qui rend la redirection + inopérante.

+
+ +
Solution :
+ +
+

On utilise le drapeau [NE] dans la règle + RewriteRule. NE signifie "No Escape". +

+
+ +
Discussion :
+
Cette technique fonctionne bien entendu pour tout autre + caractère spécial que mod_rewrite, par défaut, code pour insertion + dans une URL.
+
+ +
top
+
+

Réécriture dépendant de l'heure

+ + + +
+
Description :
+ +
+

Nous voulons servir des contenus différents selon l'heure du + jour en utilisant mod_rewrite.

+
+ +
Solution :
+ +
+

Il existe de nombreuses variables nommées + TIME_xxx utilisables dans les conditions de + réécriture. Utilisées en conjonction avec les modèles de + comparaison lexicographique spéciaux <STRING, + >STRING et =STRING, elles + permettent d'effectuer des redirections dépendant de + l'heure :

+ +
RewriteEngine on
+RewriteCond   "%{TIME_HOUR}%{TIME_MIN}" >0700
+RewriteCond   "%{TIME_HOUR}%{TIME_MIN}" <1900
+RewriteRule   "^foo\.html$"             "foo.day.html" [L]
+RewriteRule   "^foo\.html$"             "foo.night.html"
+ + +

Avec cet exemple, l'URL foo.html renvoie + le contenu de foo.jour.html durant le + créneau horaire 07:01-18:59, et le contenu de + foo.nuit.html le reste du temps.

+ +
mod_cache, les mandataires + intermédiaires et les navigateurs peuvent chacun mettre en cache + les réponses et ainsi afficher une des deux pages en dehors de + la fenêtre de temps configurée. On peut utiliser + mod_expires pour contourner ce problème. Il est + cependant bien plus commode de servir un contenu dynamique, et + de le personnaliser en fonction de l'heure du jour.
+
+ +
top
+
+

Définir des variables d'environnement en fonction de + certaines parties de l'URL

+ + + +
+
Description :
+ +
+

Ici, nous voulons conserver une certaine forme de statut + lorsqu'une réécriture a eu lieu. Par exemple, vous souhaitez + consigner le fait que cette réécriture a eu lieu, et vous servir + plus tard de cette information pour déterminer si une requête sera + concernée par cette réécriture. Pour y parvenir, on peut utiliser + une variable d'environnement.

+
+ +
Solution :
+ +
+

Utiliser le drapeau [E] pour définir une variable + d'environnement.

+ +
RewriteEngine on
+RewriteRule   "^/cheval/(.*)"   "/poney/$1" [E=rewritten:1]
+ + +

Plus loin dans votre jeu de règles, vous pouvez vérifier le + contenu de cette variable d'environnement via une directive + RewriteCond :

+ +
RewriteCond "%{ENV:rewritten}" =1
+ + +
+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/avoid.html.fr b/docs/manual/rewrite/avoid.html.fr new file mode 100644 index 0000000000..cca86be7f0 --- /dev/null +++ b/docs/manual/rewrite/avoid.html.fr @@ -0,0 +1,271 @@ + + + + + +Quand ne pas utiliser mod_rewrite - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Rewrite

Quand ne pas utiliser mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la Documentation de référence de +mod_rewrite. Il décrit peut-être un des concepts les +plus importants à propos de mod_rewrite - à savoir, quand doit-on éviter +de l'utiliser.

+ +

mod_rewrite doit être considéré comme un dernier recours, +lorsqu'aucune alternative n'est possible. Utiliser mod_rewrite lorsqu'il +existe des alternatives plus simples conduit à des configurations +confuses, fragiles, et difficiles à maintenir. La compréhension des +autres alternatives disponibles est une étape très importante sur le +chemin de la maîtrise de mod_rewrite.

+ +

Vous devez vous attacher à comprendre le +fonctionnement des exemples, car la plupart d'entre eux ne +fonctionneront pas sur votre système si vous vous contentez de les +copier/coller dans vos fichiers de configuration.

+ +

Le cas le plus courant dans lequel mod_rewrite est +l'outil approprié est la situation où la seule solution envisageable +nécessite l'accès aux fichiers de configuration du serveur, alors que +cet accès ne vous est pas accordé. Certaines directives de configuration +ne sont disponibles que dans le fichier de configuration du serveur. Si +vous ne pouvez agir que sur les fichiers .htaccess, vous devrez donc +vous tourner vers mod_rewrite.

+ +
+ +
top
+
+

Redirection simple

+ + +

mod_alias fournit les directives Redirect et RedirectMatch qui permettent de +rediriger une URL vers une autre. Plutôt que d'utiliser la directive +RewriteRule pour ce genre de +redirection simple d'une URL ou d'une classe d'URLs vers une autre, on +préfèrera l'utilisation de ces directives. En outre, avec +RedirectMatch, vous pouvez inclure une expression +rationnelle dans votre critère de redirection, ce qui vous permet de +bénéficier de nombreux avantages de la directive +RewriteRule.

+ +

Une utilisation courante de la directive RewriteRule est +la redirection de toute une classe d'URLs. Par exemple, toutes les URLs +faisant référence au répertoire /un doivent être +redirigées vers http://un.example.com/, ou toutes les +requêtes http doivent être redirigées vers +https.

+ +

Pour ce faire, il est préférable d'utiliser la directive +Redirect. Souvenez-vous que la directive +Redirect conserve les informations relatives au chemin. En +d'autres termes, la redirection d'une URL /un va aussi +rediriger toutes les URLs de niveaux inférieurs comme +/un/deux.html et /un/trois/quatre.html.

+ +

Pour rediriger les URLs sous /un vers +http://un.example.com/, utilisez cette définition :

+ +
Redirect /one/ http://one.example.com/
+ + +

Pour rediriger un nom d'hôte vers un autre nom d'hôte, par exemple +example.com vers www.example.com, voir la +méthode Noms d'hôtes canoniques.

+ +

Pour rediriger les URLs http vers https, +utilisez cette définition :

+ +
<VirtualHost *:80>
+ServerName www.example.com
+Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ServerName www.example.com
+#  ... insérer ici la configuration SSL
+</VirtualHost>
+ + +

L'utilisation de la directive RewriteRule pour accomplir +cette tâche peut se justifier s'il existe d'autres directives +RewriteRule dans la même portée. En effet, lorsque des +directives Redirect et RewriteRule se trouvent +dans la même portée, les directives RewriteRule sont +exécutées en premier, sans tenir compte de leur ordre d'apparition dans +le fichier de configuration.

+ +

Dans le cas de la redirection http-vers-https, l'utilisation +de règles RewriteRule se justifie si vous n'avez pas accès +au fichier de configuration principal, et devez donc accomplir cette +tâche au sein d'un fichier .htaccess.

+ +
top
+
+

Alias d'URL

+

La directive Alias permet +de mettre en correspondance un URI avec un répertoire, ce dernier étant +en général situé en dehors de l'arborescence définie par la directive +DocumentRoot. Bien qu'il soit +possible d'effectuer cette mise en correspondance avec +mod_rewrite, il est préférable d'utiliser la directive +Alias pour des raisons de simplicité +et de performances.

+ +

Utilisation de la directive Alias

Alias "/cats" "/var/www/virtualhosts/felines/htdocs"
+
+ +

+Pour effectuer cette mise en correspondance, mod_rewrite +s'impose si vous n'avez pas accès aux fichiers de configuration du +serveur. En effet, la directive Alias ne peut pas être utilisée dans un +fichier .htaccess, mais seulement dans un contexte de +serveur principal ou de serveur virtuel. +

+ +

En outre, vous pouvez arriver au même résultat avec les liens +symboliques, pourvu que Options FollowSymLinks soit activé +sur votre serveur.

+
top
+
+

Hébergement virtuel

+

Bien qu'il soit possible de gérer les serveurs +virtuels avec mod_rewrite, il s'agit rarement de la bonne méthode. +Il est pratiquement toujours préférable de créer des blocs +<VirtualHost> individuels. +Dans l'éventualité où vous devez gérer +un grand nombre de serveurs virtuels, vous devez vous tourner vers +mod_vhost_alias pour créer ces serveurs +automatiquement.

+ +

Il est aussi possible d'utiliser des modules comme mod_macro pour +créer un grand nombre de serveurs virtuels dynamiquement.

+ +

L'utilisation de mod_rewrite pour la création de +serveurs virtuels peut se révéler appropriée si votre service +d'hébergement ne vous permet pas d'accéder aux fichiers de configuration +du serveur, et que vous soyez par conséquent obligé de passer par les +fichiers .htaccess.

+ +

Voir le document création de serveurs virtuels +avec mod_rewrite pour plus de détails sur la manière d'y parvenir si +cela semble être tout de même la meilleure approche.

+ +
top
+
+

Mandat simple

+ +

La directive RewriteRule fournit +le drapeau [P] qui permet de faire passer les URIs +réécrits par mod_proxy.

+ +
RewriteRule "^/?images(.*)" "http://serveur-images.local/images$1" [P]
+ + +

Cependant, dans les nombreux cas où aucune correspondance au modèle +n'est vraiment nécessaire, comme dans l'exemple ci-dessus, il est +préférable d'utiliser la directive ProxyPass. L'exemple précédent pourrait +être remplacé par :

+ +
ProxyPass "/images/" "http://serveur-images.local/images/"
+ + +

Que vous utilisiez RewriteRule ou ProxyPass, vous devrez dans tous les cas +utiliser aussi la directive ProxyPassReverse pour intercepter les +redirections en provenance du serveur d'arrière-plan :

+ +
ProxyPassReverse "/images/" "http://serveur-images.local/images/"
+ + +

Vous devrez cependant tout de même utiliser RewriteRule +lorsque d'autres RewriteRules se trouvent dans la même portée, +car elles agissent en général avant les directives +ProxyPass, et peuvent ainsi les court-circuiter.

+ +
top
+
+

Test de variables d'environnement

+ +

mod_rewrite est souvent utilisé pour effectuer une +action en fonction de la présence ou de l'absence d'une variable +d'environnement particulière ou d'un en-tête de requête, ce qui peut +être accompli de manière plus efficace via la directive <If>.

+ +

Considérons par exemple le scénario courant où la directive +RewriteRule est utilisée pour forcer un nom +d'hôte canonique, tel que www.example.com au lieu de +example.com. Il est possible d'utiliser à la place la +directive <If> comme +suit :

+ +
<If "req('Host') != 'www.example.com'">
+    Redirect "/" "http://www.example.com"
+</If>
+ + +

On peut utiliser cette technique dans de nombreux scénarios courant +pour remplacer mod_rewrite pour effectuer des actions +en fonction d'en-têtes de requêtes ou de réponses, ou de variables +d'environnement.

+ +

Voir en particulier la documentation sur +l'évaluation des expressions pour une vue d'ensemble des types +d'expressions que vous pouvez utiliser dans les sections <If>, +ainsi que dans certaines directives.

+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/htaccess.html.fr b/docs/manual/rewrite/htaccess.html.fr new file mode 100644 index 0000000000..dfca6ea652 --- /dev/null +++ b/docs/manual/rewrite/htaccess.html.fr @@ -0,0 +1,67 @@ + + + + + +mod_rewrite et les fichiers .htaccess - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Rewrite

mod_rewrite et les fichiers .htaccess

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément de la documentation de référence du module +mod_rewrite. Il décrit les changements apportés aux règles +lorsqu'on utilise mod_rewrite dans les fichiers .htaccess, et comment +travailler avec ces changements.

+ +
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/proxy.html.fr b/docs/manual/rewrite/proxy.html.fr new file mode 100644 index 0000000000..821c128d8e --- /dev/null +++ b/docs/manual/rewrite/proxy.html.fr @@ -0,0 +1,124 @@ + + + + + +Utilisation de mod_rewrite comme mandataire - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Rewrite

Utilisation de mod_rewrite comme mandataire

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément de la documentation de référence du module +mod_rewrite. Il décrit comment utiliser le drapeau [P] +de la directive RewriteRule pour mandater un contenu vers un autre +serveur. Plusieurs recettes décrivant des scénarios courants sont +fournies.

+ +
+ +
top
+
+

Mandater du contenu avec mod_rewrite

+ + + +
+
Description :
+ +
+

+ mod_rewrite implémente le drapeau [P] qui permet de passer des URLs, + via mod_proxy, à un autre serveur. Deux exemples sont fournis ici. + Dans le premier, une URL est passée directement à un autre serveur, + et servie comme si c'était une URL locale. Dans le deuxième, nous + mandatons un contenu manquant vers un serveur d'arrière-plan.

+
+ +
Solution :
+ +
+

Pour passer une URL à un autre serveur, on utilise le drapeau + [P] comme suit :

+ +
RewriteEngine  on
+RewriteBase    "/produits/"
+RewriteRule    "^widget/(.*)$"  "http://produits.example.com/widget/$1"  [P]
+ProxyPassReverse "/produits/objet/" "http://produits.example.com/objet/"
+ + +

Dans le deuxième exemple, nous ne mandatons la requête que si nous + ne trouvons pas la ressource localement. Ceci peut s'avérer très + utile lorsque vous effectuez une migration d'un serveur vers un + autre, et que vous n'êtes pas certain que tout le contenu a déjà été + migré.

+ +
RewriteCond "%{REQUEST_FILENAME}"       !-f
+RewriteCond "%{REQUEST_FILENAME}"       !-d
+RewriteRule "^/(.*)" "http://ancien.exemple.com/$1" [P]
+ProxyPassReverse "/" "http://ancien.exemple.com/"
+ +
+ +
Discussion :
+ +

Dans les deux cas, on ajoute une directive ProxyPassReverse afin de s'assurer + que toute redirection en provenance du serveur d'arrière-plan est + renvoyée correctement au client.

+ +

Chaque fois que cela est possible, préférez l'utilisation de la + directive ProxyPass ou + ProxyPassMatch à + mod_rewrite.

+
+
+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/remapping.html.fr b/docs/manual/rewrite/remapping.html.fr new file mode 100644 index 0000000000..5e441a4920 --- /dev/null +++ b/docs/manual/rewrite/remapping.html.fr @@ -0,0 +1,677 @@ + + + + + +Redirection et remise en correspondance avec mod_rewrite - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Rewrite

Redirection et remise en correspondance avec mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la Documentation de référence de +mod_rewrite. Il montre comment utiliser +mod_rewrite pour rediriger et remettre en +correspondance une requête. Il contient de +nombreux exemples d'utilisation courante de mod_rewrite avec une +description détaillée de leur fonctionnement.

+ +
Vous devez vous attacher à comprendre le +fonctionnement des exemples, car la plupart d'entre eux ne +fonctionneront pas sur votre système si vous vous contentez de les +copier/coller dans vos fichiers de configuration.
+ +
+ +
top
+
+

De l'ancienne à la nouvelle URL (en interne)

+ + + +
+
Description :
+ +
+

Supposons que nous ayons récemment renommé la page + foo.html en bar.html, et voulions + maintenant que l'ancienne URL soit toujours valide à des fins + de compatibilité ascendante. En fait, on voudrait que le + changement de nom soit transparent aux utilisateurs de + l'ancienne URL.

+
+ +
Solution :
+ +
+

On réécrit l'ancienne URL en interne vers la nouvelle via + la règle suivante :

+ +
RewriteEngine  on
+RewriteRule    "^/foo\.html$" "/bar.html" [PT]
+ +
+
+ +
top
+
+

De l'ancien au nouveau (en externe)

+ + + +
+
Description :
+ +
+

Supposons toujours que nous ayons récemment renommé la page + foo.html en bar.html, et voulions + maintenant que l'ancienne URL soit toujours valide à des fins + de compatibilité ascendante. En revanche, nous voulons cette + fois que la nouvelle URL soit suggérée aux utilisateurs de + l'ancienne URL, c'est à dire que l'adresse vue depuis leur + navigateur doit également être modifiée.

+
+ +
Solution :
+ +
+

On force une redirection HTTP vers la nouvelle URL, ce qui + entraîne une modification de celle du navigateur et aussi de ce + que voit l'utilisateur :

+ +
RewriteEngine  on
+RewriteRule    "^foo\.html$"  "bar.html"  [R]
+ +
+ +
Discussion
+ +
+

Dans l'exemple interne, on a utilisé mod_rewrite afin + de dissimuler la redirection au client. Dans cet exemple, en + revanche, on aurait pu se contenter d'une directive Redirect :

+ +
Redirect "/foo.html" "/bar.html"
+ + +
+
+ +
top
+
+

Ressource déplacée vers un autre serveur

+ + + +
+
Description :
+ +
+

Si une ressource a été déplacée vers un autre serveur, vous + pouvez faire en sorte que les URLs de l'ancien serveur continuent + de fonctionner pendant un certain temps, afin de laisser au + utilisateurs le temps de modifier leurs favoris.

+
+ +
Solution :
+ +
+

Vous pouvez utiliser mod_rewrite pour + rediriger ces URLs vers le nouveau serveur, mais vous pouvez aussi + utiliser les directives Redirect ou RedirectMatch.

+ +
#Avec mod_rewrite
+RewriteEngine on
+RewriteRule   "^/docs/(.+)"  "http://nouveau.example.com/docs/$1"  [R,L]
+ + +
#Avec RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://nouveau.example.com/docs/$1"
+ + +
#Avec Redirect
+Redirect "/docs/" "http://nouveau.example.com/docs/"
+ +
+
+ +
top
+
+

De statique à dynamique

+ + + +
+
Description :
+ +
+

Comment transformer une page statique foo.html + en sa variante dynamique foo.cgi de manière + transparente, c'est à dire sans en avertir le + navigateur/utilisateur.

+
+ +
Solution :
+ +
+

On réécrit simplement l'URL en script CGI et force le + gestionnaire de contenu à cgi-script de façon + à ce que le script s'exécute en tant que programme CGI. + Ainsi, une requête vers /~quux/foo.html conduit + en interne à l'invocation de + /~quux/foo.cgi.

+ +
RewriteEngine  on
+RewriteBase    "/~quux/"
+RewriteRule    "^foo\.html$"  "foo.cgi"  [H=cgi-script]
+ +
+
+ +
top
+
+

Compatibilité ascendante dans le cadre d'une modification + d'extension de nom de fichier

+ + + +
+
Description :
+ +
+

Comment conférer une compatibilité ascendante aux URLs + (existant encore virtuellement) après avoir migré + document.YYYY vers document.XXXX, + c'est à dire après avoir par exemple traduit un lot de + fichiers .html en fichiers .php + ?

+
+ +
Solution :
+ +
+

On réécrit simplement le nom du fichier en son nom + de base et vérifie s'il existe aussi avec la nouvelle + extension. Si c'est le cas, on utilise ce nom, sinon on + réécrit l'URL sous sa forme originale.

+ + +
#   jeu de règles assurant une compatibilité ascendante en réécrivant
+# document.html en document.php si et seulement si document.php
+# existe +<Directory "/var/www/htdocs"> + RewriteEngine on + RewriteBase "/var/www/htdocs" + + RewriteCond "$1.php" -f + RewriteCond "$1.html" !-f + RewriteRule "^(.*).html$" "$1.php" +</Directory>
+ +
+ +
Discussion
+
+

Cet exemple utilise une fonctionnalité souvent méconnue de + mod_rewrite, en tirant avantage de l'ordre d'exécution du jeu de + règles. En particulier, mod_rewrite évalue la partie gauche des + règles de réécriture avant d'évaluer les directives RewriteCond. En + conséquence, $1 est déjà défini au moment où les directives + RewriteCond sont évaluées. Ceci nous permet de tester l'existence du + fichier original (document.html) et du fichier cible + (document.php) en utilisant le même nom de base.

+ +

Ce jeu de règles est conçu pour une utilisation dans un contexte + de répertoire (au sein d'une section <Directory> ou d'un + fichier .htaccess), de façon à ce que les vérifications + -f effectuent leurs recherches dans le bon répertoire. + Vous serez peut-être amené à définir une directive RewriteBase pour spécifier le + répertoire de base à partir duquel vous travaillez.

+
+
+ +
top
+
+

Noms d'hôtes canoniques

+ + + +
+
Description :
+ +
Le but de cette règle est de préférer l'utilisation d'un nom + d'hôte particulier à d'autres noms d'hôte utilisables + pour atteindre le même site. Par exemple, si vous voulez + utiliser www.example.com à la place de + example.com, vous pouvez utiliser une solution + du style :
+ +
Solution :
+ +
+ +

Pour y parvenir, il vaut mieux se passer de mod_rewrite, et utiliser +plutôt la directive Redirect dans +une section de serveur virtuel pour le/les noms d'hôte non canoniques.

+ +
<VirtualHost *:80>
+  ServerName undesired.example.com
+  ServerAlias example.com notthis.example.com
+
+  Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+  ServerName www.example.com
+</VirtualHost>
+ + +

Vous pouvez aussi utiliser la directive <If> (versions 2.4 et ultérieures) :

+ +
<If "%{HTTP_HOST} != 'www.example.com'">
+	Redirect "/" "http://www.example.com/"
+</If>
+ + +

Ou, par exemple, pour rediriger une portion de votre site vers HTTPS +:

+ +
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
+	Redirect "/admin/" "https://www.example.com/admin/"
+</If>
+ + +

Si, pour une raison particulière, vous voulez tout de même utiliser +mod_rewrite - dans le cas, par exemple, où vous avez besoin +d'un jeu plus important de règles de réécritures - vous pouvez utiliser +la recette suivante :

+ +

Pour les sites écoutant sur un port autre que 80:

+
RewriteCond "%{HTTP_HOST}"   "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}"   "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)"         "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]
+ + +

Et pour un site écoutant sur le port 80

+
RewriteCond "%{HTTP_HOST}"   "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}"   "!^$"
+RewriteRule "^/?(.*)"         "http://www.example.com/$1" [L,R,NE]
+ +

+ Si vous souhaitez que cette règle s'applique à tous les noms de + domaine - en d'autres termes, si vous voulez rediriger + example.com vers + www.example.com pour toutes les valeurs + possibles de example.com, vous pouvez utiliser + le jeu de règles suivants :

+ +
RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]
+ +

+ Vous pouvez utiliser ce jeu de règles aussi bien dans le fichier + de configuration de votre serveur principal que dans un fichier + .htaccess placé dans le répertoire défini par la + directive DocumentRoot du serveur.

+
+
+ +
top
+
+

Recherche de pages dans plus d'un répertoire

+ + + +
+
Description:
+ +
+

Une ressource peut exister dans plusieurs répertoires, et nous + voulons rechercher cette ressource dans ces répertoires + lorsqu'elle fait l'objet d'une requête. Il est possible que nous + ayons récemment réorganisé la structure de notre site en + répartissant son contenu dans plusieurs répertoires.

+
+ +
Solution :
+ +
+

Le jeu de règles suivant recherche la ressource dans deux + répertoires, et s'il ne la trouve dans aucun des deux, il tentera + simplement de la servir à partir de l'adresse fournie dans la + requête.

+ +
RewriteEngine on
+
+#   on cherche tout d'abord dans dir1/...
+#   ... et si on trouve, on est content et on arrête :
+RewriteCond         "%{DOCUMENT_ROOT}/dir1/%{REQUEST_URI}"  -f
+RewriteRule  "^(.+)"  "%{DOCUMENT_ROOT}/dir1/$1"  [L]
+
+#   on cherche ensuite dans dir2/...
+#   ... et si on trouve, on est content et on arrête :
+RewriteCond         "%{DOCUMENT_ROOT}/dir2/%{REQUEST_URI}"  -f
+RewriteRule  "^(.+)"  "%{DOCUMENT_ROOT}/dir2/$1"  [L]
+
+#   sinon, on continue la recherche avec d'autres directives Alias
+#   ou ScriptAlias, etc...
+RewriteRule   "^"  "-"  [PT]
+ +
+
+ +
top
+
+

Redirection vers des serveurs géographiquement distribués

+ + + +
+
Description :
+ +
+

Notre site web possède de nombreux miroirs, et nous voulons + rediriger les utilisateurs vers celui qui se situe dans le pays où + ils se trouvent.

+
+ +
Solution :
+ +
+

En consultant le nom d'hôte du client demandeur, on détermine le + pays dans lequel il se trouve. S'il est impossible d'effectuer une + recherche sur leur adresse IP, on se rabat sur un serveur par + défaut.

+

Nous allons utiliser une directive RewriteMap afin de construire une + liste des serveurs que nous voulons utiliser.

+ +
HostnameLookups on
+RewriteEngine on
+RewriteMap    multiplex         "txt:/path/to/map.mirrors"
+RewriteCond  "%{REMOTE_HOST}"     "([a-z]+)$ [NC]"
+RewriteRule   "^/(.*)$"  "${multiplex:%1|http://www.example.com/}$1"  [R,L]
+ + +

+## liste_miroirs -- Table de correspondance pays - serveurs
+
+de http://www.exemple.de/
+uk http://www.exemple.uk/
+com http://www.example.com/
+##EOF## +

+
+ +
Discussion
+
+
Ce jeu de règles nécessite la définition à + on de la directive HostNameLookups, ce qui peut induire une + baisse de performance significative.
+ +

La directive RewriteCond extrait la dernière + partie du nom d'hôte du client demandeur - le code du pays - et la + règle de réécriture qui suit utilise cette valeur pour rechercher le + serveur miroir approprié dans le fichier de correspondances.

+
+
+ +
top
+
+

URLs canoniques

+ + + +
+
Description :
+ +
+

Sur certains serveurs, une ressource peut posséder plusieurs + URLs. Il y a en général les URLs canoniques (celles qui sont + réellement distribuées et utilisées), et celles qui correspondent à + des raccourcis, les URLs internes, etc... Quelle que soit l'adresse + que l'utilisateur fournit dans la requête, il devrait finalement + voir l'URL canonique dans la barre d'adresse de son navigateur.

+
+ +
Solution :
+ +
+

Nous effectuons une redirection HTTP externe pour toutes les + URLs non canoniques afin de les corriger dans la barre d'adresse + du navigateur, et ceci pour toutes les requêtes futures. Dans le + jeu de règles suivant, nous remplaçons /matous et + /minettes par le canonique /chats.

+ +
RewriteRule   "^/(matous|minettes)/(.*)"    "/chats/$2"  [R]
+ +
+ +
Discussion :
+
On serait mieux inspiré d'utiliser ici les directives Redirect ou + RedirectMatch : + +
RedirectMatch "^/(matous|minettes)/(.*)" "/chats/$2"
+ +
+
+ +
top
+
+

Déplacement du répertoire DocumentRoot

+ + + +
+
Description :
+ +
+

En général, le répertoire DocumentRoot du serveur web correspond à l'URL +"/". Ce répertoire ne contient cependant pas forcément des +ressources de première importance pour l'utilisateur. Par exemple, vous +préférerez peut-être que le répertoire d'accueil d'un visiteur accédant +pour la première fois à votre site soit un répertoire particulier +/a-propos-de/. Pour y parvenir, utilisez le jeu de règles +suivant :

+
+ +
Solution :
+ +
+

On redirige l'URL / vers + /a-propos-de/ : +

+ +
RewriteEngine on
+RewriteRule   "^/$"  "/a-propos-de/"  [R]
+ + +

Notez que l'on peut aussi y parvenir en utilisant la directive +RedirectMatch :

+ +
RedirectMatch "^/$" "http://example.com/a-propos-de/"
+ + +

Notez aussi que cet exemple ne réécrit que l'URL racine. En d'autres +termes, il réécrit une requête pour http://example.com/, +mais pas pour une requête http://example.com/page.html. Si +vous avez effectivement modifié la racine de vos documents - c'est à dire +si tous vos contenus se trouvent dans un +sous-répertoire, il est largement préférable de modifier simplement +votre directive DocumentRoot, ou de +déplacer l'ensemble du contenu vers le répertoire supérieur, plutôt que +de réécrire les URLs.

+
+
+ +
top
+
+

Ressource par défaut

+ + +
+
Description :
+
Vous voulez qu'une seule ressource (disons un certain fichier tel +que index.php) soit servie pour toutes les requêtes à destination d'un +certain répertoire, sauf pour celles qui concernent une ressource +existant effectivement comme une image, ou un fichier css.
+ +
Solution :
+
+

Depuis la version 2.2.16, vous pouvez y parvenir via la directive +FallbackResource :

+ +
<Directory "/var/www/my_blog">
+  FallbackResource index.php
+</Directory>
+ + +

Cependant, si vos besoins étaient plus complexes, vous pouviez, dans +les versions plus anciennes d'Apache, utiliser un jeu de règles du style +:

+ +
<Directory "/var/www/my_blog">
+  RewriteBase "/my_blog"
+
+  RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+  RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+  RewriteRule "^" "index.php" [PT]
+</Directory>
+ + +

D'autre part, si vous voulez transmettre l'URI de la requête en tant +que chaîne de paramètres à index.php, vous pouvez remplacer cette règle +de réécriture par :

+ +
RewriteRule "(.*)" "index.php?$1" [PT,QSA]
+ + +

Notez que l'on peut utiliser ces jeux de règles aussi bien dans un +fichier .htaccess que dans une section +<Directory>.

+ +
+ +
+ +
top
+
+

Rewrite query string

+ + +
+
Description :
+
Vous voulez extraire une valeur particulière d'une chaîne de +paramètres d'une URL, et soit la remplacer, soit l'incorporer dans un +autre composant de l'URL.
+ +
Solutions :
+
+

Dans la plupart des solutions de cette section, on utilise la même +condition qui stocke la valeur recherchée dans la référence arrière %2. +%1 est le début de la requête, et %3 ce qui reste. Cette condition est +un peu complexe car elle introduit de la flexibilité et évite les +doubles perluettes '&&' dans les substitutions.

+
    +
  • Cette solution supprime le couple clé/valeur recherché : + +
    # Remove mykey=???
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
    +RewriteRule "(.*)" "$1?%1%3"
    + +
  • + +
  • Cette solution remplace la partie de l'URL qui suit la valeur + recherchée par un '?' : + +
    # Copy from query string to PATH_INFO
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
    +RewriteRule "(.*)" "$1/products/%2/?" [PT]
    + +
  • + +
  • Cette solution utilise la valeur recherchée dans une deuxième + condition :: + +
    # Capture the value of mykey in the query string
    +RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$""
    +RewriteCond "%2" !=not-so-secret-value 
    +RewriteRule "(.*)" - [F]
    + +
  • + +
  • Cette solution produit l'effet inverse des précédentes ; elle + copie des composantes du chemin (peut-être PATH_INFO) depuis l'URL + vers sa chaîne de paramètres : +
    # The desired URL might be /products/kitchen-sink, and the script expects 
    +# /path?products=kitchen-sink.
    +RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]
    + +
  • +
+ +
+ +
+
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/rewritemap.html.fr b/docs/manual/rewrite/rewritemap.html.fr new file mode 100644 index 0000000000..e065b3b6e9 --- /dev/null +++ b/docs/manual/rewrite/rewritemap.html.fr @@ -0,0 +1,512 @@ + + + + + +Utilisation de RewriteMap - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Rewrite

Utilisation de RewriteMap

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la documentation de référence du + module mod_rewrite. Il décrit l'utilisation de la + directive RewriteMap, et + fournit des exemples pour chacun des différents types de + RewriteMap.

+ +
Notez que la plupart de ces exemples ne + fonctionneront pas en l'état dans le contexte de votre configuration + particulière ; vous devez donc vous attacher à les + comprendre, plutôt que de simplement les insérer dans votre + configuration par copier/coller.
+ +
+ +
top
+
+

Introduction

+ + +

+ La directive RewriteMap + définit une fonction externe qui peut être appelée depuis une + directive RewriteRule ou + RewriteCond pour + accomplir une réécriture trop compliquée, ou trop spécialisée pour + être effectuée à partir d'expressions rationnelles. Vous trouverez + ci-dessous les différents types disponibles pour la source de + données, ceux-ci étant par ailleurs énumérés dans la documentation de + référence de RewriteMap.

+ +

La syntaxe de la directive RewriteMap est la suivante :

+ +
RewriteMap MapName MapType:MapSource
+ + +

L'argument MapName + est un nom arbitraire que vous associez à la table de + correspondances, et que vous + pourrez utilisez par la suite dans les directives de réécriture. Les + recherches dans la table de correspondance s'effectuent en + respectant cette syntaxe :

+ +

+ + ${ nom-map : + clé-recherche + }
${ nom-map : + clé-recherche | DefaultValue } +
+

+ +

Lorsque cette syntaxe est employée, la table de correspondances + nom-map est consultée et la clé clé-recherche + recherchée. Si la clé est trouvée, la fonction de recherche dans la + table de correspondance est remplacée par SubstValue, ou + par DefaultValue dans le cas contraire, ou par la chaîne + vide si aucune DefaultValue n'a été spécifiée.

+ +

Par exemple, vous pouvez définir une directive + RewriteMap comme suit :

+
RewriteMap examplemap "txt:/path/to/file/map.txt"
+ +

Vous pourrez par la suite utiliser cette table de correspondances + dans une directive RewriteRule comme suit :

+
RewriteRule "^/ex/(.*)" "${examplemap:$1}"
+ + +

Il est possible de spécifier une valeur par défaut qui sera utilisée +si la recherche dans la table de correspondances est infructueuse :

+ +
RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"
+ + +

Contexte de répertoire et fichiers.htaccess

+

+Vous ne pouvez utilisez la directive RewriteMap ni dans +les sections <Directory>, ni dans les fichiers +.htaccess. Vous devez déclarer la table de correspondances +au niveau du serveur principal ou dans un contexte de serveur virtuel. +Par contre, si vous ne pouvez pas déclarer la table dans une section +<Directory> ou dans un fichier .htaccess, vous +pourrez y faire référence dans ces contextes, une fois cette table +créée. +

+
+ +

Les sections suivantes décrivent les différents types de tables de +correspondances type-map disponibles, et fournissent des +exemples pour chacun d'entre eux.

+
top
+
+

int: fonction interne

+ + +

Quand le type de table int est spécifié, la + correspondance s'effectue via une des fonctions internes RewriteMap disponibles. Les + développeurs de modules peuvent fournir des fonctions internes + supplémentaires en les enregistrant via l'API + ap_register_rewrite_mapfunc. Les fonctions fournies par + défaut sont : +

+ +
    +
  • toupper:
    + Met la clé en majuscules.
  • +
  • tolower:
    + Met la clé en minuscules.
  • +
  • escape:
    + Remplace les caractères spéciaux de la clé en codes + hexadécimaux.
  • +
  • unescape:
    + Reconvertit les codes hexadécimaux de la clé en caractères + spéciaux.
  • +
+ +

+ Pour utiliser une de ces fonctions, créez une + RewriteMap qui référence la + fonction interne, et insérez-la dans votre RewriteRule : +

+ +

Redirection d'un URI vers une version en minuscules + d'elle-même

+
RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]
+ + +
+

Notez que cet exemple n'est présenté ici qu'à titre + d'illustration et ne constitue pas une recommandation. Si vous + voulez rendre les URLs insensibles à la casse, utiliser plutôt le + module mod_speling. +

+
+ +
top
+
+

txt: tables de correspondances au format texte

+ + +

Lorsqu'un type-map txt est utilisé, la source-map + est un chemin du système de fichiers vers un fichier de + correspondances au format texte, contenant sur chaque ligne une + paire clé/valeur séparées par un espace. Il est possible d'insérer + des commentaires sous la forme de chaînes commençant par le caractère + '#'.

+ +

Un fichier de correspondances au format texte valide possèdera la + syntaxe suivante :

+ +

+ # Ligne de commentaires
+ clé valeur-substitution
+ clé valeur-substitution # commentaire
+

+ +

Lorsque la table de correspondance fait l'objet d'une recherche, + la valeur spécifiée est recherchée dans le premier champ, et si elle + est trouvée, la valeur de substitution est renvoyée.

+ +

Par exemple, nous pourrions utiliser un fichier de + correspondances pour traduire des noms de produits en identifiants + produits pour obtenir des URLs plus simples à mémoriser, en + utilisant la recette suivante :

+ +

Product to ID configuration

+
RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
+ + +

Nous supposons ici que le script prods.php sait quoi + faire lorsqu'il reçoit un argument id=NON-TROUVE, dans + le cas où le produit ne se trouve pas dans la table de + correspondances.

+ +

Le fichier /etc/apache2/map-produit.txt contient ce + qui suit :

+ +

Fichier de correspondances Produit - Identifiant

+##
+## map-produit.txt - Fichier de correspondances Produit - Identifiant
+##
+
+TELEVISION 993
+STEREO 198
+CANNE-A-PECHE 043
+BALLON-BASKET 418
+TELEPHONE 328 +

+ +

Ainsi, lorsqu'une requête pour + http://example.com/produit/TELEVISION arrive, la directive + RewriteRule s'applique, et la + requête est transformée en interne en /prods.php?id=993.

+ +

Note: fichiers .htaccess

+ L'exemple donné est conçu pour être utilisé dans un contexte de + serveur principal ou de serveur virtuel. Si vous voulez l'utiliser + dans un fichier .htaccess, vous devrez supprimer le + slash de début dans le modèle de réécriture afin que ce dernier + puisse correspondre à toute URL : +
RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
+ +
+ +

Recherches mises en cache

+

+ Les clés de recherche sont mises en cache par httpd jusqu'à ce que + le mtime (date de modification) du fichier de + correspondances soit modifié, ou que le serveur httpd soit + redémarré, ce qui améliore les performances pour les tables de + correspondances consultées par de nombreuses requêtes. +

+
+ +
top
+
+

rnd: Fichier texte à valeurs de substitution multiples + choisies de manière aléatoire

+ + +

Lorsque le type-map spécifié est rnd, la source est + un chemin du système de fichiers vers un fichier de correspondances + au format texte dont chaque ligne contient une clé, et une ou + plusieurs valeurs séparées par le caractère |. Si une + clé convient, une des valeurs correspondantes sera choisie de + manière aléatoire.

+ +

Par exemple, vous pouvez utiliser le fichier de correspondances + et les directives suivants pour implémenter une répartition de + charge aléatoire entre plusieurs serveurs d'arrière-plan, par + l'intermédiaire d'un mandataire inverse. Les images sont envoyées + vers un des serveurs de l'ensemble 'statique', tandis que tout le + reste est envoyé vers un des serveurs de l'ensemble 'dynamique'.

+ +

Fichier de correspondances

+##
+## map.txt -- table de réécriture
+##
+
+statique www1|www2|www3|www4
+dynamique www5|www6 +

+

Configuration directives

+
RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]
+ + + +

Ainsi, lorsqu'une image est demandée et que la première règle + convient, RewriteMap recherche la chaîne + statique dans le fichier de correspondances qui + renvoie un des noms de serveurs spécifiés de manière aléatoire, + ce dernier étant utilisé dans la cible de la règle + RewriteRule.

+ +

Si vous voulez qu'un des serveurs soit plus souvent sollicité que + les autres (par exemple s'il possède plus de mémoire, et peut donc + traiter d'avantage de requêtes), spécifiez-le plusieurs fois dans la + liste des serveurs.

+ +

+statique www1|www1|www2|www3|www4 +

+ +
top
+
+

dbm: Fichier condensé DBM

+ + +

Lorsque le type-map dbm est utilisé, la source est + un chemin du système de fichiers vers un fichier de données DBM + contenant des paires clé/valeur permettant d'effectuer la + correspondance. Le fonctionnement est identique à celui du type-map + txt, mais beaucoup plus rapide car un fichier DBM est + indexé, alors qu'un fichier texte ne l'est pas. L'accès à la clé + recherchée est donc plus rapide.

+ +

Vous pouvez éventuellement spécifier un type dbm particulier :

+ +
RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"
+ + +

Ce type peut être choisi parmi sdbm, gdbm, + ndbm ou db. Il est + cependant recommandé d'utiliser l'utilitaire httxt2dbm fourni avec le + serveur HTTP Apache, car il utilise la bibliothèque DBM appropriée, + à savoir celle qui a été utilisée lors de la compilation de httpd.

+ +

Pour créer un fichier dbm, créez tout d'abord un fichier de + correspondances au format texte comme décrit dans la section txt. Traitez ensuite ce fichier avec + httxt2dbm :

+ +

+$ httxt2dbm -i fichier-map.txt -o fichier-map.map +

+ +

Vous pouvez alors faire référence au fichier obtenu dans votre +directive RewriteMap :

+
RewriteMap mapname "dbm:/etc/apache/mapfile.map"
+ + +
+

Notez qu'avec certains types dbm, plusieurs fichiers possédant le +même nom de base sont créés. Par exemple, vous pouvez obtenir deux +fichiers nommés fichier-map.map.dir et +fichier-map.map.pag. Ceci est tout à fait normal, et vous +ne devez utiliser que le nom de base fichier-map.map dans votre +directive RewriteMap.

+
+ +

Mise en cache des recherches

+

+ Les clés de recherche sont mises en cache par httpd jusqu'à ce que + le mtime (date de modification) du fichier de + correspondances soit modifié, ou que le serveur httpd soit + redémarré, ce qui améliore les performances pour les tables de + correspondances consultées par de nombreuses requêtes. +

+
+ +
top
+
+

prg: Programme de réécriture externe

+ +

Lorque le type-map prg est spécifié, la source est + un chemin du système de fichiers vers un programme exécutable + destiné à effectuer la mise en correspondance. Il peut s'agir d'un + fichier binaire compilé, ou d'un programme en langage interprété + comme Perl ou Python.

+ +

Ce programme est lancé une fois au démarrage du serveur HTTP + Apache, puis communique avec le moteur de réécriture via + STDIN et STDOUT. En d'autres termes, pour + chaque recherche de correspondance, il reçoit un argument via + STDIN, et doit renvoyer en guise de réponse une chaîne + terminée par un caractère nouvelle-ligne sur STDOUT. Si + la recherche de correspondance est infructueuse, le programme doit + l'indiquer en retournant la chaîne de quatre caractères + "NULL".

+ +

Les programmes de réécriture externes ne sont pas lancés s'il + n'ont pas été définis dans un contexte où la directive RewriteEngine est définie à + on.

+ +

Par défaut, les programmes de réécriture externes s'exécutent sous + l'utilisateur/groupe qui a démarré httpd. Pour en changer, il est possible + sur les systèmes de style Unix de spécifier un autre couple + utilisateur/groupe via le troisième argument de la directive RewriteMap, et ceci au format + utilisateur:groupe.

+ +

Cette fonctionnalité utilise le mutex rewrite-map + nécessaire à la fiabilité des communications avec le programme. Le + mécanisme de mutex et le fichier verrou peuvent être définis via la + directive Mutex.

+ +

Voici un exemple simple qui remplace tous les tirets par des + caractères de soulignement dans l'URI de la requête.

+ +

Configuration de la réécriture

+
RewriteMap d2u "prg:/www/bin/dash2under.pl" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"
+ + +

dash2under.pl

+
    #!/usr/bin/perl
+    $| = 1; # Turn off I/O buffering
+    while (<STDIN>) {
+        s/-/_/g; # Remplace tous les tirets par des caractères de soulignement
+        print $_;
+    }
+ + +

Mises en garde !

+
    +
  • Votre programme doit être le plus +simple possible. Si le programme se bloque, httpd va attendre +indéfiniment une réponse de sa part, et par conséquent ne répondra plus +aux requêtes.
  • +
  • Assurez-vous de bien désactiver la mise en tampon dans votre +programme. En Perl, ceci est effectué à la seconde ligne du script de +l'exemple - $| = 1; - La syntaxe sera bien entendu +différente dans +d'autres langages. Si les entrées/sorties sont mises en tampon, httpd va +attendre une sortie, et va par conséquent se bloquer.
  • +
  • Rappelez-vous qu'il n'existe qu'une copie du programme lancé au +démarrage du serveur, et que toutes les requêtes vont devoir passer par +ce goulot d'étranglement. Ceci peut provoquer des ralentissements +significatifs si de nombreuses requêtes doivent être traitées, ou si le +script lui-même est très lent.
  • +
+
+ +
top
+
+

dbd ou fastdbd: requête SQL

+ + +

Lorsque le type-map dbd ou fastdbd est + spécifié, la source est une requête SQL SELECT qui reçoit un + argument et renvoie une seule valeur.

+ +

Pour que cette requête puisse être exécutée, + mod_dbd doit être configuré pour attaquer la base + de données concernée.

+ +

Ce type-map existe sous deux formes. Avec le type-map + dbd, la requête est exécutée à chaque demande, tandis + qu'avec le type-map fastdbd, les recherches dans la + base de données sont mises en cache en interne. fastdbd + est donc plus efficace et donc plus rapide ; par contre, il ne + tiendra pas compte des modifications apportées à la base de données + jusqu'à ce que le serveur soit redémarré.

+ +

Si une requête renvoie plusieurs enregistrements, un de ceux-ci + sera sélectionné aléatoirement.

+ +

Exemple

RewriteMap ma-requete "fastdbd:SELECT destination FROM rewrite WHERE source = %s"
+
+ +

Note

+

Le nom de la requête est transmis au pilote de base de données en tant + que label pour une requête SQL préparée, et doit donc respecter toutes les + règles imposées par votre base de données (comme la sensibilité à la casse).

+ +
top
+
+

Résumé

+ + +

La directive RewriteMap peut apparaître + plusieurs fois. Utilisez une directive + RewriteMap pour chaque fonction de mise en + correspondance pour déclarer son fichier de correspondances.

+ +

Bien que l'on ne puisse pas déclarer de fonction + de mise en correspondance dans un contexte de répertoire (fichier + .htaccess ou section <Directory>), il est + possible d'utiliser cette fonction dans un tel contexte.

+ +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/rewrite/vhosts.html.fr b/docs/manual/rewrite/vhosts.html.fr new file mode 100644 index 0000000000..608cca8f8d --- /dev/null +++ b/docs/manual/rewrite/vhosts.html.fr @@ -0,0 +1,244 @@ + + + + + +Hébergement virtuel de masse avec mod_rewrite - Serveur Apache HTTP Version 2.5 + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.5 > Rewrite

Hébergement virtuel de masse avec mod_rewrite

+
+

Langues Disponibles:  en  | + fr 

+
+ + +

Ce document est un complément à la documentation de référence du module +mod_rewrite. Il décrit comment créer des serveurs +virtuels dynamiquement configurés en utilisant +mod_rewrite.

+ +
L'utilisation de mod_rewrite n'est en général pas la +meilleure méthode pour configurer des serveurs virtuels. Vous devez dans un +premier temps tenter de résoudre votre problème via ces d'autres méthodes avant d'avoir recours à +mod_rewrite. Voir aussi le document Comment éviter +il'utilisation de mod_rewrite.
+ + +
+ +
top
+
+

Serveurs virtuels pour des noms d'hôtes arbitraires

+ + + +
+
Description :
+ +
+

Nous voulons créer automatiquement un serveur virtuel pour tout + nom d'hôte qui peut être résolu dans notre domaine, sans avoir à + créer de nouvelle section VirtualHost.

+ +

Dans cet exemple, nous supposons que nous utilisons le nom d'hôte + SITE.example.com pour chaque + utilisateur, et que nous servons leur contenu depuis + /home/SITE/www. Nous souhaitons cependant que + www.example.com n'apparaisse pas dans cette mise en correspondance.

+
+ +
Solution :
+ +
+ +
RewriteEngine on
+
+RewriteMap    lowercase int:tolower
+
+RewriteCond   %{HTTP_HOST} !^www\.
+RewriteCond   ${lowercase:%{HTTP_HOST}}   ^([^.]+)\.example\.com$
+RewriteRule   ^(.*)    /home/%1/www$1
+
+ +
Discussion
+
+ +
Vous devez vérifier le bon fonctionnement de la + résolution DNS - Apache ne gère pas la résolution de nom. Vous + devrez créer soit des enregistrements CNAME pour chaque nom d'hôte, + soit un enregistrement DNS avec caractères génériques. La création + des enregistrements DNS est en dehors du sujet de ce document.
+ +

La directive RewriteMap interne tolower permet de +s'assurer que les noms d'hôtes utilisés seront tous en minuscules, de +façon à éviter toute ambiguité dans la structure des répertoires qui +doit être créée.

+ +

Les contenus des parenthèses utilisées dans une directive RewriteCond sont enregistrés dans les +références arrières %1, %2, etc..., alors que +les contenus des parenthèses utilisées dans une directive RewriteRule le sont dans les +références arrières $1, $2, etc...

+ +

La première directive RewriteCond vérifie si le nom d'hôte +commence par www. et si c'est le cas, la réécriture est annulée.

+ +

+Comme c'est le cas pour de nombreuses techniques discutées dans ce +document, mod_rewrite n'est vraiment pas la meilleure méthode pour +accomplir cette tâche. Vous devez plutôt vous tourner vers +mod_vhost_alias, car ce dernier sera bien plus à même +de gérer tout ce qui est au delà du domaine des fichiers statiques, +comme les contenus dynamiques et la résolution des alias. +

+
+
+ +
top
+
+

Configuration dynamique de serveurs +virtuels via mod_rewrite

+ +

Cet extrait du fichier httpd.conf permet d'obtenir + le même résultat que le premier exemple. + La première moitié est très similaire à la partie correspondante + ci-dessus, excepté quelques modifications requises à des fins de + compatibilité ascendante et pour faire en sorte que la partie + mod_rewrite fonctionne correctement ; la seconde moitié + configure mod_rewrite pour effectuer le travail + proprement dit.

+ +

Comme mod_rewrite s'exécute avant tout autre module + de traduction d'URI (comme mod_alias), il faut lui + ordonner explicitement d'ignorer toute URL susceptible d'être + traitée par ces autres modules. Et comme ces règles auraient sinon + court-circuité toute directive ScriptAlias, nous devons + faire en sorte que mod_rewrite déclare explicitement + ces correspondances.

+ +
# extrait le nom de serveur de l'en-tête Host:
+UseCanonicalName Off
+
+# journaux dissociables
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+    # ExecCGI est nécessaire ici car on ne peut pas forcer l'exécution
+    # des CGI à la manière de ScriptAlias
+    Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# un nom de serveur extrait d'un en-tête Host: peut être dans n'importe
+# quelle casse
+RewriteMap  lowercase  "int:tolower"
+
+## on s'occupe tout d'abord des documents normaux :
+# permet à Alias /icons/ de fonctionner - répéter pour les autres +RewriteCond "%{REQUEST_URI}" "!^/icons/" +# permet aux CGIs de fonctionner +RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/" +# le coeur du traitement +RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1" + +## on s'occupe maintenant des CGIs - on doit forcer l'utilisation d'un +# gestionnaire +RewriteCond "%{REQUEST_URI}" "^/cgi-bin/" +RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]
+ + +
top
+
+

Utilisation d'un fichier de configuration +du serveur virtuel séparé

+ +

Cette construction utilise des fonctionnalités plus avancées de + mod_rewrite pour effectuer la traduction depuis le + serveur virtuel vers la racine des documents, à partir d'un fichier + de configuration séparé. Elle est plus souple mais nécessite une + configuration plus compliquée.

+ +

Le fichier vhost.map devrait ressembler à ceci :

+ +

+www.client-1.example.com /www/clients/1
+www.client-2.example.com /www/clients/2
+# ...
+www.client-N.example.com /www/clients/N
+

+ +

On doit ajouter à httpd.conf :

+ +
RewriteEngine on
+
+RewriteMap   lowercase  "int:tolower"
+
+# définit le fichier de correspondances
+RewriteMap   vhost      "txt:/www/conf/vhost.map"
+
+# on s'occupe des alias comme ci-dessus
+RewriteCond  "%{REQUEST_URI}"               "!^/icons/"
+RewriteCond  "%{REQUEST_URI}"               "!^/cgi-bin/"
+RewriteCond  "${lowercase:%{SERVER_NAME}}"  "^(.+)$"
+# on effectue ici la remise en correspondance à base de fichier
+RewriteCond  "${vhost:%1}"                  "^(/.*)$"
+RewriteRule  "^/(.*)$"                      "%1/docs/$1"
+
+RewriteCond  "%{REQUEST_URI}"               "^/cgi-bin/"
+RewriteCond  "${lowercase:%{SERVER_NAME}}"  "^(.+)$"
+RewriteCond  "${vhost:%1}"                  "^(/.*)$"
+RewriteRule  "^/cgi-bin/(.*)$"              "%1/cgi-bin/$1" [H=cgi-script]
+ + +
+
+

Langues Disponibles:  en  | + fr 

+
top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file