17
Configuración de IIS 7.5 para alojar múltiples Sitios Web IIS es el rol de servidor de Microsoft que permite alojar Aplicaciones y Sitios Web. Normalmente instalamos este rol cuando utilizamos Sharepoint, servicios de Certificados de Active Directory u otros componentes que requieren de él. Sin embargo, también podemos instalar dicho rol para alojar la web institucional de nuestra empresa. En algunos escenarios, requerimos configurar varios sitios web, y contamos con solo pocoas direcciones IPs. ¿Cómo configurar en forma segura varios sitios web a la vez en el mismo servidor y con una sola IP disponible pública? Este tutorial intenta explicar, paso a paso, como lograr una configuración standard de un servidor IIS 7.5 con capacidades multi-site, permitiendo subir contenido a cada sitio mediante protocolo FTP. Este tutorial forma parte de tres entregas. En esta segunda parte vamos a realizar toda la configuración de los Sitios Web y pruebas sin Firewall. Para mayor información sobre la introducción y otras partes, remitirse al final del documento. Tabla de Contenido 1 Introducción o 1.1 Objetivo del Tutorial 2 Alcance o 2.1 Objetivo Técnico o 2.2 Plan de Trabajo 3 Desarrollo de la parte 2/3 del Tutorial o 3.1 Configuración de Sitios Web 3.1.1 Eliminación de Default Web Site 3.1.2 Creación de Sitios Web 3.1.3 Configuración de Application Pool 3.1.4 Configuración de Usuario Anónimo de Navegación

Configuración de IIS 7

Embed Size (px)

DESCRIPTION

IIs

Citation preview

Page 1: Configuración de IIS 7

Configuración de IIS 7.5 para alojar múltiples Sitios Web

IIS es el rol de servidor de Microsoft que permite alojar Aplicaciones y Sitios Web. Normalmente

instalamos este rol cuando utilizamos Sharepoint, servicios de Certificados de Active Directory u otros

componentes que requieren de él. Sin embargo, también podemos instalar dicho rol para alojar la web

institucional de nuestra empresa.

En algunos escenarios, requerimos configurar varios sitios web, y contamos con solo pocoas direcciones

IPs. ¿Cómo configurar en forma segura varios sitios web a la vez en el mismo servidor y con una sola IP

disponible pública? Este tutorial intenta explicar, paso a paso, como lograr una configuración standard

de un servidor IIS 7.5 con capacidades multi-site, permitiendo subir contenido a cada sitio mediante

protocolo FTP.

Este tutorial forma parte de tres entregas. En esta segunda parte vamos a realizar toda la configuración

de los Sitios Web y pruebas sin Firewall. Para mayor información sobre la introducción y otras partes,

remitirse al final del documento.

Tabla de Contenido  1 Introducción

o 1.1 Objetivo del Tutorial 2 Alcance

o 2.1 Objetivo Técnicoo 2.2 Plan de Trabajo

3 Desarrollo de la parte 2/3 del Tutorialo 3.1 Configuración de Sitios Web

3.1.1 Eliminación de Default Web Site 3.1.2 Creación de Sitios Web 3.1.3 Configuración de Application Pool 3.1.4 Configuración de Usuario Anónimo de Navegación 3.1.5 Configuración de Logs 3.1.6 Ingreso de contenido por defecto para cada sitio

o 3.2 Configuración de DNS Interno para Pruebaso 3.3 Prueba de Acceso a los Sitios Web sin Firewall

4 Conclusiones

 

Page 2: Configuración de IIS 7

Introducción

Esta es la parte 2/3 de la publicación de este tutorial. Para acceder a las otras partes, por favor revise las

Publicaciones Relacionadas al final de la página.

Alcance

Los detalles del alcance están en la parte 1/3 de este tutorial. Para recordar detalles del Escenario de

Trabajo, Fuera de Alcance y otros detalles, remitirse a dicha parte al final de la publicación, en

“Publicaciones Relacionadas”.

Objetivo TécnicoEl objetivo técnico de esta publicación es poder realizar la instalación del rol IIS 7.5 y la configuración de

varios sitios web utilizando las posibilidades “multi-site” de este rol en Windows Server 2008 R2, de

modo tal que:

Se puedan alojar varios sitios web por el protocolo HTTP simultáneamente.

Se pueda usar una sola dirección IP pública (privada para fines de laboratorio).

 Como resultado, tendremos una implementación básica de IIS 7.5 y la posibilidad de alojar diferentes

sitios web (que pueden ser clientes) bajo el mismo puerto y dirección IP.

En esta segunda parte, se desarrollarán los primeros puntos desde “Configuración de Sitios Web” hasta

“Prueba de Acceso a Sitios Web sin Firewall”. El resto de las entregas se encuentran en “Publicaciones

Relacionadas” al final de la página.

Desarrollo del TutorialLa primera parte del tutorial puede encontrarse al final de esta página, en el apartado “Publicaciones

relacionadas”.

Configuración de Sitios Web

Ya hemos configurado las carpetas de publicación, hemos creado los usuarios de servicio y hemos dado

los permisos necesarios a nivel archivos de Windows. Llegó el momento de configurar nuestros sitios

web. Al finalizar este paso, tendremos creados nuestros 5 sitios web con las configuraciones básicas

realizadas.

Eliminación de Default Web Site

Para ello, vamos a abrir la consola “Internet Information Services (IIS) Manager”:

 

Page 3: Configuración de IIS 7

Creación de Sitios Web

Llegó el momento de crear nuestros sitios web (5 en total). El proceso de creación es muy simple. Vamos

a comenzar por sitio1.com.

Primero, nos paramos sobre el nodo “Sites” y elegimos la opción “Add Web Site…”: 

Aparecerá un cuadro en el que debemos llenar los datos del sitio web:

 

Creación de Sitio Web en IIS 7.5.

 

Nótese que llenamos los siguientes datos:

Site name: sitio1.com Application Pool: se ha llenado solo con el nombre de nuestro sitio. Physical path: ruta hacia la carpeta wwwroot de sitio1.com en el disco “E”. Binding: dejamos el binding http con el puerto 80. Host name: www.sitio1.com (si tiene más, luego lo podemos agregar).

 

Una vez completados estos datos, le damos clic en “Ok” y nuestro sitio quedará creado:

 

Page 4: Configuración de IIS 7

sitio1.com creado en IIS 7.5.

 

Haremos lo mismo con el resto de los sitios, cuidando que:

El nombre sea el correcto. El physical path sea el correcto. El host name sea el correcto, agregando el “www.”.

 

El producto final es el siguiente:

 

Creación de los 5 sitios en IIS 7.5.

 

Nótese que:

Todos los sitios están escuchando por el puerto 80 HTTP. El campo “host name” determinará por qué URL van a escuchar, para que cuando uno

pida por www.sitio1.com sea este sitio el que responda, y no otro, utilizando la única IP que configuramos al servidor.

Cada sitio tiene como carpeta “physical path” su propia carpeta wwwroot.

 

Page 5: Configuración de IIS 7

Configuración de Application Pool

Existe un componente en cada sitio web que es el “Application Pool”. Este componente es el que controla varios aspectos de la aplicación, el que le da vida. Estos aspectos son:

Memoria. Errores. Versión del Framework .Net. Compatibilidad. Etc.

 

Como vimos en el proceso de creación de los sitios web, cada uno de ellos tenía un “Application Pool” que se iba creando con el tipeo del nombre. El conjunto de Application Pools los podemos ver desde la consola IIS, apartado “Application Pools”:

 

Application Pools creados.

 

Para cada uno de los application pools, debemos configurar un usuario de servicio. Y ¿adivinen qué? El usuario de servicio será el que creamos unos pasos atrás!

Para configurar cada usuario de servicio en el Application Pool, vamos a ir a las opciones avanzadas del Application Pool que querramos configurar. Comencemos con el sitio1.com:

 

Page 6: Configuración de IIS 7

Advanced Settings del Application Pool.

 

En las propiedades avanzadas del Application Pool veremos la opción “Identity”:

 

Configuración de Identity para el Application Pool de un sitio web.

 

Si hacemos clic en los puntos suspensivos del nombre Identity (en este caso “ApplicationPoolIdentity”) vamos a obtener otro cuadro:

 

Page 7: Configuración de IIS 7

Configuración de Identity para el Application Pool.

 

Si seleccionamos “Custom account” vamos a poder hacer clic en el botón “Set…”:

 

Datos de usuario para Application Pool Custom.

 

Allí ingresaremos los datos del usuario de servicio correspondiente al sitio web que estamos configurando (en este caso, iis_sitio1.com). Ingresamos la contraseña y le damos Ok tres veces hasta cerrar el cuadro de las propiedades avanzadas del Application Pool.

Nótese como el campo “Identity” de la lista ha cambiado a la que le configuramos:

 

Page 8: Configuración de IIS 7

Identity modificado para el Application Pool del sitio1.com.

 

Lo mismo debemos hacer con el resto de los Application Pool de nuestros sitios web, y configurar para cada uno su usuario de servicio. Quedaría de la siguiente forma:

 

Usuarios de los Application Pools configurados en IIS 7.5.

 

Configuración de Usuario Anónimo de Navegación

Además de configurar el usuario para el Application Pool, el sitio web / aplicación web debe tener configurado un usuario a través del cual el IIS intentará leer los directorios. Por supuesto, este usuario será el mismo que la cuenta de servicio asignada al Application Pool y a los permisos de los directorios de Windows configurados anteriormente.

Para realizar esta configuración, debemos ir sitio por sitio y realizar lo siguiente comenzando por el sitio1.com:

Vamos a la consola IIS y seleccionamos el sitio en cuestión y dentro de las propiedades IIS elegiremos “Authentication”:

 

Page 9: Configuración de IIS 7

Autenticación en Sitio Web de IIS 7.5.

 

Veremos las posibilidades de autenticación. En nuestro caso, no queremos que al usuario de internet le pregunte un usuario y password al visitarlo, por lo cual dejaremos el “Anonymous Access” habilitado. Ahora bien, este Acceso Anónimo debe ser a través del usuario de servicio correspondiente al sitio web que estamos configurando. Por ello iremos dentro de la consola, y manteniendo seleccionado la autenticación anónima, a “Edit”:

 

Autenticación en Sitio Web de IIS 7.5.

 

Una vez hecho esto, debemos ingresar las credenciales de servicio correspondientes. En la ventana que se abrió elegimos “Set…”:

 

Autenticación en Sitio Web de IIS 7.5.

Page 10: Configuración de IIS 7

 

Allí ingresaremos las credenciales del usuario “iis_sitio1.com”:

 

Autenticación en Sitio Web de IIS 7.5.

 

Lo mismo debemos hacer con los restantes sitios web, asegurándonos que el usuario de navegación en la solapa “Authentication”, “Anonymous Authentication” sea el correspondiente al usuario de servicio configurado para la carpeta de Windows donde se publica el sitio web y el del application pool.

 

Configuración de Logs

Un aspecto importante que no debemos dejar de considerar es donde se guardarán los logs de cada uno de nuestros sitios web. Es por esto que, en el momento de crear el árbol de directorios, hemos creado dentro de cada sitio web una carpeta llamada “logs”. Esta carpeta será la que utilizaremos ahora en nuestra configuración.

Dentro de las propiedades del sitio “sitio1.com” buscaremos una opción llamada “Logging”:

 

Logs en IIS 7.5.

Page 11: Configuración de IIS 7

 

Allí veremos que se nos muestra donde se guardan los logs y con que frecuencia:

 

Logs en IIS 7.5.

 

Dejaremos la frecuencia en forma diaria, pero cambiaremos el “Directory” para guardar los logs del sitio “sitio1.com” en la carpeta que creamos para tal fin, dentro del usuario “Juan” y dentro del “sitio1.com” como vemos en la siguiente figura:

 

Logs en IIS 7.5.

 

Modificaremos el Directorio y nos quedará de la siguiente manera:

 

Logs en IIS 7.5.

 

Page 12: Configuración de IIS 7

Lo mismo debemos hacer con el resto de los sitios web, procurando que cada uno de ellos guarde el log dentro de la carpeta correspondiente creada para tal fin.

 

Ingreso de contenido por defecto para cada sitio

Para poder realizar las pruebas correspondientes, debemos ingresar algún contenido a los sitios web y de esta forma poder identificar si se abren bien o no. Si no lo hacemos, aparecerá un error en los sitios web, dado que no tiene nada que mostrar de contenido.

En la vida real, el contenido es el propio del sitio web: es un trabajo en conjunto de desarrolladores y diseñadores. Sin embargo, para este tutorial, vamos a crear un contenido simple que sea el nombre del sitio web que estamos abriendo.

Para esto, crearemos un archivo de texto con el nombre “index.txt” y dentro del mismo el nombre del sitio. Por ejemplo, para el sitio1.com el archivo contendrá el siguiente contenido:

 

Archivo de contenido para IIS 7.5.

 

El archivo lo ubicaremos dentro del directorio wwwroot correspondiente al sitio1.com:

 

Archivo de contenido para IIS 7.5.

 

Page 13: Configuración de IIS 7

Y por último reemplazaremos la extensión “txt” por “html”:

 

Archivo de contenido para IIS 7.5.

 

De esta forma, tenemos un archivo en formato HTML que el servidor IIS podrá leer sin problemas. El nombre “index.html” corresponde a un archivo por defecto que el servidor IIS puede leer y que irá a buscar. Esto puede ser cambiado en la configuración de cada sitio IIS.

Lo mismo haremos para cada uno de los restantes sitios web: configuraremos un archivo index.html con el nombre del sitio, de modo tal que sea fácilmente indentificable.

 

Configuración de DNS Interno para Pruebas

Como hemos comentado antes, vamos a utilizar dominios públicos que, por supuesto, no tenemos publicados hacia internet y tampoco somos los dueños de los mismos. Estos dominios son los que hemos configurado anteriormente en los sitios web:

Sitio1.com -> www.sitio1.com Sitio2.com -> www.sitio2.com Sitio3.com -> www.sitio3.com Sitio4.com -> www.sitio4.com Sitio5.com -> www.sitio5.com

 

Para poder realizar todas las futuras pruebas, vamos a crear las zonas para cada uno de estos dominios en un DNS interno, y para cada una de estas zonas crearemos un registro “A” hacia la dirección IP interna de nuestro servidor, es decir: 192.168.1.235.

Page 14: Configuración de IIS 7

 

Prueba de Acceso a los Sitios Web sin Firewall

Desde nuestro servidor IIS01, el cual tiene como servidores DNS a nuestro equipo con las zonas creadas de los dominios de prueba, abriremos la consola IIS y nos pararemos sobre el sitio “sitio1.com” y elegiremos la opción del panel derecho “Browse www.sitio1.com…”:

 

Browse de Sitio Web en IIS 7.5.

 

Como resultado, veremos que el navegador predeterminado se abrirá e ingresará a la dirección http://www.sitio1.commostrando nuestro sitio web:

 

Sitio Web de Prueba en IIS 7.5.

 

Lo mismo podremos hacer con los restantes sitios web, comprobando que están funcionando. Si en algún sitio hubiésemos olvidado ingresar el usuario para “Anonymous Authentication”, o si no hubiésemos seteado los permisos NTFS correctamente, el error que aparecería sería:

Page 15: Configuración de IIS 7

 

Error en IIS 7.5 al no ingresar el usuario para Anonymous Authentication.

 

Desde la máquina DESKTOP01, la cual tiene como servidores DNS a nuestro equipo que tiene las zonas DNS creadas para cada uno de nuestros dominios, abriremos un navegador web e ingresaremos la dirección http://www.sitio1.com, comprobando que abre:

 

Prueba de apertura de sitio web en IIS 7.5 desde un equipo cliente.

 

De esta forma, hemos comprobado que nuestra configuración realizada permite:

 

Que en un mismo servidor IIS, y con una única dirección IP, podamos abrir varios sitios web gracias a la configuración de los Bindings.

Que el contenido y el acceso al mismo está segurizado por la asignación de usuarios y permisos únicos a cada sitio web