Come creare un Virtual Host su Apache XAMPP

Questo articolo descrive come creare un Virtual Host su un web server Apache XAMPP nei sistemi operativi Windows, Linux e iOS.

Esistono almeno tre modi per ospitare più siti web sullo stesso web server:

  1. utilizzare un unico nome di dominio (es. localhost) e creare una cartella per ciascun sito: http://localhost/sito1/; http://localhost/sito2/; ecc.
  2. Creare dei sottodomini: http://sito1.localhost/; http://sito2.localhost/; ecc.
  3. Creare uno o più virtual host. Questa soluzione permette di utilizzare nomi di dominio diversi: http://sito1.it/; http://sito2.it/; ecc. In questo modo è possibile creare un sito di prova in locale che abbia lo stesso nome dominio del sito di produzione, con il vantaggio di non dover convertire il nome di dominio nel momento in cui si porta il sito dall’ambiente di sviluppo a quello di produzione.

Le attività da svolgere per creare un virtual host sono pressoché identiche per tutti tre i sistemi operativi:

  • Associare il nome del sito alla directory del web server che ne conterrà le pagine.
  • Associare il nome del sito all’indirizzo IP del web server.

Vediamo le attività di dettaglio per ciascun Sistema Operativo.

Creare un Virtual Host in ambiente Windows

  • Sul computer che svolge il ruolo di web server (dov’è installato XAMPP) aprire in modifica il file C:\xampp\apache\conf\extra\httpd-vhosts.conf ed individuare il testo seguente:
    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot "C:\xampp\htdocs"
    </VirtualHost>

    Snippet 1 – Istruzioni di configurazione dell’host predefinito
    Inserire subito sotto al testo le istruzioni per configurare il nuovo virtual host (nell’esempio il nuovo dominio sarà: miosito.it):

    <VirtualHost *:80>
        ServerName miosito.it
        DocumentRoot "C:\www\miosito"
        ErrorLog  "C:\www\logs\miosito.it-error_log"
        CustomLog "C:\www\logs\miosito.it-access_log" common
    </VirtualHost>

    Snippet 2 – Istruzioni per configurare un nuovo virtual host
    In questo modo abbiamo istruito il web server sulla cartella che conterrà le pagine del nuovo sito e su quali file di log dovrà registrare eventuali messaggi di errore relativi al nuovo sito.

  • Riavviare il web server.
  • Sul computer che svolge il ruolo di client (dov’è installato il browser) aprire in modifica il file C:\windows\system32\drivers\etc\hosts ed inserire la seguente riga (dove 192.168.1.9 rappresenta l’indirizzo IP del web server):
    192.168.1.9 miosito.it

    Snippet 3 – Attribuzione dell’indirizzo IP del web server al nuovo dominio

Creare un Virtual Host in ambiente Linux

  • Innanzitutto verificare se nel file di configurazione /opt/lampp/etc/httpd.conf del web server è presente una istruzione che includa il file di configurazione degli host virtuali; eventualmente aggiungere l’istruzione:
    # Virtual hosts
    Include etc/extra/httpd-vhosts.conf

    Snippet 4 – Istruzioni per includere il file di configurazione dei virtual hosts

  • Modificare il file di configurazione /opt/lampp/etc/extra/httpd-vhosts.com, inserendo le seguenti istruzioni dopo quelle di configurazione dell’host predefinito localhost:
    <VirtualHost *:80>
        ServerName miosito.it
        DocumentRoot "/opt/lampp/htdocs/miosito"
        ErrorLog "logs/miosito.it-error_log"
        CustomLog "logs/miosito.it-access_log" common
    </VirtualHost>
    

    Snippet 5 – Istruzioni per configurare un nuovo virtual host

  • Riavviare il web server
  • Se il computer che svolge il ruolo di client monta anch’esso il sistema operativo Linux, aprire in modifica il file /etc/hosts ed inserire la seguente riga (dove 192.168.1.9 rappresenta l’indirizzo IP del web server):
    192.168.1.9 miosito.it

    Snippet 6 – Attribuzione dell’indirizzo IP del web server al nuovo dominio

Creare un Virtual Host in ambiente iOS

Quanto visto per Windows e Linux è valido anche per il Mac; i file di configurazione da modificare sono:

  • /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf
  • /private/etc/hosts

Appendice: come attivare porte multiple su Apache

Se si ha la necessità di attivare due siti di test su http://localhost e non si vuole ricorrere a sottocartelle (http://localhost/sito1 e http://localhost/sito2), è possibile attivare più porte sul webserver Apache.

Per attivare porte multiple su Apache di devono eseguire alcuni step:

  • Aprire in modifica il file di configurazione httpd.conf (in una istallazione XAMPP si trova nella directory /opt/lamp/etc se in ambiente Unix o nella cartella C:\xampp\apache\conf se in ambiente Windows) ed aggiungere una ulteriore porta, oltre a quella predefina “80”, nella sezione “Listen”:
Listen 80
Listen 8080 // nuova porta 8080
  • Inserire un nuovo virtual host, specificando la nuova porta sia come parametro della dichiarazione <virtualhost> sia nella definizione del Servername:
<VirtualHost *:8080> 
    ServerName localhost:8080 
    ...
</VirtualHost>
  • Riavviare il server Apache.
  • Se si utilizza il Control Panel di XAMPP, verificare dopo il riavvio che la nuova porta compaia nella colonna Port(s) del server Apache.

Ulteriori risorse sulla creazione di Virtual Host

Aggiungere dei Virtual Hosts in XAMPP

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.