This shows you the differences between two versions of the page.
en:linux:serveur_web:config [2011/12/07 09:06] matthieu créée |
en:linux:serveur_web:config [2012/01/06 10:33] (current) matthieu [Redirects] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{tag>en en:linux en:serveur en:web}} | + | {{tag>en en:linux en:server en:web}} |
====== Apache Configuration ====== | ====== Apache Configuration ====== | ||
Line 66: | Line 66: | ||
* All : all features except MultiViews | * All : all features except MultiViews | ||
* ExecCGI : allows CGI exectution | * ExecCGI : allows CGI exectution | ||
- | * FollowSymLinks : allow to access symbolic links\\ La directive directory ne s'applique qu'au répertoire initial.\\ La cible doit être également lisible par Apache, attention cependant à la confidentialité des données du serveur.\\ cette directive ne s'applique pas aux <Location> | + | * FollowSymLinks : allows to access symbolic links\\ The destination of the link must be readable by Apache, be carefull with the security.\\ This option is not available with <Location> |
- | * Includes : Autorise les Includes | + | * Includes : allows "Includes" |
- | * IncludesNOEXEC : Autorise les Includes mais désactive les fonctions #exec cmd et #exec cgi | + | * IncludesNOEXEC : allows "Includes" but will disable functions #exec cmd and #exec cgi |
- | * Indexes : Génère un listing des répertoires | + | * Indexes : allows directory listing |
- | * MultiViews : Autorise l'utilisation de mod_negociation | + | * MultiViews : allows the use of mod_negociation |
- | * SymLinksIfOwnerMatch : Identique à FollowSymlinks mais ne suit que les liens ayant le même propriétaire que la cible | + | * SymLinksIfOwnerMatch : similar to FollowSymlinks but only allows links with the same owner |
- | Par exemple avec l'autorisation de suivre les liens symboliques : | + | Example with symbolic link authorization : |
<code apache> | <code apache> | ||
Alias /wiki /opt/dokuwiki | Alias /wiki /opt/dokuwiki | ||
Line 83: | Line 83: | ||
</code> | </code> | ||
- | Il est possible d'utiliser les opérateurs + et - pour définir des modifications par rapport aux droits hérités. Par exemple pour ajouter le listage des fichiers dans un sous répertoire : | + | It is possible to use "+ and "-" to define modification from inherited options. For example to add directory listing to a subfolder (without removing other options) : |
<code apache> | <code apache> | ||
<Directory /opt/dokuwiki/share> | <Directory /opt/dokuwiki/share> | ||
Line 90: | Line 90: | ||
</code> | </code> | ||
- | 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 : | + | Finally, it is possible to change the options with ".htaccess" files located directly on the file system. To allow the use of ".htaccess", the option "AllowOverride" must be defined. For example : |
<code apache> | <code apache> | ||
Alias /wiki /opt/dokuwiki | Alias /wiki /opt/dokuwiki | ||
Line 100: | Line 100: | ||
</Directory> | </Directory> | ||
</code> | </code> | ||
- | Exemple de fichier .htaccess qui interdit l'accès à son répertoire : | + | .htaccess example which deny all access to the folder : |
<code apache> | <code apache> | ||
order allow,deny | order allow,deny | ||
Line 106: | Line 106: | ||
</code> | </code> | ||
- | Remarque : il est également possible de modifier les options sur l'arborescence des urls plutôt que l'arborescence du système de fichier avec la balise <Location> à la place de <Directory>. | + | Note : it is possible to apply options based on url path instead of file system with the tag <Location> instead of <Directory>. |
- | ===== Personnalisation ===== | + | ===== Customization ===== |
- | Il est possible de personnaliser le serveur avec les options suivantes : | + | It is possible to customize the server with the following options : |
- | * ServerAdmin définit l'adresse email indiquée dans les messages d'erreur | + | * ServerAdmin defines the email displayed in error messages |
- | * ServerSignature définit la signature ajoutée aux documents générés par le serveur | + | * ServerSignature defines the signature displayed on server generated pages |
- | Exemple : | + | Example : |
<code apache> | <code apache> | ||
ServerAdmin matthieu@bouthors.fr | ServerAdmin matthieu@bouthors.fr | ||
Line 120: | Line 120: | ||
- | ===== Virtual hosting, redirections et reverse proxy ===== | + | ===== Virtual hosting, redirects and reverse proxy ===== |
- | Le virtual hosting est utilisé pour héberger plusieurs site webs sur une seule IP publique. Apache permet plusieurs mécanismes : | + | Apache has several useful features : |
- | * l'hébergement de plusieurs sites webs virtuels | + | * Virtual hosting used to host several websites on a single public IP |
- | * la redirection de l'utilisateur sur une autre url, également utilisé pour rediriger la racine vers une sous partie du site web | + | * redirecting users to another url, also used to redirect the root to another part of a site |
- | * la réécriture pour faire office de reverse proxy et transmettre à un autre serveur web | + | * rewriting with reverse proxy to forwarding the request to another server |
==== Virtual hosting ==== | ==== Virtual hosting ==== | ||
- | L'hébergement local de plusieurs site se fait grâce aux options suivantes : | + | Hosting of several websites : |
- | * NameVirtualHost décrit quelles IP hébergent des virtual host | + | * NameVirtualHost defines which IP are hosting virtual hosts |
- | * <VirtualHost> définit un virtual host | + | * <VirtualHost> defines a virtual host |
- | * ServerName définit le nom d'hôte du <VirtualHost> | + | * ServerName defines the hostname of the current <VirtualHost> |
- | * ServerAlias permet d'ajouter d'autres noms en plus de ServerName | + | * ServerAlias allows to define additional hostnames |
- | Par exemple pour héberger www.bouthors.fr et web3.bouthors.fr sur le même apache avec deux configurations différentes : | + | For example to host www.bouthors.fr and web3.bouthors.fr on the same Apache with two different configurations : |
<code apache> | <code apache> | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
Line 151: | Line 151: | ||
</VirtualHost> | </VirtualHost> | ||
</code> | </code> | ||
- | ==== Redirections ==== | + | ==== Redirects ==== |
- | Les redirections sont très utilisées, elles permettent d'indiquer à l'utilisateur de faire sa requête auprès d'une autre url. | + | Redirects are often used, they allow to ask the user to request another url. |
- | Les commandes utilisées sont : | + | Options used are : |
- | * Redirect redirige un client d'une URL vers une autre. Redirige également toutes les sous URL | + | * Redirect redirect all requests to another URL. This directive map a path to a new path. |
- | * RedirectMatch redirige les URL correspondant à une expression régulière | + | * RedirectMatch redirect requests matching a regex |
- | Exemple de redirection de la racine d'un serveur web : | + | Example with the redirection of the root only : |
<code apache> | <code apache> | ||
<Directory /var/www/> | <Directory /var/www/> | ||
Line 170: | Line 170: | ||
</code> | </code> | ||
- | Exemple de redirection inconditionnelle par défaut : | + | Example with the redirection of all requests : |
<code apache> | <code apache> | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
Line 179: | Line 179: | ||
==== Reverse Proxy ==== | ==== 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é. | + | Apache can also become a reverse proxy and forward requests to other web servers. In this case, mod-proxy module is used. |
- | Il faut dans un premier temps activer mod-proxy : | + | First, mod-proxy needs to be enabled : |
<code> | <code> | ||
# a2enmod proxy_http | # a2enmod proxy_http | ||
Line 191: | Line 191: | ||
</code> | </code> | ||
- | Puis utiliser la directive ProxyPass. Par exemple rediriger le répertoire /wiki vers le serveur web4 : | + | Then the ProxyPass command must be used. For example, to redirect /wiki to the server "web4" : |
<code apache> | <code apache> | ||
ProxyPass /wiki/ http://web4.bouthors.fr/wiki/ | ProxyPass /wiki/ http://web4.bouthors.fr/wiki/ | ||
</code> | </code> | ||
- | ===== Paramètres supplémentaires ===== | + | |
+ | ===== Additional parameters ===== | ||
==== Include ==== | ==== Include ==== | ||
- | Include est utilisé pour insérer un autre fichier. | + | Include is used to insert another configuration file. |
- | Exemple (à la fin de apache2.conf) : | + | Example (end of apache2.conf) : |
<code apache> | <code apache> | ||
# Include generic snippets of statements | # Include generic snippets of statements | ||
Line 209: | Line 210: | ||
</code> | </code> | ||
- | ==== Configuration de PHP ==== | + | ==== PHP Configuration ==== |
- | Dans ///etc/php5/apache2/php.ini// configurer la taille maximum d'upload autorisé, par exemple : | + | Inside ///etc/php5/apache2/php.ini// to configure the maximum upload size : |
upload_max_filesize = 15M | upload_max_filesize = 15M | ||
- | Il est également nécessaire de modifier la taille des posts : | + | To change the maximum post size : |
post_max_size = 8M | post_max_size = 8M | ||
- | Dans les cas ou il faut beaucoup de mémoire, modifier memory_limit : | + | If you need a lot of memory, change memory_limit : |
memory_limit = 128M | memory_limit = 128M | ||
==== Log ==== | ==== Log ==== | ||
- | Les logs peuvent être contrôlées de différentes façons, voici quelques paramètres fréquents : | + | Logs can be controled by different ways : |
- | * CustomLog : Définit le nom du fichier de log et son format | + | * CustomLog : defines the log name and log format |
- | * ErrorLog : Définit où les logs d'erreur sont envoyées | + | * ErrorLog : defines where error logs are sent |
- | * LogLevel : Définit le niveau de verbosité | + | * LogLevel : defines the level of verbosity |
- | Exemple : | + | Example : |
<code apache> | <code apache> | ||
ErrorLog ${APACHE_LOG_DIR}/error.log | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
Line 239: | Line 240: | ||
</code> | </code> | ||
- | ==== Encodage des caractères spéciaux ==== | + | ==== Charset Encoding ==== |
- | Le fichier ///etc/apache2/conf.d/charset// définit le Content-Type renvoyé par Apache. | + | The file ///etc/apache2/conf.d/charset// defines the Content-Type used by Apache. |
- | Par défaut, il est en UTF8 : | + | By default, UTF8 is used : |
<file> | <file> | ||
AddDefaultCharset UTF-8 | AddDefaultCharset UTF-8 | ||
</file> | </file> | ||
- | Pour configurer le serveur en ISO, il faut indiquer : | + | To use ISO instead, the following option can be used : |
<file> | <file> | ||
AddDefaultCharset ISO-8859-15 | AddDefaultCharset ISO-8859-15 | ||
Line 253: | Line 254: | ||
===== Links ===== | ===== Links ===== | ||
- | * [[linux:serveur_web]] | + | * [[en:linux:serveur_web]] |