Apache

De Wiki de Jordan LE NUFF
Sauter à la navigation Sauter à la recherche
(Page créée avec « == Présentation == Cette page a pour objet de lister les gestes techniques liées au serveur web Apache. Plus d'informations sur le site de l'éditeur : *Apache 2.2 : ht... »)
 
(Contenu remplacé par « ==Présentation== Cette page a pour objet de lister les gestes techniques liées au serveur web Apache. Plus d'informations sur le site de l'éditeur : *Apache 2.2 :… »)
Balise : Contenu remplacé
 
(14 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
== Présentation ==
+
==Présentation==
 
Cette page a pour objet de lister les gestes techniques liées au serveur web Apache.
 
Cette page a pour objet de lister les gestes techniques liées au serveur web Apache.
  
Ligne 6 : Ligne 6 :
 
*Apache 2.4 : http://httpd.apache.org/docs/2.4/fr/
 
*Apache 2.4 : http://httpd.apache.org/docs/2.4/fr/
  
== Rotation des logs ==
+
== Liste des sous-pages==
Il est possible d'intégrer une rotation des logs directement dans la configuration Apache.
+
{{#subpages:default=''}}
 
 
Pour ce faire, il faut avant tout localiser la commande '''rotatelogs''' sur le serveur avec la commande suivante :
 
which rotatelogs
 
 
 
<u>Exemple de retour :</u>
 
/usr/sbin/rotatelogs
 
 
 
Une fois la commande localisée, adapter la déclaration des fichiers de logs dans la configuration Apache.
 
 
 
<u>Exemple de configuration de rotation de logs :</u>
 
<syntaxhighlight lang="apache">
 
<VirtualHost *:80>
 
ServerName pprd-appli.mydomain.com
 
DocumentRoot "/data/www/PREPROD/appli/"
 
ErrorLog "|/usr/sbin/rotatelogs -n 5 /data/logs/pprd-appli.mydomain.com_http_error.log 50M"
 
CustomLog "|/usr/sbin/rotatelogs -n 5 /data/logs/pprd-appli.mydomain.com_http_access.log 50M" combined
 
LogLevel debug
 
<Directory "/data/www/PREPROD/appli/">
 
DirectoryIndex index.php
 
Options FollowSymLinks
 
AllowOverride All
 
Require all granted
 
</Directory>
 
</VirtualHost>
 
</syntaxhighlight>
 
 
 
Les logs sont paramétrés pour ne tourner que sur 5 fichiers d'une taille maximale de 50M.
 
 
 
Plus d'informations sur la documentation officielle d'Apache : https://httpd.apache.org/docs/2.4/fr/programs/rotatelogs.html.
 
 
 
== Configuration modèle ==
 
 
 
Voici un modèle de configuration Apache s'appuyant sur des variables de configuration (grâce à [http://httpd.apache.org/docs/2.4/mod/core.html#define Define et UnDefine]) dont il est possible de s'inspirer pour chaque nouveau ''vhost'' :
 
 
 
<syntaxhighlight lang="apache">
 
Define app_name appli.mydomain.com
 
# Appli de développement
 
<VirtualHost *:80>
 
Define url_app dev-${app_name}
 
ServerName ${url_app}
 
DocumentRoot "/data/www/DEV/appli/public"
 
ErrorLog "|/usr/sbin/rotatelogs -n 5 /data/logs/${url_app}_http_error.log 10M"
 
CustomLog "|/usr/sbin/rotatelogs -n 5 /data/logs/${url_app}_http_access.log 10M" combined
 
LogLevel debug
 
 
php_flag log_errors on
 
php_flag display_errors off
 
php_value error_reporting "E_NOTICE"
 
php_value error_log /data/logs/${url_app}_php_error.log
 
 
 
<Directory "/data/www/DEV/appli/public">
 
DirectoryIndex index.html index.php
 
Options FollowSymLinks
 
AllowOverride All
 
Require all granted
 
</Directory>
 
UnDefine url_app
 
</VirtualHost>
 
 
 
# Appli d'intégration
 
<VirtualHost *:80>
 
Define url_app int-${app_name}
 
ServerName ${url_app}
 
DocumentRoot "/data/www/INT/appli/public"
 
ErrorLog "|/usr/sbin/rotatelogs -n 5 /data/logs/${url_app}_http_error.log 10M"
 
CustomLog "|/usr/sbin/rotatelogs -n 5 /data/logs/${url_app}_http_access.log 10M" combined
 
LogLevel debug
 
 
php_flag log_errors on
 
php_flag display_errors off
 
php_value error_reporting "E_ALL"
 
php_value error_log /data/logs/${url_app}_php_error.log
 
 
<Directory "/data/www/INT/appli/public">
 
DirectoryIndex index.html index.php
 
Options FollowSymLinks
 
AllowOverride All
 
Require all granted
 
</Directory>
 
UnDefine url_app
 
</VirtualHost>
 
 
 
# Appli de recette
 
<VirtualHost *:80>
 
Define url_app rec-${app_name}
 
ServerName ${url_app}
 
DocumentRoot "/data/www/REC/appli/public"
 
ErrorLog "|/usr/sbin/rotatelogs -n 5 /data/logs/${url_app}_http_error.log 10M"
 
CustomLog "|/usr/sbin/rotatelogs -n 5 /data/logs/${url_app}_http_access.log 10M" combined
 
LogLevel debug
 
 
php_flag log_errors on
 
php_flag display_errors off
 
php_value error_reporting "E_NOTICE"
 
php_value error_log /data/logs/${url_app}_php_error.log
 
 
<Directory "/data/www/REC/appli/public">
 
DirectoryIndex index.html index.php
 
Options FollowSymLinks
 
AllowOverride All
 
Require all granted
 
</Directory>
 
UnDefine url_app
 
</VirtualHost>
 
 
 
# Appli de préproduction
 
<VirtualHost *:80>
 
Define url_app pprd-${app_name}
 
ServerName ${url_app}
 
DocumentRoot "/data/www/PREPROD/current/public"
 
ErrorLog "|/usr/sbin/rotatelogs -n 5 /data/logs/${url_app}_http_error.log 10M"
 
CustomLog "|/usr/sbin/rotatelogs -n 5 /data/logs/${url_app}_http_access.log 10M" combined
 
LogLevel debug
 
 
php_flag log_errors on
 
php_flag display_errors off
 
php_value error_reporting "E_NOTICE"
 
php_value error_log /data/logs/${url_app}_php_error.log
 
 
<Directory "/data/www/PREPROD/current/public">
 
DirectoryIndex index.html index.php
 
Options FollowSymLinks
 
AllowOverride All
 
Require all granted
 
</Directory>
 
UnDefine url_app
 
</VirtualHost>
 
UnDefine app_name
 
</syntaxhighlight>
 
 
 
== Autoriser plusieurs dossiers ==
 
 
 
Dans le cas où il n'est pas envisageable de modifier la configuration Apache à chaque création d'un nouveau dossier, il est possible de donner accès à des dossiers correspondant à une expression régulière (voir [https://httpd.apache.org/docs/2.4/fr/mod/core.html#directory la documentation à propos de la directive Directory]). Voici un exemple :
 
 
 
<syntaxhighlight lang="apache">
 
# Appli de recette
 
<VirtualHost *:80>
 
ServerAdmin mymail@mydomain.com
 
DocumentRoot "/data/www/REC"
 
ServerName rec-appli.mydomain.com
 
RewriteEngine On
 
ErrorLog "|/usr/sbin/rotatelogs -n 5 /data/logs/rec-appli.mydomain.com_http_error.log 10M"
 
CustomLog "|/usr/sbin/rotatelogs -n 5 /data/logs/rec-appli.mydomain.com_http_access.log 10M" combined
 
php_flag log_errors on
 
php_flag display_errors off
 
php_value error_reporting "E_NOTICE"
 
php_value error_log /data/logs/rec-appli.mydomain.com_php_error.log
 
LogLevel debug
 
 
<Directory ~ "/data/www/REC/appli.*">
 
Options FollowSymLinks
 
AllowOverride All
 
Order allow,deny
 
Allow from All
 
</Directory>
 
</VirtualHost>
 
</syntaxhighlight>
 
 
 
Dans cet exemple, seuls les dossiers commençant par <code>/data/www/REC/appli</code> seront publiés.
 

Version actuelle datée du 14 mai 2020 à 09:37

Présentation

Cette page a pour objet de lister les gestes techniques liées au serveur web Apache.

Plus d'informations sur le site de l'éditeur :

Liste des sous-pages