Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

Che cos’è un virtual hosting (Apache2)?

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

<VirtualHost *:80>
ServerName www.sito.tld
ServerAlias sito.tld *.sito.tld
DocumentRoot /www/cartellasito
</VirtualHost>

<VirtualHost *:80>
ServerName www.altrodominio.tld
DocumentRoot /www/cartellaaltrodominio
</VirtualHost>

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:

<VirtualHost 192.168.0.1:80>
 ServerAdmin [email protected]
 DocumentRoot /groups/smallco/www
 ServerName smallco.example.com
 ErrorLog /path/to/logs/error_log
 TransferLog /path/to/logs/access_log
 </VirtualHost>
 
 <VirtualHost 192.168.0.2:80>
 ServerAdmin [email protected]
 DocumentRoot /groups/baygroup/www
 ServerName baygroup.example.com
 ErrorLog /path/to/logs/error_log
 TransferLog /path/to/logs/access_log
 </VirtualHost>

👇 Da non perdere 👇



Questo sito web esiste da 4461 giorni (12 anni), e contiene ad oggi 6538 articoli (circa 5.230.400 parole in tutto) e 12 servizi online gratuiti. – Leggi un altro articolo a caso
4.5/5 (2)

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.