Lorsque l'on commence l'auto-hébergement, on pense qu'on se limitera à une ou deux pages web. Faux ! Avoir son serveur fournit à la fois des besoins (monitoring etc) mais offre aussi des nouvelles possibilités.

Ainsi, on accumule rapidement des vhosts dans apache et certains ont la même structure. L'idée est donc de créer des templates. Ceci est possible avec le mod macro.

Dans /etc/apache2/conf.d, on crée par exemple le fichier http.macro

<Macro VHost $host $port>
  <VirtualHost $host:$port>

    ServerName $host
    ServerAdmin webmaster@chez.moi
    DocumentRoot /var/vhosts/$host
    ErrorLog logs/$host-error_log
    TransferLog logs/$host-access_log

    <Directory /var/vhosts/$host>
      order allow, deny
    </Directory>
  </VirtualHost>
</Macro>

Ensuite, dans /etc/apache2/site-available/www.chez.moi, on crée le vhost :

Use VHost vhost.chez.moi 80

On active le mod et le site :

a2enmod macro
a2ensite www.chez.moi
service apache2 reload

Lors de l'écriture du prochain vhost, une seule ligne à écrire sera nécessaire. La maintenance est centralisée.

Source : http://serverfault.com/questions/64656/using-variables-in-apache-config-files-to-reduce-duplication