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/html/
(come configurato in /etc/apache2/sites-enabled/000-default.conf
).
mod_ssl
) necessario per rendere sicuro HTTP (HTTPS). È sufficiente attivarlo con a2enmod ssl
e aggiungere le direttive necessarie ai file di configurazione. Un esempio di configurazione è fornito in /etc/apache2/sites-available/default-ssl.conf
.
SSLCertificateFile /etc/letsencrypt/live/DOMAIN/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/DOMAIN/chain.pem SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt
mod_gnutls
, fornito con il pacchetto libapache2-mod-gnutls ed abilitato con il comando a2enmod gnutls
. Sfortunatamente, la versione pacchettizzata per Debian, aveva seri problemi ed implicazioni di sicurezza e pertanto non fa parte del rilascio di Debian Bullseye.
/etc/apache2/sites-enabled/000-default.conf
: 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.13. Il file /etc/apache2/sites-available/www.falcot.org.conf
<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-available/customlog.conf
che definisce un nuovo formato per tutti i file di log (con la direttiva LogFormat
) ed abilitandolo con a2enconf customlog
. La riga CustomLog
dev'essere quindi rimossa (o commentata) dal file /etc/apache2/sites-available/000-default.conf
.
Esempio 11.14. Il file /etc/apache2/conf-available/customlog.conf
# 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
che consentono di specificare diversi comportamenti per il server in base alla posizione del file che dev'essere servito. Un blocco generalmente include le direttive Options
e AllowOverride
.
Esempio 11.15. Blocco Directory
<Directory /srv/www> Options Includes FollowSymlinks AllowOverride All DirectoryIndex index.php index.html index.htm </Directory>
DirectoryIndex
contiene una lista di file da provare quando la richiesta del client corrisponde ad una directory. Il primo file nella lista che esiste viene inviato come risposta.
Options
è seguita da una lista di opzioni da abilitare. Il valore None
disabilita tutte le opzioni; così come, All
le abilita tutte ad eccezione di MultiViews
. Le opzioni disponibili includono:
ExecCGI
indica che gli script CGI possono essere eseguiti.
FollowSymlinks
indica al server che i collegamenti simbolici possono essere seguiti e che la risposta deve contenere il contenuto della destinazione di tali collegamenti.
SymlinksIfOwnerMatch
indica al server di seguire i collegamenti simbolici, ma solo quando il collegamento e la sua destinazione hanno lo stesso proprietario.
Includes
abilita Server Side Includes (SSI in breve). Si tratta di direttive incorporate nelle pagine HTML ed eseguite al volo per ogni richiesta.
IncludesNOEXEC
permette Server Side Includes (SSI) ma disabilita il comando exec
e limita la direttiva include
ai file di testo/markup.
Indexes
indica al server di elencare il contenuto di una directory se la richiesta HTTP inviata dal client punta ad una directory senza file di indice (cioè, quando in questa directory non esiste alcun file menzionato dalla direttiva DirectoryIndex
).
MultiViews
consente la negoziazione dei contenuti; può essere utilizzata dal server per restituire una pagina web corrispondente alla lingua preferita configurata nel browser.
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
).
mod_auth*
.
/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
Require
controlla le restrizioni di accesso per una directory (e le sue sottodirectory, in modo ricorsivo).
Require
sono combinate all'interno di un blocco RequireAll
.
/etc/awstats/awstats.conf
.Gli amministratori della Falcot lo mantengono così com'è modificando solo i parametri seguenti:
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.18. 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/
. Affinché queste icone siano disponibili sul sito web la configurazione di Apache dev'essere adattata per includere la seguente direttiva (per esempi più dettagliati vedere /usr/share/doc/awstats/examples/apache.conf
):
Alias /awstats-icon/ /usr/share/awstats/icon/