Che tu ospiti un singolo sito o dozzine di siti sul tuo nuovo server Linux® Apache® MySQL® PHP® (LAMP), gli host virtuali (vhost) ti aiutano a organizzare in modo efficiente i tuoi siti.
Nell'esempio seguente, il server LAMP è già configurato per offrire contenuti direttamente da /var/www/html directory nell'esempio seguente:
/var/www
├── html
│ └── index.html
└── vhosts
Il index.html esistente file è la pagina di test standard di Apache. Puoi pubblicare immediatamente il contenuto sostituendo il file esistente con i file del tuo sito. In alternativa, puoi servire uno o più siti utilizzando vhosts. Il tuo stack LAMP contiene un modello che puoi modificare per creare nuovi file di configurazione vhost per ogni sito che devi ospitare.
Come configurare i vhost
Nota: Sul sistema operativo Ubuntu®, ogni vhost ha il proprio file di configurazione separato e viene quindi abilitato in Apache.
Usa le seguenti istruzioni per configurare i tuoi vhost:
Nota: Sostituisci nomesito.com nelle istruzioni seguenti con il tuo sito o nome di dominio effettivo. Ti consigliamo di utilizzare il dominio di primo livello come .com, .net e così via su un server.
-
Vai ai siti disponibili cartella utilizzando il comando seguente:
$ cd /etc/apache2/sites-available
-
Trova e sostituisci il nome del sito predefinito, example.com, nel default.template file utilizzando il
sed
editor di flusso e i seguenti comandi:-
Testare l'output utilizzando il comando seguente:
$ sed -e 's/example.com/yoursitename.com/' default.template
-
Scrivi le modifiche su un nuovo vhost per questo file utilizzando il comando seguente:
$ sed -e 's/example.com/yoursitename.com/' default.template > yoursitename.com.conf
-
Verificare che il file sia stato scritto con il nome di progetto corretto utilizzando il comando seguente:
$ cat yoursitename.com.conf
-
-
Aggiungi il progetto all'elenco dei siti disponibili nel file di configurazione di Apache utilizzando il seguente comando:
$ a2ensite yoursitename.com.conf
-
Crea la directory per il tuo sito utilizzando il seguente comando:
$ mkdir -p /var/www/vhosts/yoursitename.com
Nota: Il vhost che hai creato in precedenza è configurato per cercare in questa directory.
-
Ripeti i passaggi da 1 a 4 per aggiungere altri vhost.
Verifica la tua configurazione vhost
Questo test dovrebbe produrre una risposta di Syntax OK
. Testare la configurazione utilizzando il comando seguente:
`$ apache2ctl configtest`
Riavvia Apache per finalizzare la modifica della configurazione utilizzando il comando seguente:
`$ apache2ctl restart`
Esempio di configurazione Vhost
In questo esempio, crei siti per tre clienti, uno dei quali è un sito per dispositivi mobili completamente diverso.
Puoi configurare i vhost per tutti e tre i clienti utilizzando la seguente sequenza di comandi:
$ cd /etc/apache2/sites-available
$ sed -e 's/example.com/site1.com/' default.template > site1.com.conf
$ sed -e 's/example.com/site2.com/' default.template > site2.com.conf
$ sed -e 's/example.com/site3.com/' default.template > site3.com.conf
$ sed -e 's/example.com/mobile.site3.com/' default.template > mobile.site3.com.conf
$ a2ensite site1.com.confsite2.com.confsite3.com.confmobile.site3.com.conf
$ mkdir -p /var/www/vhosts/site1.com /var/www/vhosts/site2.com /var/www/vhosts/site3.com /var/www/vhosts/mobile.site3.com
$ apache2ctl configtest
$ apache2ctl restart
/var/www/
├── html
│ └── index.html
└── vhosts
├── mobile.site3.com
├── site1.com
├── site2.com
├── site3.com
Ogni directory sotto la directory vhosts è una root del documento per il sito elencato. Una radice del documento è una directory che è memorizzata sui server del tuo host e che è designata per contenere le pagine web. Quando le richieste HTTP arrivano al server, Apache determina a quale dominio si riferisce la richiesta, quindi instrada la richiesta alla radice del documento appropriata, come specificato nel file di configurazione di vhosts.