En un artículo reciente repasamos el funcionamiento de los servidores web, elemento clave para la gestión del tráfico en internet. En él explicamos cómo despachan peticiones de usuarios, enviando los archivos de una página web de un equipo a otro para hacer posible su visualización. Sin embargo, no todas las peticiones buscan conectarse con un servidor remoto. En algunas ocasiones, necesitamos comunicar con un servidor local. En esta nueva entrada te explicaremos qué es un localhost, para qué sirve y en qué situaciones resulta de utilidad.
Qué es un localhost y para qué se usa
Localhost es el nombre comúnmente utilizado para designar el equipo que estamos utilizando. Hace referencia a la computadora o dispositivo que estamos usando en un momento concreto.
La traducción literal del término sería “huésped local”, aunque es más correcto definirlo como servidor o dispositivo local. Como su propio nombre indica, un servidor local está localizado en el propio equipo o host. Por ejemplo, si ejecutamos un programa en nuestro ordenador, éste es el localhost. Por el contrario, si accedemos a un servidor externo, ya no es un localhost. El localhost siempre refiere al servidor local de la máquina en la que estamos trabajando.
Cuando realizamos una petición a un localhost, este equipo “habla” consigo mismo: envía y recibe comunicaciones de red desde sí misma y hacia sí misma a través de un dispositivo de red virtual. ¿Cómo lo consigue? Mediante una IP, especial e invariable, que permite acceder a ese equipo sin necesidad de conexión a través de internet.
Por tanto, el localhost permite emular conexiones de red cuando no hay ninguna red activa o disponible. De ahí su utilidad cuando trabajamos con archivos offline, necesitamos crear entornos de prueba, verificar la capacidad de procesamiento de un determinado equipo o generar copias de seguridad de un sitio web.
¿Qué es la dirección de loopback?
Como hemos comentado en el anterior epígrafe, todo localhost tiene asignada una IP concreta e invariable: la dirección IPv4 127.0.0.1 (o ::1 en IPv6). Esta IP también es conocida como dirección loopback o de bucle reverso. Este concepto refiere a una dirección IP especial cuyo único propósito es redirigir tráfico de vuelta al equipo actual. Crea una interfaz de red virtual para un acceso directo a las aplicaciones y servicios TCP/IP que se ejecutan en el mismo dispositivo para comunicarse entre sí.
La primera sección de la dirección (127) está reservada en exclusiva para loopbacks. Ningún sitio web puede tener una dirección IP que comience con esos números. De ahí que el protocolo TCP/IP reconozca inmediatamente que pretendes comunicar con tu propio equipo después de anotar cualquier dirección que comience con 127.
Si escribimos en un navegador cualquiera el término localhost, nos redirigirá a nuestro propio equipo. Puedes verificarlo ahora mismo en tu ordenador:
Esta prueba nos permite comprobar si tenemos habilitado un servidor web o no. Es decir, si lo podríamos utilizar para que otras personas accedan a través de internet a un contenido web que está en nuestro ordenador. Como se aprecia en la imagen, no es así en el equipo en el que hemos realizado la prueba.
Por tanto, una dirección loopback no está abierta al público, sino que se emplea en situaciones determinadas. A continuación veremos algunos de sus usos más habituales.
Ventajas de trabajar con un localhost
El localhost es un recurso muy utilizado por los desarrolladores. Ofrece utilidades muy interesantes, especialmente a la hora de crear una nueva página web o probar configuraciones del sitio. Aunque no es su único ámbito de aplicación, ya que también es un instrumento de utilidad para trastear con código mientras aprendemos a programar.
En primer lugar, constituye una de las mejores alternativas para crear entornos de prueba seguros. En ellos podemos probar diferentes configuraciones de una página web o aplicación antes de subir la versión final a un servidor remoto. El localhost permite acceder a una versión local, sin necesidad de estar conectado a internet y sin que ningún otro usuario pueda acceder a este espacio. La conexión se desarrolla en el propio sistema. Esto nos permite trabajar en entornos controlados, en los que podremos aplicar cuantos cambios deseemos y verificar que funcionen. Todo ello sin el riesgo de romper nada en tu página web o que los visitantes de la misma se vean afectados.
Otra de las aplicaciones habituales del localhost es el desarrollo de pruebas de velocidad. Si administras una red local, a menudo deberás verificar que tanto equipos como el protocolo TCP/IP funcionan correctamente. Enviando un ping al localhost, podrás verificar si el protocolo se ha implementado correctamente y que todo funciona como debería. Así podrás detectar cualquier posible problema y solucionarlo sin que afecte a los usuarios finales.
El bloqueo de páginas web es otro de los usos que se le pueden dar a un localhost. Como vimos en el post sobre servidores web, todos los sitios web tienen una dirección IP asignada. Al escribir en un buscador el nombre de un dominio, éste se traduce en una IP o código numérico. Tras una consulta a un servidor DNS con acceso a la agenda completa de direcciones en internet, se nos devuelve la información relativa al dominio buscado.
Para mejorar este proceso, tu computadora almacena su propio fichero de hosts (host file). Si el dominio buscado está en ese fichero, que incluye su IP y nombre de dominio, detectará la IP localmente y no realizará consulta DNS. Modificando esa IP a 127.0.0.1 conseguirás que cualquier visita se redirija al localhost. Una forma útil de bloquear el acceso a determinados sitios web que puedan contener código malicioso, o restringir el acceso de los empleados de una empresa a una determinada página, por poner un par de ejemplos.
Finalmente, es habitual su aplicación con fines educativos. El localhost permite configurar servidores web locales, en los que podremos realizar múltiples pruebas mientras aprendemos los diferentes lenguajes de programación.
¿Qué es XAMPP?
XAMPP es un paquete o stack de software de código libre, y por tanto gratuito, que integra el sistema de gestión de bases de datos MySQL/MariaDB, el servidor web Apache y los intérpretes para lenguajes de script PHP y Perl.
De hecho, su nombre es un acrónimo: X (que alude a cualquiera de los diferentes sistemas operativos), Apache, MariaDB/MySQL, PHP y Perl. Aunque no son los únicos componentes que incluye. Dependiendo de la versión, XAMPP también ofrece servidor de correos, paquetes gráficos, servidores o acceso a bases de datos, entre otras muchas características.
Pero, ¿para qué sirve?. Básicamente, XAMPP incluye todo lo necesario para montar un servidor web en local. Es una herramienta de desarrollo diseñada para realizar pruebas en entornos privados sin conexión a internet. Permite simular tareas de administración, instalación o desarrollo. De ahí que resulte fundamental cuando hablamos de localhost.
Al integrar todos esos componentes en un único paquete, su gran ventaja es la sencillez de uso. La configuración e instalación de cada uno de esos componentes por separado es complicada para usuarios no familiarizados, además de llevar tiempo. Con XAMPP basta con descargar y ejecutar el paquete para empezar a trabajar. Es funcional desde el primer segundo.
No obstante, no es éste su único atractivo. Por un lado, destaca por su rapidez para ejecutar archivos de todo tipo y su capacidad para interpretar páginas dinámicas. Por otro, es compatible con todo tipo de sistemas operativos (Linux, Windows y Mac). Por eso resulta una de las herramientas más utilizadas a la hora de montar un servidor web local.
Alternativas a XAMPP
Aunque XAMPP es una de las herramientas más extendidas para configurar un servidor local de pruebas, contamos con otras alternativas. Cada una de ellas tiene características propias, siendo la elección de una u otra una cuestión de preferencia personal en función de nuestras necesidades específicas.
WAMP Server
Wamp es otro de los stacks más conocidos, aunque en este caso es exclusivo para sistemas Windows. Incluye un paquete con las herramientas principales Apache + MySQL + PHP, además de PHPMyAdmin para gestionar bases de datos y webgrind para analizar el rendimiento de aplicaciones PHP en nuestro servidor local. Uno de sus puntos fuertes es que está disponible en varios idiomas (incluyendo el español), aunque también destaca por su interfaz, simple y sencilla, lo que facilita su uso.
MAMP Server
Otra herramienta gratuita, en este caso también compatible en máquinas con sistemas operativos macOS. Sus funcionalidades son muy similares a las de Wamp, ofreciendo soporte para Apache, MySQL, Perl, Python y PHP. Destaca por lo sencillo que resulta configurar un entorno local, el PHP o MySQL. Cuenta con una versión comercial de pago para usuarios avanzados, en la que se eliminan los molestos anuncios publicitarios, probablemente su mayor pega. Puedes probarla desde aquí.
AMPPS
Esta opción multiplataforma está recomendada para los que buscan un paquete para construir rápidamente un entorno de servidor web local en cualquier sistema operativo, sea Linux, Windows o Mac. AMPPS es un paquete muy completo que permite usar Apache, MySQL, MongoDB, PHP, Perl, Python e instalar rápidamente aplicaciones web. De hecho, cuenta con más de 420 aplicaciones. Su principal ventaja es la facilidad de uso, aunque resulta algo lento.
NMP Server
Esta alternativa solo es compatible con Windows. Su principal rasgo distintivo es que en vez de utilizar Apache, incorpora el eficiente servidor Nginx, por lo que consume pocos recursos. Dispone de una versión portable, que podemos transportar cómodamente en un USB. Si quieres probarla, puedes descargarla aquí.
Portable WebServer
Otra opción liviana y portable para sistemas Windows, que integra Apache + MySQL + PHP. Portable Web Server destaca por una interfaz simple y directa, que facilita modificar opciones de configuración o activar módulos de Apache o PHP con pocos clics. Incluye archivos CHM de referencia y documentación sobre tecnologías como CSS3, JQuery, MySQL, PHP o Apache.
EasyPHP
Como su nombre indica, es una opción especialmente orientada a desarrolladores PHP. Diseñada para los que quieren centrarse en la codificación, sus componentes principales son PHP, Apache, MySQL y Nginx. Disponible en formato portable, es una aplicación de gran sencillez, que se centra en el control de los servidores y el log de sucesos. La opción ideal para los que buscan trabajar con archivos de prueba PHP.
Desktop Server
Finalmente, destacamos una opción diseñada específicamente para probar sitios web basados en WordPress. Desktop Server permite configurar la instalación local de un sitio web de WordPress en pocos clics, y con soporte SSL. Compatible con Windows y macOS, también ofrece una versión Premium con soporte para PHP7 y un servicio de ayuda a la instalación y configuración.
Cómo crear un servidor web local
Lo primero que debes tener en cuenta es que, para crear un servidor web local y sacarle partido, es recomendable tener conocimientos previos en programación, aunque sean básicos. Este proceso implica trabajar con código y protocolos TCP/IP.
En primer lugar, y dado que hemos destacado XAMPP como la principal alternativa para configurar un servidor web local, os dejamos enlace a una completa guía elaborada por Computer Hoy. En ella se explica paso a paso cómo instalar un servidor web en tu ordenador con XAMPP. Podéis encontrar muchos otros tutoriales similares en internet y YouTube.
No obstante, si prefieres probar alguna de las otras herramientas que hemos recomendado, también te explicaremos el procedimiento a seguir para instalar tu servidor local. Un proceso más o menos similar independientemente de la que hayas elegido.
En primer lugar, descargaremos el stack o paquete de nuestra preferencia. Lo descomprimimos y arrancamos el ejecutable, momento en el que tendremos que elegir la ruta de instalación. Todos los paquetes presentan una por defecto (c:\wamp\ o c:\xampp\), que podemos modificar sin problema. Recuerda que la ruta del servidor local siempre será http://127.0.0.1.
Al finalizar la instalación se creará un icono de acceso directo en el escritorio. A través de él podremos utilizar el servidor local siempre que queramos.
Haremos clic en ese acceso directo. En ese momento, se despliegan todas las funcionalidades del paquete. Esto incluye el fichero “php.ini”, que contiene la configuración para el lenguaje de programación PHP.
Desde el panel de control podremos ver los diferentes módulos instalados: servidor Apache/Nginx, MySQL, los gestores FTP, etc. Casi todas las herramientas cuentan con botones para poner en marcha los módulos, detenerlos o modificar su configuración. Lo primero será poner en marcha los servicios del servidor (Apache/Nginx) y MySQL. Inicialmente, éstos presentarán un color rojo, pasando a verde cuando nuestro servidor web esté listo para utilizar.
Probaremos entonces si el servidor web está correctamente instalado. Uno los aspectos clave de la configuración, aunque muy sencillo. Basta con comprobar si detecta la web que tienes alojada en tu PC. Para ello, abriremos cualquier navegador y escribiremos en el campo de la URL ‘localhost’, como ya hicimos anteriormente.
Si al igual que en la imagen superior te redirige a la página de bienvenida de tu stack, significará que el servidor web funciona correctamente.
Como hemos visto, instalar un servidor local se trata un proceso relativamente sencillo. Una vez completados estos pasos básicos, podrás comenzar a realizar pruebas dentro del servidor local, una forma muy útil de aprender programación o crear y editar páginas web en local.
Estamos convencidos de que, con paciencia y constancia, puedes desarrollar un proyecto muy interesante. Si llega el momento de publicarlo en un dominio público, puedes contar con nosotros.
Desde Cloud Center Andalucía te ofreceremos diversas soluciones de hosting para almacenar tu nueva web, incluyendo VPS de alta disponibilidad y recursos 100% dedicados. Y si así lo deseas, nuestro equipo de expertos en sistemas se encargará de administrar, actualizar y monitorizar tu sistema las 24 horas del día, todos los días del año.
Contacta con nuestros consultores especializados desde aquí para ampliar información.
Buen post, queda claro qué es el localhost y para que sirve. En mi experiencia personal es muy útil para probar los cambios que se quieren hacer en una web sin peligro de meter la pata, sobre todo para aquellos que no estás muy seguro de como implementarlos.
Saludos
¡Hola Álvaro! Muchas gracias por tu comentario, nos alegra que te haya gustado esta entrada.
Efectivamente, probar cambios en páginas web es uno de los usos más comunes del Localhost.
¡Un saludo!