L'uso degli host virtuali

AttenzioneAvvertimento
 

Se intendete usare il Tool di configurazione di Apache, un'utility grafica fornita con Red Hat Linux, non vi occorre modificare il file di configurazione di Apache httpd.conf. Viceversa, se desiderate modificare httpd.conf manualmente, non utilizzate il Tool di configurazione di Apache.

Per maggiori informazioni sul Tool di configurazione di Apache, consultate la Official Red Hat Linux Customization Guide.

Apache ha la possibilità di usare gli host virtuali, in modo che server diversi funzionino con indirizzi IP differenti sulla stessa macchina. Se siete interessati a utilizzare gli host virtuali, potete trovare la documentazione sulla vostra macchina oppure online all'indirizzo http://www.apache.org/docs/vhosts/.

NotaNota Bene
 

Non potete usare gli host virtuali con il vostro server sicuro perché la handshake SSL (il momento in cui il browser accetta il certificato di autenticazione del server Web) si attiva prima della richiesta HTTP che identifica l'host virtuale corretto. Se volete usare gli host virtuali basati sul nome, funzioneranno solo con il server Web non sicuro.

Gli host virtuali sono configurati nel file httpd.conf come descritto nella la sezione Direttive di configurazione in httpd.conf. Prima di modificare la configurazione degli host virtuali, leggete la relativa documentazione.

Host virtuali del server Web sicuro

La configurazione di default del vostro server Web esegue un server sicuro e uno non sicuro. Entrambi i server utilizzano lo stesso indirizzo IP e il nome dell'host, ma attendono su porte differenti e il server sicuro è un host virtuale. Questa configurazione vi permette di abilitare documenti da un server sicuro e uno non sicuro nel modo più efficiente possibile. Come sapete le trasmissioni HTTP di tipo sicuro impiegano più tempo, perché il traffico è maggiore. Quindi non è una buona idea utilizzare il vostro server sicuro per un traffico Web non sicuro.

Le direttive di configurazione per il server sicuro sono contenute nei tag degli host virtuali nel file httpd.conf. Se dovete modificare la configurazione del server dovete cambiare il file httpd.conf. Se volete abilitare determinate caratteristiche per il vostro server, (per esempio gli include del server), vanno attivate nei tag degli host virtuali che definiscono il server sicuro.

Il server Web non sicuro viene configurato come host "non virtuale" nel file httpd.conf. In altre parole le opzioni di configurazione sono al di fuori della sezione sugli host virtuali nel file httpd.conf. Se volete modificare la configurazione del server Web non sicuro, dovete cambiare le direttive della configurazione nel file httpd.conf al di fuori dei tag relativi all'host virtuale

Di default i server Web sicuri e non sicuri condividono la stessa DocumentRoot, una direttiva di configurazione specificata nel file httpd.conf. In altre parole, i server Web sicuri e non sicuri cercano i file HTML nello stesso posto forniti in risposta alle richieste. Di default, DocumentRoot è /var/www/html.

Per cambiare la DocumentRoot in modo tale che non venga condivisa dai server sicuri e non sicuri, cambiate una delle direttive DocumentRoot nel file httpd.conf. La DocumentRoot al di fuori dei tag degli host virtuali definisce la DocumentRoot per il vostro server Web non sicuro.

Se per qualche ragione volete disabilitare il server Web non sicuro sulla vostra macchina, potete farlo. Il vostro server sicuro è in attesa sulla porta 443, la porta di default per le comunicazioni Web sicure, mentre il vostro server non sicuro rimane in attesa sulla porta 80, la porta di default per le comunicazioni Web non sicure. Affinché il server Web non sicuro non accetti le connessioni cercate nel file httpd.conf la seguente linea:

Port 80

Modificate la linea sopracitata in:

Port 443

Commentate quindi la linea Listen 80.

Una volta eseguite queste due operazioni, il vostro server Web accetterà connessioni sulla porta 443, la porta di default per le comunicazioni Web sicure. Quindi il vostro server non accetterà connessioni sulla porta 80. Il server Web non sicuro è infatti disabilitato.

Configurazione degli host virtuali

Probabilmente molte persone utilizzano il server Web con la configurazione di base. In questo modo usano la funzionalità integrata degli host virtuali, ma non sarà necessario effettuare modifiche nel file httpd.conf. Comunque, se per qualche ragione intendete utilizzare la funzionalità dei virtual host, potete farlo.

Per creare un host virtuale, dovete modificare le relative linee inserite per esempio nel file httpd.conf, o creare una sezione nuova. Ricordate che l'host virtuale basato sul nome non funziona con il vostro server sicuro — usate un host virtuale basato sull'indirizzo IP, se desiderate abilitare il supporto SSL. Invece, il server non sicuro supporta sia gli host virtuali basati sull'indirizzo IP che quelli basati sul nome.

Le righe d'esempio per l'host virtuale sono simili alle seguenti:

#<VirtualHost ip.address.of.host.some_domain.com>
#    ServerAdmin webmaster@host.some_domain.com
#    DocumentRoot /www/docs/host.some_domain.com
#    ServerName host.some_domain.com
#    ErrorLog logs/host.some_domain.com-error_log
#    CustomLog logs/host.some_domain.com-access_log common
#</VirtualHost>

Eliminate il commento dalle linee. Poi aggiungete le informazioni corrette per il vostro computer e/o per gli host virtuali in ogni linea.

Nella prima linea modificate ip.address.of.host.some_domain.com con i dati relativi al vostro indirizzo IP. Cambiate la direttiva ServerName con un nome del DNS valido da utilizzare come host virtuale. Se non sapete cosa inserire, contattate l'amministratore della rete.

È inoltre necessario eliminare il commento alle seguenti linee NameVirtualHost nel file httpd.conf:

#NameVirtualHost 12.34.56.78:80
#NameVirtualHost 12.34.56.78

Eliminate il commento da una delle seguenti linee e modificate l'indirizzo (e il numero di porta) per l'host virtuale.

Tra i tag degli host virtuali potete inserire molte altre direttive di configurazione, in base al tipo di configurazione.

Se state configurando un host virtuale e volete che rimanga in attesa su una porta che non sia quella di default (la 80 è la porta di default per le comunicazioni Web non sicure, mentre la 443 è la porta per le comunicazioni sicure) dovete configurare un host virtuale per quella porta e aggiungere una direttiva Listen corrispondente.

Per avere un host virtuale funzionante su una particolare porta, aggiungete il numero nella prima linea della configurazione dell'host virtuale. La prima linea è simile a:

<VirtualHost ip_address_of_your_server:12331>

Questa linea crea un host virtuale in attesa sulla porta 12331. Nell'esempio precedente, sostituite il numero di porta che volete utilizzare al posto di 12331.

La linea Listen nel file httpd.conf configura il vostro server per rimanere in attesa sulla porta 12331:

Listen 12331

Effettuata la modifica, riavviate il file httpd per avviare un host virtuale nuovo. Per maggiori informazioni su come avviare e chiudere il file httpd, consultate la la sezione Avvio e chiusura di httpd.

Informazioni più dettagliate sulla creazione e configurazione degli host virtuali basati sul nome e sull'indirizzo sono contenute all'indirizzo http://www.apache.org/docs/vhosts/index.html. Per maggiori informazioni, consultate la documentazione di Apache sull'uso degli host virtuali.