Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

linux:serveur_web:config [2011/11/30 23:24]
matthieu [Redirections]
linux:serveur_web:config [2012/01/06 10:32] (Version actuelle)
matthieu [Redirections]
Ligne 1: Ligne 1:
 +{{tag>fr fr:linux fr:serveur fr:web}}
 ====== Configuration d'Apache ====== ====== Configuration d'Apache ======
  
-Cette page décrit comment fonctionne la configuration d'un site web avec Apache.+Cette page décrit comment fonctionne la configuration d'un site web avec [[linux:serveur_web|Apache]].
  
 ===== Structure ===== ===== Structure =====
Ligne 38: Ligne 39:
   * DocumentRoot qui permet de définir la racine du serveur web "/", par exemple :   * DocumentRoot qui permet de définir la racine du serveur web "/", par exemple :
 <code apache> <code apache>
-        DocumentRoot /var/www+  DocumentRoot /var/www
 </code> </code>
   * Alias qui est utilisée pour définir une sous partie du serveur web, par exemple "/wiki" :   * Alias qui est utilisée pour définir une sous partie du serveur web, par exemple "/wiki" :
 <code apache> <code apache>
-  Alias /wiki         /opt/dokuwiki+  Alias /wiki /opt/dokuwiki
 </code> </code>
  
Ligne 54: Ligne 55:
 Exemple d'accès total : Exemple d'accès total :
 <code apache> <code apache>
-  Alias /wiki         /opt/dokuwiki+  Alias /wiki /opt/dokuwiki
   <Directory /opt/dokuwiki>   <Directory /opt/dokuwiki>
     allow from all     allow from all
Ligne 74: Ligne 75:
 Par exemple avec l'autorisation de suivre les liens symboliques : Par exemple avec l'autorisation de suivre les liens symboliques :
 <code apache> <code apache>
-  Alias /wiki         /opt/dokuwiki+  Alias /wiki /opt/dokuwiki
   <Directory /opt/dokuwiki>   <Directory /opt/dokuwiki>
     Options FollowSymLinks     Options FollowSymLinks
Ligne 91: Ligne 92:
 Enfin, il est possible de redéfinir des options directement dans les répertoires avec le fichier ".htaccess". Les options autorisées dans ce fichier sont définies avec la commande "AllowOverride". Par exemple : Enfin, il est possible de redéfinir des options directement dans les répertoires avec le fichier ".htaccess". Les options autorisées dans ce fichier sont définies avec la commande "AllowOverride". Par exemple :
 <code apache> <code apache>
-Alias /wiki         /opt/dokuwiki+Alias /wiki /opt/dokuwiki
 <Directory /opt/dokuwiki/> <Directory /opt/dokuwiki/>
         Options +FollowSymLinks         Options +FollowSymLinks
Ligne 119: Ligne 120:
  
  
-===== Virtual hosting et redirections =====+===== Virtual hostingredirections et reverse proxy =====
 Le virtual hosting est utilisé pour héberger plusieurs site webs sur une seule IP publique. Apache permet plusieurs mécanismes : Le virtual hosting est utilisé pour héberger plusieurs site webs sur une seule IP publique. Apache permet plusieurs mécanismes :
   * l'hébergement de plusieurs sites webs virtuels   * l'hébergement de plusieurs sites webs virtuels
Ligne 130: Ligne 131:
   * <VirtualHost> définit un virtual host   * <VirtualHost> définit un virtual host
   * ServerName définit le nom d'hôte du <VirtualHost>   * ServerName définit le nom d'hôte du <VirtualHost>
 +  * ServerAlias permet d'ajouter d'autres noms en plus de ServerName
  
 Par exemple pour héberger www.bouthors.fr et web3.bouthors.fr sur le même apache avec deux configurations différentes : Par exemple pour héberger www.bouthors.fr et web3.bouthors.fr sur le même apache avec deux configurations différentes :
-FIXME+<code apache> 
 +<VirtualHost *:80> 
 +        ServerName www.bouthors.fr 
 +        ServerAlias ipv6.bouthors.fr 
 +        DocumentRoot /var/www 
 +         
 +        ... 
 +         
 +</VirtualHost> 
 +<VirtualHost *:80> 
 +        ServerName web3.bouthors.fr 
 +        DocumentRoot /var/www 
 +         
 +        ... 
 +         
 +</VirtualHost> 
 +</code>
 ==== Redirections ==== ==== Redirections ====
 Les redirections sont très utilisées, elles permettent d'indiquer à l'utilisateur de faire sa requête auprès d'une autre url. Les redirections sont très utilisées, elles permettent d'indiquer à l'utilisateur de faire sa requête auprès d'une autre url.
  
 Les commandes utilisées sont : Les commandes utilisées sont :
-  * Redirect redirige un client d'une URL vers une autre. Redirige également toutes les sous URL+  * Redirect redirige un client d'une URL vers une autre. Cette directive map un chemin vers un autre, la cible doit être un chemin absolu.
   * RedirectMatch redirige les URL correspondant à une expression régulière   * RedirectMatch redirige les URL correspondant à une expression régulière
  
Ligne 150: Ligne 168:
                 RedirectMatch ^/$ /wiki/                 RedirectMatch ^/$ /wiki/
         </Directory>         </Directory>
 +</code>
 +
 +Exemple de redirection inconditionnelle par défaut :
 +<code apache>
 +<VirtualHost *:80>
 +        RedirectMatch 301 ^/(.*) http://www.bouthors.fr/$1
 +
 +</VirtualHost>
 +</code>
 +
 +==== Reverse Proxy ====
 +Apache peut également agir en tant que reverse proxy et transmettre la requête à un autre serveur web. Le module mod-proxy est alors utilisé.
 +
 +Il faut dans un premier temps activer mod-proxy :
 +<code>
 +# a2enmod proxy_http
 +Considering dependency proxy for proxy_http:
 +Enabling module proxy.
 +Enabling module proxy_http.
 +Run '/etc/init.d/apache2 restart' to activate new configuration!
 +# /etc/init.d/apache2 restart
 +</code>
 +
 +Puis utiliser la directive ProxyPass. Par exemple rediriger le répertoire /wiki vers le serveur web4 :
 +<code apache>
 +ProxyPass /wiki/ http://web4.bouthors.fr/wiki/
 </code> </code>
 ===== Paramètres supplémentaires ===== ===== Paramètres supplémentaires =====
  
-==== Log ====+==== Include ==== 
 +Include est utilisé pour insérer un autre fichier.
  
-=== ErrorLog === +Exemple (à la fin de apache2.conf) : 
-^Lien       |http://httpd.apache.org/docs/2.2/mod/core.html#errorlog| +<code apache
-^Description|Définit où les logs d'erreur sont envoyées| +Include generic snippets of statements 
-^Syntaxe    |%%ErrorLog file-path|syslog[:facility]%%| +Include conf.d/
-^Contexte   |server config, virtual host|+
  
-=== LogLevel === +# Include the virtual host configurations: 
-^Lien       |http://httpd.apache.org/docs/2.2/mod/core.html#loglevel| +Include sites-enabled/ 
-^Description|Définit le niveau de verbosité| +</code>
-^Syntaxe    |LogLevel level| +
-^Contexte   |server config, virtual host|+
  
-=== CustomLog === +==== Configuration de PHP ====
-^Lien       |http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#customlog| +
-^Description|Définit le nom du fichier de log et son format| +
-^Syntaxe    |%%CustomLog file|pipe format|nickname [env=[!]environment-variable]%%| +
-^Contexte   |server config, virtual host|+
  
 +Dans ///etc/php5/apache2/php.ini// configurer la taille maximum d'upload autorisé, par exemple :
 +  upload_max_filesize = 15M
  
 +Il est également nécessaire de modifier la taille des posts :
 +  post_max_size = 8M
  
-==== Include ==== +Dans les cas ou il faut beaucoup de mémoire, modifier memory_limit 
-^Lien       |http://httpd.apache.org/docs/2.2/fr/mod/core.html#include| +  memory_limit = 128M
-^Description|Inclue un autre fichier ou les fichiers d'un répertoire| +
-^Syntaxe    |%%Include file-path|directory-path%%| +
-^Contexte   |server config, virtual host, directory|+
  
  
 +==== Log ====
 +Les logs peuvent être contrôlées de différentes façons, voici quelques paramètres fréquents :
 +  * CustomLog : Définit le nom du fichier de log et son format
 +  * ErrorLog : Définit où les logs d'erreur sont envoyées
 +  * LogLevel : Définit le niveau de verbosité
 +
 +
 +Exemple : 
 +<code apache>
 +       ErrorLog ${APACHE_LOG_DIR}/error.log
 +
 +        # Possible values include: debug, info, notice, warn, error, crit,
 +        # alert, emerg.
 +        LogLevel warn
 +
 +        CustomLog ${APACHE_LOG_DIR}/access.log combined
 +</code>
  
 ==== Encodage des caractères spéciaux ==== ==== Encodage des caractères spéciaux ====
Ligne 196: Ligne 252:
 </file> </file>
  
- +===== Links ===== 
- +  * [[linux:serveur_web]]
-==== Configuration de PHP ==== +
- +
-Dans ///etc/php5/apache2/php.ini// configurer la taille maximum d'upload autorisé, par exemple : +
-  upload_max_filesize = 15M +
  
  
  
linux/serveur_web/config.1322691845.txt.gz · Dernière modification: 2011/11/30 23:24 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki