Permitir conexiones locales a IIS y SQL Server en Windows 7


A la hora de desarrollar una aplicación .NET / ASP.NET con persistencia de datos, será necesario establecer una conexión con un servidor de base de datos. Generalmente, .NET suele hacer uso del binomio ASP.NET/SQL Server, para lo cual suelen darse, dejando a un lado los entornos de pruebas, integración y producción, dos escenarios típicos:

  • Utilizar una base de datos local en la que “cacharrear” y otra base de datos de desarrollo común a todos los desarrolladores de la aplicación.
  • Utilizar directamente una base de datos de desarrollo sin hacer uso de una base de datos local.

El segundo escenario típicamente suele consistir en un servidor SQL Server en red local, que bien puede ser dedicado (preferiblemente) o directamente (aunque sea mala práctica) el equipo de un compañero concreto.

Sin embargo, el acceso al equipo de un equipo en red local, políticas de red aparte, no es automático, sino que requiere permitir que tanto el servidor web (IIS 7 en nuestro caso) como el servidor de base de datos (ejemplificaremos con SQL Server 2012) permita el acceso a conexiones remotas y no sólo locales. Veremos a continuación cómo lograr este objetivo.

Asumiremos que hemos finalizado la instalación de SQL Server y que es un compañero quien se encargará de alojar ambos servidores. Windows XP ya ha pasado a mejor vida y Windows Vista nunca ha hecho acto de presencia en entornos de desarrollo, por lo que el sistema operativo más extendido en la actualidad es Windows 7. De modo que tenemos lo siguiente: Windows 7 Professional / Ultimate + SQL Server 2012 (recuerda que si quieres instalar un SQL Server 2008 necesitarás instalar el SQL Server 2008 SP1 para que funcione en este sistema operativo). Pero ¿qué hay de nuestro servidor web?

Instalando el IIS

Windows 7 no ofrece IIS por defecto, por lo que será necesario instalarlo. Para realizar esta operación, afortunadamente, no será necesario instalar ningún programa externo, sino que bastará con que nos demos una vuelta por el panel de control y seleccionar la opción “Programas”.

Programas y características

Acto seguido, seleccionaremos la opción “Activar o desactivar las características de Windows”.

Características

En este punto se desplegará un árbol con aquellos elementos de Windows que queremos instalar o desinstalar. Buscaremos la opción “Internet Information Services” y la marcaremos, junto con aquellas características del IIS que queremos que estén presentes.

IIS

Esperamos a que el IIS se instale.

IIS

Permitiendo conexiones entrantes

En este momento, IIS estará presente en nuestro sistema. Ahora es necesario configurar el firewall de Windows para que permita las conexiones entrantes, tanto para atender las peticiones HTTP / HTTPS como las conexiones a la base de datos. Para ello, volvemos al panel de control y seleccionaremos la opción “Sistema y seguridad”

Seguridad

A continuación nos dirigiremos a la opción “Firewall de Windows” y pulsaremos sobre “Permitir un programa a través de Firewall de Windows”

Firewall

Pulsamos el botón [Cambiar la configuración] (sobra decir que necesitaremos privilegios de administración) y marcamos las opciones “Servicios de World Wide Web (HTTP)” y “Servicios seguros de World Wide Web (HTTPS)”. Con esto, nuestro IIS podrá servir peticiones (locales o a través de internet, dependiendo si marcamos la casilla privada y/o pública).

Excepciones

A continuación haremos lo propio con el SQL Server. Por desgracia, el servidor SQL Server está un poco más escondido que el IIS, por lo que deberemos pulsar el botón [Permitir otro programa] y buscar el ejecutable correspondiente al servidor, generalmente en la ruta C:\Program Files\Microsoft SQL Server\MSSQL11.SQLSERVER\MSSQL\Binn\sqlservr.exe (variará dependiendo del directorio de la instalación).

Excepciones

Esto hará que el servidor se muestre en los programas disponibles, tal y como podemos ver a continuación:

Excepciones

Realizaremos la misma operación con el SQL Browser, que se encontrará en la ruta C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe o en una ruta similar.

Excepciones

 

 

Configurando SQL Server 2012

Nuestro sistema operativo ya está preparado para dejar pasar las conexiones, y nuestro IIS, listo para servir hipertexto. Sólo nos queda hacer que nuestro servidor SQL Server permita las conexiones entrantes. Para configurarlo, acudiremos al SQL Server Configuration Manager, herramienta proporcionada con el servidor.

Configuration Manager

Una vez dentro, nos aseguramos que el protocolo TCP/IP esté activo (Enabled). Haremos click derecho sobre él y seleccionaremos la opción “Propiedades”

SQL Server

A continuación, en la pestaña “IP Addresses”, configuraremos las opciones de forma similar a la siguiente imagen, colocando la IP local del equipo en “IP Address”, el campo “TCP Dynamic Ports” vacío y el valor “1433” en TCP Port (puerto por defecto).

SQL Server

 

Comprobando que todo funciona

En teoría, todo está listo para que nuestro equipo en red local pueda conectarse a ambos servidores. Comprobaremos que el IIS está correctamente instalado accediendo a Panel de control > Sistema y seguridad > Herramientas administrativas.

Herramientas administrativas

Una vez allí, debería aparecer la opción de configurar nuestro servidor (Administrador de Internet Information Services)

IIS

Para comprobar que funciona, escribiremos http://localhost desde el equipo local y http://192.168.1.100 (sustituir por la IP local del equipo) desde un ordenador que se encuentre en la misma red local. Si todo es correcto, se nos mostrará una imagen como la siguiente:

IIS Funcionando

Para el SQL Server, haremos algo parecido. Bien desde el SQL Management Studio, bien desde el Visual Studio, intentaremos crear una nueva conexión y pulsaremos sobre [Probar conexión] para comprobar si todo es correcto.

SQL Funcionando

Hecho esto, es hora de programar 🙂

Anuncios

8 comments

  1. Gracias por la informacion, tengo un server en una maquina virtual al que no puedo acceder ni desde la PC (fisica) ni desde un dispositivo en WiFi, sabrias por que?…

    Otra cosa, todo el post esta excelente, solo no entendi la ultima parte:

    Bien desde el SQL Management Studio, bien desde el Visual Studio, intentaremos crear una nueva conexión y pulsaremos sobre [Probar conexión] para comprobar si todo es correcto.

    Agradeceria tu respuesta

  2. Buena Informacion, dime se puede utilizar sqlserver y windows 7 con iis, en una pequeña red local con su respectiva aplicacion asp ?

  3. Hola muchas gracias por publicar, esto, pensaba que era dificil conseguirlo, gracias me salvaste para la materia de la Universidad, saludos extraño 😀

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s