Aunque soy un poco "anti-windows", esta vez os presento la configuración necesaria a realizar en IIS (Internet Information Services) para configurar varios dominios en una misma máquina y así compartir los recursos de una misma máquina para servir contenido a varios dominios con un único servidor Web. El tutorial solo pretende enseñar los primeros pasos para que luego vosotros lo adaptéis a vuestras necesidades.
⬇️ Compra en Amazon el hardware que utilizo ⬇️
- 💻 Ordenador Portátil: Descúbrelo aquí
- 🖥️🖥️ Monitores: Mis 2 súper monitores
- ⌨️ Teclado: Mini teclado + Lector DNIe
- 🖱️ Ratón: Mi ratón programable
- 🎧 Auriculares: Súper Auriculares TOP!
- 🖨️ Impresora: Mi fantástica impresora
- 🗄️ NAS Backup: Mi NAS para Backups
- 🔌 HUB USB: Mi HUB para puertos USB
- 📱 Smartphone: Mi Smartphone
- 📲 Tablet: Mi tablet para viajes
- ⌚ Smartwatch: Mi Smartwatch favorito
- 📹 Cámara deportiva: Mi cámara para deportes
IIS es un conjunto de servicios para servidores usando Microsoft Windows. Es especialmente usado en servidores web, que actualmente es el segundo más popular sistema de servidor web (funciona en el 35% de los servidores de todos los sitios web) y su uso es bastante fácil gracias a su interfaz gráfica de configuración.
Cualquier duda, preguntad sin problema en los comentarios :) ¡Espero que os guste!
¿Qué es un Virtual Host?
Imaginemos uno de los miles de proveedores de Hosting que hay en el mundo. Cada hosting tiene N clientes y esos clientes quieren tener su Web alojada en los servidores del proveedor. Los Virtual Hosts posibilitan a los servidores Web de gestionar N páginas Webs con dominios diferentes pero con una única IP. Por ejemplo, si configuramos un servidor IIS con 2 Virtual Hosts www.website1.com y www.website2.com, podemos alojar dichas páginas en un único servidor con la IP 80.33.120.201.
Y te preguntarás, ¿cuando pido una de esas 2 páginas, como sabe el servidor a que página quiero acceder si la IP resuelta por el DNS es la misma? Bien, la solución son los Virtual Host. ¡Lo has adivinado! En los paquetes TCP que se envían al servidor Web, se especifica el destino al que queremos acceder y es el servidor Web quien analiza esas peticiones y nos autoriza para acceder al contenido de www.website1.com ó de www.website2.com.
Cada dominio que configuremos, tendrá asociado un directorio diferente en el cual irá almacenado su contenido. Podemos crear tantos Virtual Hosts como queramos, siempre en función de la carga que soporte el Servidor Web y de la configuración de IIS que hagamos. Se podría decir que "no hay limites".
1.- ELEMENTOS UTILIZADOS EN ESTE TUTORIAL
- [Servidor Web] - Windows 2008R2 con IIS 7.5
- [Cliente Web] - Windows 7
2.- INSTALACIÓN DEL SERVIDOR WEB IIS
En este tutorial no voy a entrar en detalles para la instalación "paso a paso" del servidor Web IIS en Windows 2008R2, pero os haré un resumen de los menús a través de los cuales podéis instalarlo:
Desde el Administrador del Servidor haremos click en Nuevo Rol y añadiremos la opción Internet Information Services (IIS). A partir de este punto la instalación básicamente se puede realizar con Siguiente->Siguiente->Siguiente... Una vez instalado el servidor IIS ya podremos acceder a su panel de configuración a través del botón inicio. En la siguiente imagen se puede ver la configuración inicial del servidor, donde podemos ver que existe un Website creado llamado "Default Website" con la configuración básica para probar el servidor:
Servidor IIS recién instalado
Para probar si el servidor ha sido instalado correctamente, deberemos abrir el navegador Web en la propia máquina y poner la URL de localhost: http://127.0.0.1 +o http://localhost. También podemos probarlo con la IP de una de sus interfaces, por ejemplo http://192.168.1.45 en caso de que esta sea su ip de la LAN:
Página de Bienvenida de IIS en localhost
3.- ESTRUCTURA Y PERMISOS DE DIRECTORIOS
El directorio raíz por defecto donde se almacenan los ficheros de las páginas Web podemos encontrarlo en C:\inetpub\wwwroot\. Como vamos a crear dos Virtualhost, cada uno de ellos debe tener un directorio diferente y asociado donde guardar sus ficheros correspondientes. Para ello crearemos 2 directorios (podemos llamarles como queramos) dentro del directorio C:\inetpub\wwwroot\. En este ejemplo crearé los directorios: website1 y website2 dentro del directorio raíz C:\inetpub\wwwroot\:
Directorios para los 2 Virtualhost
Ahora en cada uno de los directorios crearemos un fichero html diefrente para probar los diferentes Virtual Hosts. El primero de ellos contendrá un código html muy sencillo y lo llamaremos index.html:
Esta es la página Web www.website1.com
El segundo será el mismo código pero cambiaremos website1 por website2. El fichero se llamará también index.html pero lo guardaremos en el raíz de website2:
Esta es la página Web www.website1.com
Tras crear los directorios y los ficheros HTML, ya podemos dar por finalizada la parte de configuración a nivel de sistema de ficheros. El siguiente paso será configurar el servidor Web IIS para que detecte los 2 Virtual Hosts.
4.- CONFIGURACIÓN DE IIS
Ahora debemos configurar el servidor IIS desde la consola de administración accesible desde el botón de inicio. Lo que debemos hacer es crear 2 Sitios son la configuración que se ve en las siguientes imágenes. Introduciremos los siguientes datos:
- Nombre del sitio: Website1
- Ruta de acceso físico: C:\inetpub\wwwroot\website1\
- Enlace: http , todas las no asignadas, 80
- Nombre del host: www.website1.com
- Marcamos la opción de Iniciar sitio web inmediatamente
Configuración www.website1.com
Los datos para el segundo Virtual Host:
- Nombre del sitio: Website2
- Ruta de acceso físico: C:\inetpub\wwwroot\website2\
- Enlace: http , todas las no asignadas, 80
- Nombre del host: www.website2.com
- Marcamos la opción de Iniciar sitio web inmediatamente
Configuración www.website2.com
Una vez que hemos añadido los N Virtual Hosts podremos verlos en la consola de administración de IIS en la parte izquierda bajo la opción de sitios:
Listado de sitios
Como cada uno de los Virtual Hosts es diferente, podemos aplicar configuraciones diferentes a cada uno de ellos, pro ejemplo re-escritura de url, filtros ip, compresión de datos, ssl, cachés, etc ...
Opciones de un sitio ó Virtual Host
5.- COMPROBACIÓN DE LOS VIRTUALHOSTS SIN UN SERVIDOR DNS
Si no tenemos un servidor DNS que nos resuelva la IP del servidor y queremos probar que funcionan correctamente, deberemos configurar en el fichero "hosts" el nombre del dominio y la IP donde está alojado. De esta forma, dicho dominio será resuelto a través del fichero estático en lugar de consultar el servidor de DNS. Para ello, en GNU/Linux configuraremos el fichero /etc/hosts y en Windows C:\Windows\System32\drivers\etc\hosts y añadiremos lo siguiente:
192.168.1.100 www.website1.com
192.168.1.100 www.website2.com
Donde 192.168.1.100 es la dirección IP del servidor IIS y configuraremos también el fichero hosts del servidor IIS para evitar problemas de resolución.
Ahora desde el mismo servidor ó desde otro equipo, podremos visualizar las 2 páginas usando el nombre de dominio configurado.
Visualizando las 2 páginas sin DNS
6.- COMPROBACIÓN DE LOS VIRTUALHOSTS CON UN SERVIDOR DNS
Para configurar un servidor DNS con los 2 nuevos dominios, hay que instalar el servidor DNS como por ejemplo Bind9 en GNU/Linux ó el servidor de DNS en Windows 2008r2 y añadir las entradas de los 2 Virtual Host. En la siguiente URL puedes encontrar un manual de como instalar tu propio servidor de DNS bajo GNU/Linux:
ENJOY!