Published on Stefano Sasso (http://stefano.dscnet.org)
apache: definire macro con mod_macro
By stefano
Data di creazione 10/12/2007 - 13:10

mod_macro rende il lavoro di amministrazione di apache più semplice e veloce

per prima cosa dobbiamo installare ed attivare il modulo

apt-get install libapache2-mod-macro
a2enmod macro
/etc/init.d/apache2 restart

vediamo subito un esempio che ci aiuterà a capire il comportamento

<Macro Logfile>
CustomLog /var/log/apache2/access.log combined
ErrorLog /var/log/apache2/error.log
LogLevel warn
</Macro>
per usare la macro basterà inserire
Use Logfile
è possibile passare alla macro anche delle variabili:
<Macro Logfiles $sitename>
CustomLog /var/log/apache2/$sitename-access.log combined
ErrorLog /var/log/apache2/$sitename-error.log
LogLevel warn
</Macro>
e per usare la macro
Use Logfiles dominio1.com

In generale la sintassi di "Use" è

Use <Nome_macro> [Variabile 1] [Variabile 2] ... [Variabile x]

l'ideale sarebbe scrivere tutte le macro nel file /etc/apache2/conf.d/macros.conf, in modo che venga automaticamente incluso da apache.

vediamo qualche configurazione più avanzata:

è anche possibile annidare macro:

<Macro VHost $tipo $hostname>
<VirtualHost *>
    ServerName $hostname
   ServerAlias www.$hostname
   ServerAdmin webmaster@$hostname
 
   DocumentRoot /srv/www/$hostname
    Use VHTipo_$tipo $hostname
   CustomLog /var/log/apache2/$hostname-access.log combined
   ErrorLog /var/log/apache2/$hostname-error.log
   LogLevel warn
 
   ServerSignature Off
 
</VirtualHost>
</Macro>
<Macro VHTipo_static_pages_with_cgi $hostname>
   ScriptAlias /cgi-bin/ /srv/www/$hostname/cgi-bin/
</Macro>
L'uso sarà
Use VHost only_static_pages dominio1.com
Use VHost static_pages_with_cgi dominio2.com
Use VHost with_php dominio3.com
Creative Commons License Linux Kernel Debian GNU/Linux Apache Web Server Drupal CMS gnustile.net

Source URL (retrieved on 05/02/2012 - 14:42): http://stefano.dscnet.org/a/apache_definire_macro_con_mod_macro