In questa guida verrà spiegato come configurare il Web Server Apache per l'utilizzo del virtual host.
Il Virtual Hosting è una tecnica che permette la gestione dei domini basandosi sul loro nome simbolico e non sul loro indirizzo IP. Tramite la configurazione di questo servizio, un web server, avente un unico IP pubblico, sarà in grado di ospitare differenti siti web.
ATTENZIONE: questo tutorial è riferito ad Apache.
Vediamo allora come configurare Apache in modo tale che il servizio utilizzi il Virtual Host.
Per prima cosa dobbiamo conoscere qual'è la DocumentRoot del nostro web server in modo da creare dentro ad essa la cartella contenente i nostri siti.
Per farlo dobbiamo analizzare il file httpd.conf o apache2.conf in base alla distribuzione (su windows la procedura è analoga, basterà aprire il file contenuto nella cartella di installazione con il blocco note).
Su fedora possiamo dare il seguente comando:
Code:
su debian invece
Code:
il cui risultato dovrebbe essere una cosa del tipo
Code:
Abbiamo quindi individuato che il WebServer utilizza come / (Root Directory) la cartella /var/www/html; quindi puntando il nostro browser sull'indirizzo del web server la prima pagina che si vedrà sarà l'index di tale cartella.
All'interno di tale cartella creiamo altre cartelle con il nome del dominio che vogliamo adottare.
Nel caso di linux possiamo dare il seguente comando:
Code:
Una volta creata la cartella dobbiamo impostare il web server ad andare a modificare la sua DocumentRoot nel caso in cui il nome simbolico richiesto sia quello specifico del nostro dominio.
Per esempio, se volessimo gestire il dominio www.esempio.it dovremo creare la cartella /var/www/html/esempio.it e configurare apache in modo che alla richiesta di www.esempio.it la DocumentRoot di tale richiesta sia /var/www/html/esempio.it e non quella generale (/var/www/html).
Per farlo dobbiamo editare il file /etc/httpd/conf/httpd.conf o /etc/apache2/apache2.conf in base alla distribuzione, aggiungendo nella sezione VirtualHost (generalmente alla fine del file) le seguenti linee di codice:
Code:
ServerName esempio.it
DocumentRoot /var/www/html/esempio.it
</VirtualHost>
Nel caso non fossimo ancora in possesso del DNS, ma dobbiamo testare il funzionamento, su linux si possono definire degli host statici inserendoli nel file /etc/hosts.
Nel nostro caso andremo ad inserire in fondo al file le seguenti righe:
Code:
127.0.0.1 www.esempio.it
In questo caso stiamo utilizzando un web server sul computer locale, in caso di un web server remoto andrà sostituito l'IP 127.0.0.1 con quello del web server remoto.
Puntando ora il browser sull'indirizzo www.esempio.it la pagina che comparirà sarà l'index contenuto nella cartella /var/www/html/esempio.it.
Per ora abbiamo configurato un solo Virtual Host. Se volessimo ampliare i domini da gestire, quindi aggiungerne degli altri non basterà aggiungere un altro campo VirtualHost.
Per aggiungere ulteriori domini, per esempio se volessimo gestire anche il dominio esempio2.it, dopo aver creato la cartella di tale dominio, la parte di VirtualHost del file di configurazione andrebbe modificata come segue:
Code:
<VirtualHost *:80>
ServerName esempio.it
DocumentRoot /var/www/html/esempio.it
</VirtualHost>
<VirtualHost *:80>
ServerName esempio2.it
DocumentRoot /var/www/html/esempio2.it
</VirtualHost>
ATTENZIONE: ricordiamo che, in caso di domini gestiti da persone differenti, o comunque per una maggiore sicurezza, è altamente consigliabile applicare ai VirtualHost buone politiche di sicurezza per l'utilizzo della propria unica cartella.
Buona configurazione.
Tags
Apache Bash Elastix Firewall Firma digitale Geolocazione Grafica Informatica Internet Java Linux OpenMoko PHP Programmazione Python Reti Ricetta SEO Sicurezza Sistemi Operativi Varie Virtualizzazione VoIPLink ad altri blog:


