Che cos’è un virtual hosting? L'hosting virtuale è alla base del funzionamento dei servizi di hosting condiviso

<span class="entry-title-primary">Che cos’è un virtual hosting?</span> <span class="entry-subtitle">L'hosting virtuale è alla base del funzionamento dei servizi di hosting condiviso</span>

Avete presente i tantissimi servizi di hosting condiviso come Aruba, TopHost e via dicendo? Con qualche differenza e precisazione, sono tutti basi sul meccanismo del “virtual hosting” (hosting virtuale), vale a dire: un metodo per permettere di ospitare più di un dominio (ad esempio sito1.it, sitobla.com,altrosito.net) su una singola macchina server, o su un pool di server distinti. Questo corrisponde ad un meccanismo di virtualizzazione delle risorse hardware e software dell’hosting stesso, che mette a disposizione CPU, memoria e disco fisico per consentire ai webmaster di gestire in modo indipendente i propri siti, dando loro l’illusione di essere gli unici / soli su quella macchina.

Il principio del virtual hosting è tipico dei servizi di web hosting ma, per estensione, si può adattare a molte altre architetture internet.

A cosa server un virtual host?

La gestione di un virtual hosting permette numerosi vantaggi, come la necessità di configurare la macchina in modo semplice e flessibile, venendo incontro alla maggioranza delle esigenze dei webmaster (specie dei siti medio-piccoli), assumendo che è molto raro che tutti i client richiedano il massimo delle risorse nello stesso momento. È sostanzialmente un principio di overselling, molto utilizzato nel marketing, che possiede anche un supporto tecnologico fornito qui, per l’appunto, dall’hosting virtuale.

2 esempi di virtual host in Apache

Di norma i servizi di virtual hosting possono essere name-based (cioè traducono dinamicamente l’URL richiesto) oppure IP-based (utilizzano un IP diverso per ogni nome di host), ma esistono anche numerose “ibridazioni” come le configurazioni port-based e le combinazioni tra name e IP, adatte a gestire protocolli SSL/TLD. Il virtual host viene utilizzato dai webmaster senza che se ne accorgano, per cui sapere cosa sono è utile, il più delle volte, solo come curiosità personale: chiaramente se dovete configurare un web server per un web service o un sito da zero, per esempio su dedicato o VPS, dovrete essere voi a saper configurare il servizio, attivarlo e lasciarlo operativo.

A livello più pratico, il web server Apache (utilizzato sulla maggioranza dei servizi condivisi) permette di sfruttare cinque diverse configurazioni di virtual host, configurabili mediante interfaccia SSH ovvero comando da terminale remoto preferibilmente su server Linux (su Windows alcuni path di sistema possono essere differenti). Gli esempi saranno in parte auto-esplicativi e sono tratti dal sito ufficiale del web server http://httpd.apache.org/docs/2.2/vhosts/.

Configurazione name-based: aggiungere il www. prima dell’indirizzo del dominio

Poniamo di avere l’indirizzo sito.tld, da mappare sulla porta 80 del server (che i browser riconosceranno in automatico senza che la si scriva esplicitamente), a cui vogliamo aggiungere il www. prima del nome: il tutto  senza, quindi, modificare la configurazione del mod_rewritemodificare i record CNAME del nostro dominio.

Per farlo:

aprite un terminale di comando remoto (o un terminale locale, se vi trovate a lavorare su localhost);

scrivete il comando:

find / -name 'httpd.conf' -print

per visualizzare il path del file httpd.conf;

andate nella cartella rilevata, ad es. su Linux RedHat tale percorso è /etc/httpd/conf/httpd.conf per cui scriveremo:

/etc/httpd/conf/httpd.conf

A questo punto bisognerà scrivere una direttiva per il nostro sito web ed una specifica per il www, a cui seguiranno eventuali altre configurazioni di altri domini. Ogni configurazione è una tripla del tipo (ServerName, ServerAlias, DocumentRoot) che indica come si chiama l’indirizzo, come viene tradotto dal server e dove si trova fisicamente sul disco dello stesso.

Avremo quindi, nell’esempio:

NameVirtualHost *:80

&lt;VirtualHost *:80&gt;
ServerName www.sito.tld
ServerAlias sito.tld *.sito.tld
DocumentRoot /www/cartellasito
&lt;/VirtualHost&gt;

&lt;VirtualHost *:80&gt;
ServerName www.altrodominio.tld
DocumentRoot /www/cartellaaltrodominio
&lt;/VirtualHost&gt;

Salviamo la configurazione ed avremo configurato, almeno in versione base, il nostro virtual host.

Configurazione IP-based

In questo caso la configurazione parte dal presupposto che si stia usando un IP diverso per ogni nome di host, per cui potremmo avere qualcosa del genere:

 <code>&lt;VirtualHost 192.168.0.1:80&gt;
 ServerAdmin webmaster@smallco.example.com
 DocumentRoot /groups/smallco/www
 ServerName smallco.example.com
 ErrorLog /path/to/logs/error_log
 TransferLog /path/to/logs/access_log
 &lt;/VirtualHost&gt;
 
 &lt;VirtualHost 192.168.0.2:80&gt;
 ServerAdmin webmaster@baygroup.example.org
 DocumentRoot /groups/baygroup/www
 ServerName baygroup.example.com
 ErrorLog /path/to/logs/error_log
 TransferLog /path/to/logs/access_log
 &lt;/VirtualHost&gt;</code>
Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Ti potrebbero interessare (FAQ Hosting & Dintorni):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.