La configurazione di un Virtual Host.

Mauro Goretti

La configurazione di un Virtual Host.

La directory entro cui apportare le configurazioni su GNU/ Linux Debian come abbiamo notato finora è ubicata al percorso “/etc/apache2”, osserviamo i file e le sottocartelle contenute snodando
alcune considerazioni da tenere a mente:

# Is -na /etc/apache2/
apache2.conf
conf.d
envvars
httpd.conf
magic
mods-available
moda-enabled
ports.conf
sites-available
sites-enabled

Le cartelle “conf.d”, “mod-available/enabled” e “sites-available/enabled” funzioneranno come
directory di inclusione riferite al file di configurazione “apache2.conf” e rispettivamente conterranno al loro interno le impostazioni del server, gli addon (mod) disponibili ed attivi con i
propri file di configurazione e gli indirizzi per i quali vogliamo rimanere in ascolto ed attivare il
Web Server (vhost). Di questi ultimi parleremo tra poco dal momento che, per ora, abbiamo ipotizzato una configurazione per singolo hostname (quello relativo alla macchina in uso rintracciabile nel file “/etc/hostname” o comunque all'indirizzo IP del PC).
Importante precisare che in gran parte delle modifiche e delle configurazioni da apportare ad Apache 2 sono gestite attraverso il blocco istruzione <VirtualHost>. Questa è una modifica strutturale ed un corretto modo di lavorare adoperato in modo standard a partire dalla release 2.
File di configurazione gestiti in questo modo e l'utilizzo saggio delle directory di inclusione entro
cui collocare gli stessi in base ai singoli hostname da gestire, consentono una gestione modulare
del servizio HTTP senza generare enormi file di configurazione, spesso difficili da manipolare.
Resta inteso che quanto espresso di seguito è comunque realizzabile alla “vecchia maniera”, ovvero
specificando tutto all'interno di un unico file di configurazione (“apache2.conf”o “httpd.conf”).
Diamo un occhio ad alcune direttive presenti nel file “sites-enabled/000-default” che in buona
parte accetteremo per come presenti nell'installazione di default occupandoci di modificare solo
l'indispensabile. Questo file indica al webserver il comportamento da manifestare quando arriva
una richiesta non trattata da alcuna configurazione per singolo host virtuale (vhost). In sostanza,
l'output da visualizzare e le impostazioni da adoperare quando si arriva al server Web se l'indirizzo passato non è oggetto di alcuna configurazione specifica. Azzeriamo lo stesso digitando da shell:

# echo “” > /etc/apache2/sites-enabled/000-default

Occupiamoci ora di editare il file riferendoci ad una configurazione che tenga conto delle seguenti
condizioni. La directory radice contenente i file Web da rendere disponibili online vogliamo che
sia quella ubicata al percorso “/var/www” (che, adoperando ModChroot corrisponde al percorso
/var/www/var/www” sul nostro disco). Vogliamo consentire al Server di percorrere i link a file.
Vogliamo stabilire come prioritari alla visualizzazione le pagine, nell'ordine:
index.php, index.html, index.htm, home.php, home.html, home.htm, default.php, default.html, default.htm. Vogliamo impedire il Listing di una directory qualora non vi sia nessuna delle pagine appena citate all'interno della stessa. Vogliamo abilitare un logging abbastanza
severo che tenga conto anche dei messaggi di avviso e non solo degli errori. In base alle constatazioni fatte, il nostro file di configurazione (/etc/apache2/sites-enabled/000-default) sarà:
<VirtualHost *:80>
DocumentRoot/var/www
DirectoryIndex index.php index.html index.htm home.php home.html home.htm default.php
default.html default.htm
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>
LogLevel warn
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>

Commenti

Post popolari in questo blog

INSTAFETCH - Android -

I pesci abissali. Zoologia marina.

La Centrale Idroelettrica.