File hosts: la guida completa

30 Dicembre 2020 / Pubblicato in:  da Ivan Messina
Nessun commento

Capita spesso di spostare un sito, e voler controllare che funzioni correttamente prima di renderlo pubblico.

Ma come posso visualizzare il mio sito se il dominio punta a un altro server?

In questo articolo vedremo cos'è e a cosa serve il file hosts, e in quali casi ci salva la vita.

Vedremo inoltre come modificarlo in base alle nostre esigenze sui vari sistemi operativi.

Come funzionano i domini

Ogni sito internet è ospitato dentro un computer remoto (server) raggiungibile da un indirizzo IP.

Per navigare su un sito però non era comodo scrivere un indirizzo IP tipo 192.168.21.34, perché sarebbe stato difficile da ricordare. Per questo è stata creata un'associazione (risoluzione dei nomi) tra questi indirizzi numerici e una parola, tipo miosito.it, che si chiama dominio.

Si chiamano server DNS quei computer dislocati in giro per il mondo in cui sono presenti tutte le associazioni dei miliardi di siti e fanno in modo che, aprendo il browser, basti scrivere google.it per aprire Google o facebook.com per aprire Facebook.

In questo modo viene utilizzato un nome facile da ricordare per raggiungere uno specifico indirizzo IP numerico che sarebbe difficile da ricordare.

Quando modifichiamo il puntamento del dominio dobbiamo essere sicuri che il sito sul nuovo server funzioni correttamente, per evitare d'inviare i nostri visitatori su un sito che dà errore.

A cosa serve e perché modificare il file hosts

In questo caso il file hosts ci viene in aiuto.

Si tratta di un file nel nostro computer, che posiamo modificare in base alle nostre esigenze e ci permette di dire al nostro computer di visualizzare il sito su un IP specifico quando lo visitiamo.

Per fare un esempio concreto.

Abbiamo il sito supporthost.it visibile a tutti, il server su cui risiede ha IP 111.111.111.111

Il dominio supporthost.it punta all'IP 111.111.111.111, quindi quando un visitatore visita il sito vede il sito che sta su questo server.

Vogliamo fare una modifica, e per farlo decidiamo di creare una copia dell'account su un altro server, che ha IP 222.222.222.222

Adesso ci ritroviamo ad avere due siti identici, ma nessuno saprà che esiste il secondo, dal momento che non abbiamo modificato il puntamento del dominio. Il dominio punta infatti ancora al primo server.

Noi adesso vogliamo lavorare sul secondo sito, fare delle modifiche e poi decidere se applicarle o meno al nostro sito principale. In pratica usiamo un secondo server come staging, ovvero un'installazione di test dove possiamo fare tutte le prove che vogliamo senza rischiare di fare danni.

In questo caso diciamo al nostro computer, tramite l'aggiunta di una riga sul file hosts, che quando visitiamo il sito supporthost.it vogliamo visualizzare il sito che è ospitato sul server 222.222.222.222 invece che quello che il dominio ci indica ospitato su 111.111.111.111

In questo modo soltanto noi vediamo il sito in staging, e possiamo fare tutte le prove che vogliamo senza creare problemi al sito in produzione.

Una volta capito a cosa serve modificare questo file sul nostro computer, vediamo in che casi può farci comodo.

Casi di utilizzo del file hosts

Ci sono alcuni casi in cui non possiamo fare a meno di modificare il file hosts locale.

Grazie a questa modifica possiamo controllare che tutto funzioni correttamente prima di modificare il puntamento del dominio e mostrare al mondo il nostro sito web.

Trasferimento di un sito

Quando si trasferisce un sito da un server a un altro sostanzialmente quello che accade è un trasferimento fisico di tutti i file da un server remoto a un altro, questi server sono identificati da indirizzi IP univoci.

Questo è il caso quando decidi di cambiare hosting. Ad esempio se noi eseguiamo la migrazione del tuo sito web, prima di darti la conferma modifichiamo il files hosts sul nostro computer per controllare che funzioni bene e non ci siano errori.

Se vediamo problemi provvediamo a risolvere, se invece è tutto a posto ti diamo la conferma che abbiamo completato il trasferimento del tuo sito e provvediamo a cambiare il puntamento del dominio.

A questo punto siamo sicuri che il sito funziona correttamente sul nuovo server e possiamo cambiare il puntamento del dominio, in modo che al termine del processo di propagazione tutto il modo vedrà il sito dal nuovo server.

Questo cambiamento in genere non è istantaneo e ci potrebbero volere anche fino a 48h perché questa modifica si dirami in tutti i computer del mondo connessi a internet, questo fenomeno è chiamato propagazione.

Ma se volessimo sin da subito accedere al nostro sito nel nuovo server senza aspettare? A questo problema ci viene in aiuto il poco conosciuto file “hosts”. Questo non è altro che un file di testo contente un elenco di indirizzi IP associati ai nomi. Quando digitiamo sul browser un sito, il nostro PC prima di qualsiasi cosa consulta questo file, se trova il nome che abbiamo digitato allora legge l'indirizzo ip corrispondente e ci restituisce il sito contenuto nel server remoto che ha quello ip.

Ambiente di staging su un server diverso

Come nell'esempio che ho fatto prima, in alcuni casi possiamo aver bisogno di creare un ambiente di staging su un server diverso.

Questa è una cosa che facciamo spesso per il nostro sito, abbiamo due server identici, uno dei due viene usato per lo staging, mentre l'altro è il server in produzione.

Tramite un semplice script copiamo il sito da produzione a staging, eseguiamo le modifiche del caso e al termine inviamo queste modifiche al sito in produzione.

In questo modo non rischiamo che un errore nel codice mandi offline il nostro sito web, situazione che ci farebbe perdere vendite e credibilità.

Sviluppo in localhost

In certi casi potresti voler sviluppare un nuovo sito in localhost.

È preferibile sviluppare in locale per questioni di velocità, ma nulla vieta che tu decida di usare un dominio e farlo puntare al tuo server locale, come ho spiegato nella guida a MAMP.

Per fare questo è necessario modificare il file hosts locale in modo da far sapere al tuo computer che quando visiti quel dominio vuoi vedere il tuo sito in locale.

Modificare il file hosts può essere utile anche qualora il sito che stai cercando di raggiungere non fosse disponibile a causa dell'errore DNS_PROBE_FINISHED_NXDOMAIN. In questo caso sarà opportuno verificare che al dominio in questione non sia associato un indirizzo IP errato.

Come modificare il file hosts sul tuo computer

Una volta capito a cosa serve il file hosts e quanto ci può essere utile, vediamo come modificarlo per le nostre esigenze.

Windows Vista e Windows 7

Vista e Windows 7 utilizzano lo User Account Control (UAC) quindi Notepad deve essere avviato come Amministratore.

1. Clicca Start → Tutti i Programmi → Accessori

2. Tasto destro su Notepad e seleziona Esegui come amministratore

3. Clicca Continua sulla finestra che appare di richiesta di permessi.

4. Appena il Notepad sarà aperto, clicca su File → Apri

5. Nel nome file inserisci C:\Windows\System32\Drivers\etc\hosts

6. Clicca Apri

File Hosts Windows

Windows NT, Windows 2000, Windows XP

  1. Clicca su Start →  Tutti i Programmi → Accessori → Blocco Note NotePad
  2. Clicca su File → Apri
  3. Nel campo nome inserisci C:\Windows\System32\Drivers\etc\hosts
  4. Clicca su Apri
  5. Modifica il file

Linux

  1. Apri un terminale
  2. Digita: sudo vi /etc/hosts (puoi usare qualsiasi altro editor per modificare il file etc hosts)
  3. Inserisci la password
  4. Modifica il file e poi salva
File Hosts Linux Terminale

Mac OS X 10.6 - 10.1.8

Per modificare il file hosts su mac puoi seguire questi passi:

1. Apri Applicazioni → Utilità →  Terminale.

2. Apri il file hosts inserendo il seguente comando:

sudo nano /private/etc/hosts

    inserisci la tua password quando richiesto.

3. Edita il file Host inserendo ip e dominio/i

4. Salva premendo Control+x.

5. Per rendere effettive le modifiche bisogna svuotare la cache DNS digitando il seguente comando:

dscacheutil -flushcache

6. Le nuove impostazioni dovrebbero essere attive.

File Hosts Mac Terminale

In alternativa su sistema operativo Mac OSX può essere utilizzato "gas mask" un software gratuito e semplice da utilizzare che ti permette la modifica del file hosts tramite interfaccia grafica. Ti permette addirittura di creare files multipli, e poi decidere in un click quale utilizzare.

File Hosts Mac Gasmask

Android

Per modificare il file hosts su dispositivi android sono necessari i permessi di root. Poi si può utilizzare una semplice app tipo Hosts Editor.

Sintassi

Il formato del file hosts è uguale su tutte le piattaforme:

La sintassi da utilizzare è:

IP    nome_dominio

Quindi se avessi il dominio SupportHost.net e IP del server 192.196.159.12, dovrei inserire nel mio file hosts le seguenti due righe:

# Ip temporaneo per dominio SupportHost.net

192.196.159.12 supporthost.net www.supporthost.net

Sulla stessa riga è possibile aggiungere più nomi a dominio, sottodomini, ecc…

Tutto ciò che è seguito da un cancelletto # rappresenta un commento all'interno del file hosts, che sono facoltativi.

Considerazioni

Questa modifica vale solamente per il pc sulla quale operiamo e ha priorità rispetto al DNS, inoltre una volta salvato il file la modifica è subito attiva, non è necessario riavviare la macchina.

Quando i DNS del nostro dominio saranno completamente propagati, è possibile eliminare la direttiva inserita nel file hosts.

Modificare il file host è semplice, gratuito, innocuo e reversibile.

Conclusioni

In questa guida abbiamo visto come visualizzare un sito che sta su un altro server e assicurarci che funzioni prima di cambiare il puntamento del dominio e mostrarlo al mondo.

Sono chiare le funzioni di questo file e come usarlo? Hai avuto problemi? Fammelo sapere in un commento.

Lascia un commento

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