From 5c3b6031c8a106f8532ced78173acf6bd3c85c01 Mon Sep 17 00:00:00 2001 From: Vincent Deffontaines Date: Fri, 23 Nov 2012 17:45:29 +0000 Subject: [PATCH] Adding two documents translated to french git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1413000 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/programs/apxs.html | 4 + docs/manual/programs/apxs.html.fr | 388 ++++++++++++++++++++++++++++ docs/manual/programs/apxs.xml.fr | 358 +++++++++++++++++++++++++ docs/manual/programs/apxs.xml.meta | 1 + docs/manual/rewrite/vhosts.html | 4 + docs/manual/rewrite/vhosts.html.fr | 242 +++++++++++++++++ docs/manual/rewrite/vhosts.xml.fr | 223 ++++++++++++++++ docs/manual/rewrite/vhosts.xml.meta | 1 + 8 files changed, 1221 insertions(+) create mode 100644 docs/manual/programs/apxs.html.fr create mode 100644 docs/manual/programs/apxs.xml.fr create mode 100644 docs/manual/rewrite/vhosts.html.fr create mode 100644 docs/manual/rewrite/vhosts.xml.fr diff --git a/docs/manual/programs/apxs.html b/docs/manual/programs/apxs.html index bcf33408ad..8671d180ad 100644 --- a/docs/manual/programs/apxs.html +++ b/docs/manual/programs/apxs.html @@ -4,6 +4,10 @@ URI: apxs.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: apxs.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: apxs.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/programs/apxs.html.fr b/docs/manual/programs/apxs.html.fr new file mode 100644 index 0000000000..0b07db7e0b --- /dev/null +++ b/docs/manual/programs/apxs.html.fr @@ -0,0 +1,388 @@ + + + +apxs - Utilitaire pour les extensions d'Apache - Serveur Apache HTTP + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.4 > 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.
+
+ + +

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/apxs.xml.fr b/docs/manual/programs/apxs.xml.fr new file mode 100644 index 0000000000..f740938270 --- /dev/null +++ b/docs/manual/programs/apxs.xml.fr @@ -0,0 +1,358 @@ + + + + + + + + + + +Programmes + +apxs - Utilitaire pour les extensions d'Apache + + +

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.

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

+
+ +
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.
+
+
+ +
+ 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.
+
+
+
+ +
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
+ $ _ +
+ +
+
diff --git a/docs/manual/programs/apxs.xml.meta b/docs/manual/programs/apxs.xml.meta index 02df297b96..4367642c95 100644 --- a/docs/manual/programs/apxs.xml.meta +++ b/docs/manual/programs/apxs.xml.meta @@ -8,6 +8,7 @@ en + fr ko tr diff --git a/docs/manual/rewrite/vhosts.html b/docs/manual/rewrite/vhosts.html index b99209bdf6..7c0322f2ca 100644 --- a/docs/manual/rewrite/vhosts.html +++ b/docs/manual/rewrite/vhosts.html @@ -3,3 +3,7 @@ URI: vhosts.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: vhosts.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/rewrite/vhosts.html.fr b/docs/manual/rewrite/vhosts.html.fr new file mode 100644 index 0000000000..bf27f6d8f8 --- /dev/null +++ b/docs/manual/rewrite/vhosts.html.fr @@ -0,0 +1,242 @@ + + + +Hébergement virtuel de masse avec mod_rewrite - Serveur Apache HTTP + + + + + + + +
<-
+
+Apache > Serveur HTTP > Documentation > Version 2.4 > 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 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 l'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 + www.SITE.example.com pour chaque + utilisateur, et que nous servons leur contenu depuis + /home/SITE/www.

+
+ +
Solution :
+ +
+ +
+RewriteEngine on
+
+RewriteMap    lowercase int:tolower
+
+RewriteCond   ${lowercase:%{HTTP_HOST}}   ^www\.([^.]+)\.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...

+ +

+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
+
+## 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  ^/(.*)$                      %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 diff --git a/docs/manual/rewrite/vhosts.xml.fr b/docs/manual/rewrite/vhosts.xml.fr new file mode 100644 index 0000000000..9a77f0b592 --- /dev/null +++ b/docs/manual/rewrite/vhosts.xml.fr @@ -0,0 +1,223 @@ + + + + + + + + + + + Rewrite + +Hébergement virtuel de masse avec mod_rewrite + + + +

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 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 l'utilisation de +mod_rewrite. + + +
+Documentation du module +Introduction à mod_rewrite +Redirection et remise en +correspondance +Contrôle d'accès + +Serveurs mandataires +Utilisation de RewriteMap +Techniques avancées +Quand ne pas utiliser mod_rewrite + +
+ + 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 + www.SITE.example.com pour chaque + utilisateur, et que nous servons leur contenu depuis + /home/SITE/www.

+
+ +
Solution :
+ +
+ + +RewriteEngine on + +RewriteMap lowercase int:tolower + +RewriteCond ${lowercase:%{HTTP_HOST}} ^www\.([^.]+)\.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...

+ +

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

+
+
+ +
+ +
Configuration dynamique de serveurs +virtuels via <module>mod_rewrite</module> + +

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 + +## 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] +
+ +
+ +
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 ^/(.*)$ %1/cgi-bin/$1 [H=cgi-script] + + +
+ +
diff --git a/docs/manual/rewrite/vhosts.xml.meta b/docs/manual/rewrite/vhosts.xml.meta index 831c934db2..02e019991d 100644 --- a/docs/manual/rewrite/vhosts.xml.meta +++ b/docs/manual/rewrite/vhosts.xml.meta @@ -8,5 +8,6 @@ en + fr -- 2.50.1