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
Posta un commento
Ciao a tutti voi, sono a chiedervi se avete preferenze per Post di vostro interesse
in modo da dare a tutti voi che mi seguite un aiuto maggiore, grazie per la vostra disponibilità.