Te explicamos cómo puedes cambiar fácilmente el archivo hosts de tu ordenador, en cualquier sistema operativo: Windows, Linux y MacOS.
En este artículo vamos a explicar cómo podemos cambiar la configuración del archivo "hosts" de nuestros ordenadores personales, algo muy típico para desarrolladores y la creación de nuestros entornos de trabajo. El procedimiento tiene algunas diferencias dependiento del sistema operativo, por lo que lo veremos de manera independiente para Windows, Linux y Mac.
Para una referencia rápida, los puntos que vamos a abordar en este artículo son los sigiientes:
- Qué es el archivo hosts
- Cómo cambiar el archivo hosts en Windows
- Editar el archivo hosts en Linux
- Editar el archivo hosts en MacOS
- Cómo editar el archivo de hosts (código necesario)
Qué es el archivo Hosts
El archivo de hosts es un lugar donde se pueden definir nombres de dominio y hacerlos corresponder con direcciones IP. Las utilidades de esto son varias pero los desarrolladores web solemos necesitar modificarlo para generar virtualhosts en nuestras máquinas. Estos virtualhost nos permiten desarrollar en local como si tuviéramos un desarrollo en un dominio de Internet y te permiten crear entornos de desarrollo lo más parecidos a como funcionan las cosas en el servidor remoto real.
Obviamente, las configuraciones de hosts que creamos en nuestro equipo son solo válidas para nuestro ordenador, por lo que los nuevos dominios que definamos en ese archivo de host solo tendrán correspondencia con las IPs en nuestro propio sistema.
En diversos artículos de DesarrolloWeb.com hacemos referencia a este archivo de hosts, y solicitamos realizar cambios para terminar configuraciones de entornos de desarrollo, pero nunca habíamos hecho un artículo específico para decir cómo se deben realizar estas modificaciones en los distintos sistemas operativos que podemos tener instalados cada uno, Windows, Linux o Mac. Así que vamos con ello.
Lo que diferencia cada sistema operativo es simplemente la localización del archivo y la operativa para abrirlo y editarlo. Sin embargo, el contenido del archivo tiene la misma forma en todos los sistemas, por lo que una vez abierto, la operativa para cambiar su configuración es exactamente la misma en todos los sistemas.
Vamos primero con las instrucciones para abrir el archivo de hosts en cada sistema operativo y luego explicaremos unas breves referencias de utilidad para crear nuevos nombres de dominio asociados a IPs.
Modificar el archivo Hosts en Windows
En Windows el archivo Hosts está en la ruta: C:\Windows\System32\Drivers\etc allí encontrarás el archivo llamado "hosts", sin extensión. Es un archivo de texto, así que lo puedes abrir con cualquier editor.
Solo un detalle. Ese es un archivo de sistema, por lo que para poder escribir encima, y poder modificarlo, necesitarás abrirlo como administrador, al menos en la mayoría de los casos. Para ello realizarás las siguientes acciones.
- Botón de Inicio
- Buscas la aplicación de Bloc de Notas (Notepad). Si estás en Windows 8 quizás no encuentres la aplicación en los tiles del menú de inicio directamente. Abajo hay una flechita para ver todas las aplicaciones instaladas, si la pulsas la verás.
- Pulsas con el botón derecho del ratón sobre el icono del Block de Notas. Entonces seleccionas la opción "Abrir como administrador".
- Abres la ruta del archivo de hosts y seleccionas que te muestre todos los tipos de archivo, porque de manera predeterminada el bloc de notas solo te muestra los archivos con extensión .txt. En el cuadro de diálogo de la apertura verás un desplegable para mostrar todos los archivos.
- Escribes el contenido nuevo que necesites.
Modificar el archivo hosts en Linux
Supongo que aquí dependerá de la distribución de Linux que uses. Yo uso Ubuntu así que las siguientes notas son para este sistema. Sugiero buscar en Google para encontrar instrucciones en otras distros.
El archivo de hosts en Linux se encuentra en la ruta /etc/hosts. Es un archivo de texto, así que lo podrás editar con tu editor preferido. Solo ten cuidado para editarlo como superusuario.
A continuación explico cómo hacer esto desde la línea de comandos, que me parece lo más sencillo.
- Te escalas a superusuario con el comando "sudo su" te pedirá tu clave de usuario
- Abres el archivo /etc/hosts en tu editor preferido, yo uso vim y lo abro con el comando "vim /etc/hosts". Pero otro editor muy conocido y que resulta más sencillo de usar para las personas que se inician en Linux es nano. Abres con el comando "nano /etc/hosts".
- Editas y salvas el trabajo, con el editor que uses será algo diferente.
Otra alternativa es, en vez de escalar a superusuario, es lanzar el comando con "sudo" delante.
sudo vim /etc/hosts
O bien si prefieres Nano:
sudo nano /etc/hosts
Ojo, si no te reconoce los comandos vim o nano, simplemente será que no tienes esos editores de línea de comandos instalados en tu sistema. Hasta donde yo sé nano ya viene instalado, pero quizás no en tu caso. Vim creo que lo tienes que instalar tú. Los instalarás a través de tu gestor de paquetes, por la línea de comandos en Ubuntu sería "apt-get install vim" o "apt-get install nano", pero hay personas que prefieren otros gestores de paquetes como aptitude. Generalmente el que usa linux debe saber de sobra de lo que estoy hablando.
Modificar el archivo hosts en Mac
En Mac es muy parecido a Linux, solo que la ruta donde se encuentra el archivo "hosts" es un poco diferente y no tienes los gestores de paquetes, pero hasta donde yo he podido comprobar, tanto nano como vim están instalados de casa en Mac.
En Mac el archivo de hosts está en la ruta /private/etc/hosts.
Como es un archivo protegido, que yo sepa, no puedes abrirlo directamente desde un programa editor con interfaz gráfica, porque no puedes alcanzar la ruta del archivo, pero siempre podrás llegar a él mediante la consola. Así pues, lo más cómodo será que arranques la aplicación de terminal para realizar los comandos necesarios para abrir el archivo con un editor de textos de línea de comandos. De hecho, esta sería la receta infalible.
1.- Abres el terminal y lanzas el siguiente comando:
sudo nano /private/etc/hosts
Alternativamente podrías usar "vim" como editor por línea de comandos:
sudo vim /private/etc/hosts
2.- Editas el archivo y lo guardas
Mira las instrucciones de Linux para más información porque es casi lo mismo, solo cambia la ruta del archivo.
Alternativas para Mac con programas de interfaz gráfica
Como hemos dicho, trabajar mediante el terminal es una apuesta segura si quieres editar el archivo hosts, pero existen en Mac algunos programas de interfaz gráfica que también te pueden ayudar si lo juzgas necesario.
También existe un proyecto de software libre que te permite tener un item en la configuración de sistema para alterar los hosts de manera visual, que quizás te facilitará la labor. En github encuetras este proyecto en la ruta: github.com/specialunderwear/Hosts.prefpane. Allí encuentras instrucciones de uso de este programa y un enlace para descarga de los instaladores. Yo lo he probado y funciona de maravilla, de hecho es como edito yo el archivo de hosts en Mac.
Actualizado: con estos programas he tenido problemas recientemente al actualiar la versión del sistema operativo MacOS. Por eso actualmente recomiendo el terminal.
Software multiplataforma para cambiar el archivo Hosts
Como alternativa, existe un programa llamado SwitchHosts que permite cambiar el archivo de hosts en todos los sistemas operativos mediante interfaz gráfica. Tienes descargas tanto para MacOS como para Windows y Linux.
SwitchHosts es un software muy sencillo pero que hace su labor y te facilita el trabajo, para no tener que usar siquiera el terminal.
Puedes acceder a su página para encontrar más información en: https://swh.app
Actualizado: Acabo de verificar y no funcionan los enlaces para la descarga de la aplicación, por lo que hemos retirado el enlace. De nuevo, lo que nunca falla es el terminal!!
Cómo editar el archivo de hosts
Esta parte es la más fácil y lo más cómodo es que observes la sintaxis de este archivo para que lo puedas editar siguiendo la forma actual que estás viendo. Te recomiendo no tocar lo que ya hay, por si acaso rompes algo, así que generalmente lo que tú harás será simplemente agregar nuevas líneas.
Básicamente lo que tienes que hacer es corresponder un nombre de dominio, que puede ser una simple cadena como "localhost" o "mimaquina" o un nombre de dominio como los que te encuentras en Internet "example.com" o "servidordeprueba.example.com" con una dirección IP, colocando una línea donde figurarán ambas cosas. Por ejemplo:
192.168.56.101 www.miproyecto.dev
Si estás configurando un virtualhost en tu máquina seguramente la IP será la de localhost:
127.0.0.1 proyecto.example.com
Eso es todo lo que necesitas saber. Es una tarea bastante elemental que en breve estarás haciendo con los ojos cerrados.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...