<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.jordan-lenuff.com/index.php?action=history&amp;feed=atom&amp;title=Technique%2FApache%2FConfiguration_mod%C3%A8le</id>
	<title>Technique/Apache/Configuration modèle - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jordan-lenuff.com/index.php?action=history&amp;feed=atom&amp;title=Technique%2FApache%2FConfiguration_mod%C3%A8le"/>
	<link rel="alternate" type="text/html" href="https://wiki.jordan-lenuff.com/index.php?title=Technique/Apache/Configuration_mod%C3%A8le&amp;action=history"/>
	<updated>2026-05-15T22:00:34Z</updated>
	<subtitle>Historique des révisions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://wiki.jordan-lenuff.com/index.php?title=Technique/Apache/Configuration_mod%C3%A8le&amp;diff=617&amp;oldid=prev</id>
		<title>Jordan : Page créée avec « == Présentation == Cette page a pou objet de donner des exemples de configuration Apache à mettre en œuvre.  == Introduction == Les modèles de configuration Apache pr… »</title>
		<link rel="alternate" type="text/html" href="https://wiki.jordan-lenuff.com/index.php?title=Technique/Apache/Configuration_mod%C3%A8le&amp;diff=617&amp;oldid=prev"/>
		<updated>2020-05-14T09:16:00Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « == Présentation == Cette page a pou objet de donner des exemples de configuration Apache à mettre en œuvre.  == Introduction == Les modèles de configuration Apache pr… »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Présentation ==&lt;br /&gt;
Cette page a pou objet de donner des exemples de configuration Apache à mettre en œuvre.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Les modèles de configuration Apache présentés ici s'appuyent 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''.&lt;br /&gt;
&lt;br /&gt;
== Exemple Hors Prod ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
Define app_name myapp.jordan-lenuff.com&lt;br /&gt;
Define doc_root_parent &amp;quot;/data/www/MyApp&amp;quot;&lt;br /&gt;
Define doc_root_child &amp;quot;public&amp;quot;&lt;br /&gt;
# Instance de développement&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	Define url_app dev-${app_name}&lt;br /&gt;
	ServerName ${url_app}&lt;br /&gt;
	DocumentRoot &amp;quot;${doc_root_parent}/DEV&amp;quot;&lt;br /&gt;
	ErrorLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_error.log 10M&amp;quot;&lt;br /&gt;
	CustomLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_access.log 10M&amp;quot; combined&lt;br /&gt;
	LogLevel debug&lt;br /&gt;
	&lt;br /&gt;
	php_flag log_errors on&lt;br /&gt;
	php_flag display_errors off&lt;br /&gt;
	# 32767 for E_ALL, 8 for E_NOTICE, 2 for E_WARNING, 1 for E_ERROR&lt;br /&gt;
	# More information on https://www.php.net/manual/fr/errorfunc.constants.php&lt;br /&gt;
	php_value error_reporting &amp;quot;8&amp;quot;&lt;br /&gt;
	php_value error_log /data/logs/${app_name}/${url_app}_php_error.log&lt;br /&gt;
&lt;br /&gt;
	# Les deux lignes ci-dessous permettent d'appeler l'application pour chaque dossier des développeurs contenant l'application&lt;br /&gt;
	# exemple : http://dev-www.myapp.com/TOTO pointera automatiquement vers le dossier ${doc_root_parent}/DEV/TOTO/${doc_root_child}&lt;br /&gt;
	AliasMatch &amp;quot;^/([[:alpha:]]+)(/.*)?&amp;quot; &amp;quot;${doc_root_parent}/DEV/$1/${doc_root_child}$2&amp;quot;	&lt;br /&gt;
	&amp;lt;Directory &amp;quot;${doc_root_parent}/DEV/*/${doc_root_child}&amp;quot;&amp;gt;&lt;br /&gt;
		DirectoryIndex index.html index.php&lt;br /&gt;
		Options FollowSymLinks&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	UnDefine url_app&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Instance de intégration&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	Define url_app int-${app_name}&lt;br /&gt;
	ServerName ${url_app}&lt;br /&gt;
	DocumentRoot &amp;quot;${doc_root_parent}/INTEGRATION/${doc_root_child}&amp;quot;&lt;br /&gt;
	ErrorLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_error.log 10M&amp;quot;&lt;br /&gt;
	CustomLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_access.log 10M&amp;quot; combined&lt;br /&gt;
	LogLevel debug	&lt;br /&gt;
	&lt;br /&gt;
    php_flag log_errors on&lt;br /&gt;
    php_flag display_errors off&lt;br /&gt;
	# 32767 for E_ALL, 8 for E_NOTICE, 2 for E_WARNING, 1 for E_ERROR&lt;br /&gt;
	# More information on https://www.php.net/manual/fr/errorfunc.constants.php&lt;br /&gt;
	php_value error_reporting &amp;quot;32767&amp;quot;&lt;br /&gt;
	php_value error_log /data/logs/${app_name}/${url_app}_php_error.log&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;Directory &amp;quot;${doc_root_parent}/INTEGRATION/${doc_root_child}&amp;quot;&amp;gt;&lt;br /&gt;
		DirectoryIndex index.html index.php&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	UnDefine url_app&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Instance de recette&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	Define url_app rec-${app_name}&lt;br /&gt;
	ServerName ${url_app}&lt;br /&gt;
	DocumentRoot &amp;quot;${doc_root_parent}/REC/${doc_root_child}&amp;quot;&lt;br /&gt;
	ErrorLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_error.log 10M&amp;quot;&lt;br /&gt;
	CustomLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_access.log 10M&amp;quot; combined&lt;br /&gt;
	LogLevel debug	&lt;br /&gt;
	&lt;br /&gt;
    php_flag log_errors on&lt;br /&gt;
    php_flag display_errors off&lt;br /&gt;
	# 32767 for E_ALL, 8 for E_NOTICE, 2 for E_WARNING, 1 for E_ERROR&lt;br /&gt;
	# More information on https://www.php.net/manual/fr/errorfunc.constants.php&lt;br /&gt;
	php_value error_reporting &amp;quot;32767&amp;quot;&lt;br /&gt;
	php_value error_log /data/logs/${app_name}/${url_app}_php_error.log&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;Directory &amp;quot;${doc_root_parent}/REC/${doc_root_child}&amp;quot;&amp;gt;&lt;br /&gt;
		DirectoryIndex index.html index.php&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	UnDefine url_app&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Instance de préproduction&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	Define url_app pprd-${app_name}&lt;br /&gt;
	ServerName ${url_app}&lt;br /&gt;
	DocumentRoot &amp;quot;${doc_root_parent}/PREPROD/${doc_root_child}&amp;quot;&lt;br /&gt;
	ErrorLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_error.log 10M&amp;quot;&lt;br /&gt;
	CustomLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_access.log 10M&amp;quot; combined&lt;br /&gt;
	LogLevel debug	&lt;br /&gt;
&lt;br /&gt;
	php_flag log_errors on&lt;br /&gt;
	php_flag display_errors off&lt;br /&gt;
	# 32767 for E_ALL, 8 for E_NOTICE, 2 for E_WARNING, 1 for E_ERROR&lt;br /&gt;
	# More information on https://www.php.net/manual/fr/errorfunc.constants.php&lt;br /&gt;
	php_value error_reporting &amp;quot;32767&amp;quot;&lt;br /&gt;
	php_value error_log /data/logs/${app_name}/${url_app}_php_error.log&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;Directory &amp;quot;${doc_root_parent}/PREPROD/${doc_root_child}&amp;quot;&amp;gt;&lt;br /&gt;
		DirectoryIndex index.html index.php&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
		SetEnv APP_ENV &amp;quot;pprd&amp;quot;&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	UnDefine url_app&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
UnDefine doc_root_child&lt;br /&gt;
UnDefine doc_root_parent&lt;br /&gt;
UnDefine app_name&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Penser à créer les dossiers &amp;lt;code&amp;gt;/data/logs/${app_name}&amp;lt;/code&amp;gt; et fichiers de logs associés &amp;lt;code&amp;gt;/data/logs/${app_name}/${url_app}_*&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple pour l'application myapp.jordan-lenuff.com sur le serveur hors production :&amp;lt;/u&amp;gt;&lt;br /&gt;
 mkdir -p /data/logs/myapp.jordan-lenuff.com&lt;br /&gt;
 touch /data/logs/myapp.jordan-lenuff.com/{dev,rec,int,pprd}-myapp.jordan-lenuff.com_{http_{error,access},php_error}.log&lt;br /&gt;
 chown -R www:www /data/logs/myapp.jordan-lenuff.com&lt;br /&gt;
&lt;br /&gt;
== Exemple Production ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
Define app_name myapp.jordan-lenuff.com&lt;br /&gt;
# Instance de production&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	Define url_app ${app_name}&lt;br /&gt;
	ServerName ${url_app}&lt;br /&gt;
	DocumentRoot &amp;quot;/data/www/MyApp/public&amp;quot;&lt;br /&gt;
	ErrorLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_error.log 10M&amp;quot;&lt;br /&gt;
	CustomLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_access.log 10M&amp;quot; combined&lt;br /&gt;
	LogLevel debug	&lt;br /&gt;
	&lt;br /&gt;
	php_flag log_errors on&lt;br /&gt;
	php_flag display_errors off&lt;br /&gt;
	# 32767 for E_ALL, 8 for E_NOTICE, 2 for E_WARNING, 1 for E_ERROR&lt;br /&gt;
	# More information on https://www.php.net/manual/fr/errorfunc.constants.php&lt;br /&gt;
	php_value error_reporting &amp;quot;8&amp;quot;&lt;br /&gt;
	php_value error_log /data/logs/${app_name}/${url_app}_php_error.log&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;Directory &amp;quot;/data/www/MyApp/public&amp;quot;&amp;gt;&lt;br /&gt;
		DirectoryIndex index.html index.php&lt;br /&gt;
		Options FollowSymLinks&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	UnDefine url_app&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
UnDefine app_name&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Penser à créer les dossier &amp;lt;code&amp;gt;/data/logs/${app_name}&amp;lt;/code&amp;gt; et fichiers de logs associés &amp;lt;code&amp;gt;/data/logs/${app_name}/${url_app}_*&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple pour l'application myapp.jordan-lenuff.com sur le serveur de production :&amp;lt;/u&amp;gt;&lt;br /&gt;
 mkdir -p /data/logs/myapp.jordan-lenuff.com&lt;br /&gt;
 touch /data/logs/myapp.jordan-lenuff.com/myapp.jordan-lenuff.com_{http_{error,access},php_error}.log&lt;br /&gt;
 chown -R www:www /data/logs/myapp.jordan-lenuff.com&lt;br /&gt;
&lt;br /&gt;
== Mise en oeuvre ==&lt;br /&gt;
Par exemple, pour le site de développement de myapp.jordan-lenuff.com, il va falloir :&lt;br /&gt;
*créer le dossier &amp;lt;code&amp;gt;/data/www/DEV/myapp.jordan-lenuff.com&amp;lt;/code&amp;gt;&lt;br /&gt;
*créer le dossier de log &amp;lt;code&amp;gt;/data/logs/myapp.jordan-lenuff.com&amp;lt;/code&amp;gt;&lt;br /&gt;
*créer les fichiers de logs http_access.log, http_error.log et php_error.log&lt;br /&gt;
*créer le fichier de configuration &amp;lt;code&amp;gt;/local/www/current/conf/vhosts/myapp.jordan-lenuff.com.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, cela donnera les commandes suivantes :&lt;br /&gt;
{{terminal|text=&lt;br /&gt;
mkdir -p /data/www/DEV/myapp.jordan-lenuff.com&lt;br /&gt;
chown www:www /data/www/DEV/myapp.jordan-lenuff.com&lt;br /&gt;
mkdir -p /data/logs/myapp.jordan-lenuff.com&lt;br /&gt;
touch /data/logs/myapp.jordan-lenuff.com/myapp.jordan-lenuff.com_{http_{access,error},php_error}.log&lt;br /&gt;
chown -R www:www /data/logs/myapp.jordan-lenuff.com&lt;br /&gt;
vi /local/www/current/conf/vhosts/myapp.jordan-lenuff.com&lt;br /&gt;
}}&lt;br /&gt;
dont le contenu du fichier &amp;lt;code&amp;gt;/local/www/current/conf/vhosts/myapp.jordan-lenuff.com.conf&amp;lt;/code&amp;gt; sera le suivant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
Define app_name myapp.jordan-lenuff.com&lt;br /&gt;
# Instance de développement&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	Define url_app dev-${app_name}&lt;br /&gt;
	ServerName ${url_app}&lt;br /&gt;
	DocumentRoot &amp;quot;/data/www/DEV/myapp.jordan-lenuff.com&amp;quot;&lt;br /&gt;
	ErrorLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_error.log 10M&amp;quot;&lt;br /&gt;
	CustomLog &amp;quot;|/local/www/current/bin/rotatelogs -t -l -n 15 /data/logs/${app_name}/${url_app}_http_access.log 10M&amp;quot; combined&lt;br /&gt;
	LogLevel debug	&lt;br /&gt;
	&lt;br /&gt;
	php_flag log_errors on&lt;br /&gt;
	php_flag display_errors off&lt;br /&gt;
	# 32767 for E_ALL, 8 for E_NOTICE, 2 for E_WARNING, 1 for E_ERROR&lt;br /&gt;
	# More information on https://www.php.net/manual/fr/errorfunc.constants.php&lt;br /&gt;
	php_value error_reporting &amp;quot;8&amp;quot;&lt;br /&gt;
	php_value error_log /data/logs/${app_name}/${url_app}_php_error.log&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;Directory &amp;quot;/data/www/DEV/myapp.jordan-lenuff.com&amp;quot;&amp;gt;&lt;br /&gt;
		DirectoryIndex index.html index.php&lt;br /&gt;
		Options FollowSymLinks&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	UnDefine url_app&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
UnDefine app_name&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jordan</name></author>
		
	</entry>
</feed>