Si comme moi vous êtes allergiques au copier/coller, voici comment simplifier les fichiers de configuration Apache à l'aide d'un simple module : mod_macro.
Ce module permet la définition de macros, similaires à celles du pré-processeur C. Bien que basiques, elles permettent de factoriser une grande part de la configuration, tout particulièrement avec plusieurs virtualhosts.
Voici un exemple :
/etc/apache2/vhosts.d/01_poirsouille.org.conf
# Définition de la macro VH
DocumentRoot "/home/poirsouille/public_html/$subdomain"
ServerName $subdomain.poirsouille.org
CustomLog /var/log/apache2/$subdomain_access_log combined
ErrorLog /var/log/apache2/$subdomain_error_log
Options Indexes FollowSymLinks
Options +ExecCGI
Order allow,deny
Allow from all
# Autre macro pour la configuration SSL
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/apache2/$subdomain.poirsouille.crt
SSLCertificateKeyFile /etc/ssl/apache2/poirsouille.key
SSLCertificateChainFile /etc/ssl/apache2/sub.class1.server.ca.pem
SSLCACertificateFile /etc/ssl/apache2/ca.pem
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
CustomLog /var/log/apache2/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Use VH photos
Use VH tech
SuexecUserGroup poirsouille poirsouille
FCGIWrapper /home/poirsouille/public_html/cgi-bin/php-fcgi .php
Use VH tech
Use SSL tech
SuexecUserGroup poirsouille poirsouille
FCGIWrapper /home/poirsouille/public_html/cgi-bin/php-fcgi .php