a2enmod modulo
. Per disabilitare un modulo il comando è a2dismod modulo
. Questi programmi non fanno altro che creare (o rimuovere) i collegamenti simbolici in /etc/apache2/mods-enabled/
che puntano ai file (conservati in /etc/apache2/mods-available/
).
/etc/apache2/ports.conf
) e serve le pagine dalla directory /var/www/
(come configurato in /etc/apache2/sites-enabled/000-default
).
NameVirtualHost *:80
nel file /etc/apache2/ports.conf
). Inoltre è definito un host virtuale predefinito nel file /etc/apache2/sites-enabled/000-default
: questo host virtuale viene utilizzato qualora non venga trovato alcun host che corrisponde alla richiesta inviata dal client.
/etc/apache2/sites-available/
. Quindi impostare un sito web per il dominio falcot.org
richiede semplicemente la creazione del file seguente e l'abilitazione dell'host virtuale con a2ensite www.falcot.org
.
Esempio 11.16. Il file /etc/apache2/sites-available/www.falcot.org
<VirtualHost *:80> ServerName www.falcot.org ServerAlias falcot.org DocumentRoot /srv/www/www.falcot.org </VirtualHost>
CustomLog
nelle definizioni degli host virtuali). Questo è un buon motivo per personalizzare il formato di questo file di log perché includa il nome dell'host virtuale. Questo può essere fatto creando un file /etc/apache2/conf.d/customlog
che definisce un nuovo formato per tutti i file di log (con la direttiva LogFormat
). La riga CustomLog
dev'essere quindi rimossa (o commentata) dal file /etc/apache2/sites-available/default
.
Esempio 11.17. Il file /etc/apache2/conf.d/customlog
# Nuovo formato di log che include il nome dell'host (virtuale) LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost # Quindi utilizziamo questo formato "vhost" in via predefinita CustomLog /var/log/apache2/access.log vhost
Directory
blocks; they allow specifying different behaviors for the server depending on the location of the file being served. Such a block commonly includes Options
and AllowOverride
directives.
Esempio 11.18. Blocco Directory
<Directory /var/www> Options Includes FollowSymlinks AllowOverride All DirectoryIndex index.php index.html index.htm </Directory>
DirectoryIndex
directive contains a list of files to try when the client request matches a directory. The first existing file in the list is used and sent as a response.
Options
directive is followed by a list of options to enable. The None
value disables all options; correspondingly, All
enables them all except MultiViews
. Available options include:
AllowOverride
elenca tutte le opzioni che possono essere abilitate o disabilitate attraverso un file .htaccess
. Un utilizzo comune di questa opzione riguarda la limitazione di ExecCGI
per permettere all'amministratore di scegliere quali utenti sono autorizzati ad eseguire programmi con l'identità del server web (l'utente www-data
).
Esempio 11.19. Richiedere l'autenticazione con un file .htaccess
Require valid-user AuthName "Directory privata" AuthType Basic AuthUserFile /etc/apache2/authfiles/htpasswd-private
/etc/apache2/authfiles/htpasswd-private
contiene una lista di utenti e password che sono generalmente manipolati con il comando htpasswd
. Per esempio il seguente comando è utilizzato per aggiungere un utente o cambiare la sua password:
#
htpasswd /etc/apache2/authfiles/htpasswd-private utente
New password: Re-type new password: Adding password for user user
Allow from
and Deny from
directives control access restrictions for a directory (and its subdirectories, recursively).
Order
comunica al server l'ordine con cui le direttive Allow from
e Deny from
devono essere applicate: l'ultima che corrisponde ha la precedenza. In parole povere, Order deny,allow
consente l'accesso se nessuna direttiva Deny from
è soddisfatta oppure se lo è una direttiva Allow from
. Al contrario Order allow,deny
rifiuta l'accesso se nessuna direttiva Allow from
è soddisfatta (oppure se lo è una direttiva Deny from
).
Allow from
e Deny from
possono essere seguite da un indirizzo IP, da una rete (come 192.168.0.0/255.255.255.0
, 192.168.0.0/24
o anche 192.168.0
), un nome host oppure un nome di dominio, o ancora dalla parola chiave all
che indica tutti.
/etc/awstats/awstats.conf
file. The Falcot administrators keep it unchanged apart from the following parameters:
LogFile="/var/log/apache2/access.log" LogFormat = "%virtualname %host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" SiteDomain="www.falcot.com" HostAliases="falcot.com REGEX[^.*\.falcot\.com$]" DNSLookup=1 LoadPlugin="tooltips"
LogFile
e LogFormat
descrivono la posizione ed il formato del file di log e le informazioni che contiene: SiteDomain
e HostAliases
elencano i vari nomi con cui il sito web principale viene indicato.
DNSLookup
non dovrebbe essere impostato a 1
ma per i siti minori, come quello della Falcot descritto in precedenza, questa impostazione permette di avere dei resoconti più leggibili che includono il nome completo delle macchine anziché il semplice indirizzo IP.
/etc/awstats/awstats.www.falcot.org.conf
.
Esempio 11.21. File di configurazione di AWStats per un host virtuale
Include "/etc/awstats/awstats.conf" SiteDomain="www.falcot.org" HostAliases="falcot.org"
/usr/share/awstats/icon/
. Perché queste icone siano disponibili sul sito web la configurazione di Apache dev'essere adattata per includere la seguente direttiva:
Alias /awstats-icon/ /usr/share/awstats/icon/