3ENGINE

Programación y otros cachivaches

Etiqueta: iis

Tecnologia

Acceso a IIS Express desde un equipo remoto


IIS Express es el servidor de desarrollo de ASP.NET que viene incorporado en Visual Studio y que también está disponible de manera gratuita para su descarga.

Esta versión recortada de IIS es perfectamente válida para desarrollos aunque esto no quita que al final para entornos de producción debas hacer el deploy en un IIS real.

Acceso desde un equipo remoto

A veces necesitamos hacer público el acceso al IIS Express para hacer pública nuestra aplicación. Por ejemplo para comprobar que la aplicación funciona en otros navegadores no disponibles en el entorno de producción, para que otras personas del equipo validen los desarrollos o simplemente porque no disponemos de un IIS real, etc..

Pasos

  1. Permitir conexiones de entrada
  2. * En Windows casi todas la conexiones de entrada están bloqueadas. Para comprobar conexiones de entrada permitidas ejecuta:

    > netsh http show urlacl
    

    * Para permitir conexiones ejecuta:

    > netsh http add urlacl url=http://08APC0501:61277/ user=todos
    

    donde url es la IP o nombre de máquina + puerto a publicar y user el nombre de usuario o grupo de usuarios (‘todos’ es ‘everyone’ si el S.O está en inglés)

  3. Añadir un regla al Firewall de Windows
  4. > netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=61277 profile=private remoteip=localsubnet action=allow
    
  5. Modificar applicationhost.config
  6. Es posible que necesites modificar el archivo de configuración de IIS Express.
    Normalmente se encuentra en C:\Users\TuUsuario\Documents\IISExpress\config\applicationhost.config

    <site name="NombreDeTuAplicacion" id="11">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
       <virtualDirectory path="/" physicalPath="C:\Projectes\TuProyecto\NombreProyecto" />
    </application>
    [....]
    <bindings>
    <binding protocol="http" bindingInformation="*:61277:localhost" />
    <binding protocol="http" bindingInformation="*:61277:08APC0501" />
    </bindings>
    </site>
    



Tecnologia

Cómo habilitar aplicaciones de 32 bits en IIS7


Si tienes IIS en un Windows 64 bits y necesitas ejecutar una aplicación que es para 32 bits. No hay problema, sigue estos pasos.

Habilitar aplicaciones de 32 bits en IIS7

1. Abre el administrador de Internet Information Services (IIS). Lo puedes encontrar en el panel de herramientas administrativas. Una vez dentro, vete a Conexiones y haz click en Grupos de aplicaciones

2. En el panel de la derecha selecciona el grupo de aplicaciones que necesites.

3. Finalmente haz click en Configuración avanzada y cambia la opción Habilitar apllicaciones de 32 bits a True

Cómo habilitar aplicaciones de 32 bits en IIS7




Tecnologia

Cómo configurar un CGI en IIS7


CGI viene de Common Gateway Interface. Fueron una de las primeras tecnologías de la WWW que permitia a un navegador web solicitar datos de un programa ejecutado en un servidor web. Hoy en día esta en desuso, pero si por algún motivo necesitas hacerlo funcionar, te explico cómo configurar un CGI en IIS7.

Instalar (o configurar) IIS7

Instalar IIS7 desde la pantalla Activar o desactivar características de Windows que se encuentra en Programas y características de Windows 7. Para poder configurar un CGI es necesario activar las opciones CGI, Extensiones y Filtros ISAPI

Cómo configurar un CGI en IIS7

Edita las restricciones de ISAPI y CGI

Abre IIS7, haz doble click en el nombre del servidor en la parte superior y por último click en la opción Restricciones de ISAPI y CGI

Cómo configurar un CGI en IIS7

Ahora agrega una restricción, selecciona tu CGI (que normalmente tendrá extensión .dll o .exe) y activa la casilla Permitir ejecución de la ruta de extensión

Cómo configurar un CGI en IIS7

Edita tu aplicación Web para permitir ejecutar un CGI

Pero por defecto IIS7 no permite que una aplicación ejecute un CGI. Ahora en IIS7 selecciona tu aplicación y doble click en la opción Asignaciones de controlador

Cómo configurar un CGI en IIS7

Una vez dentro modifica los permisos de características del controlador CGI-exe y activa la casilla Ejecutar

Cómo configurar un CGI en IIS7

 

Reinicia IIS7

Para asegurar que IIS7 queda perfectamente configurado es recomendable reiniciarlo. Esto lo puedes hacer bien desde la propia consola de administración de IIS7 o bien desde la consola de comandos con la orden iisreset
 

Habilitar CGI de 32 bits

Si el CGI es una aplicación de 32 bits y IIS es de 64 bits no funcionará sino habilitas la opción. Si quieres saber cómo hacerlo te explico cómo habilitar aplicaciones de 32 bits en II7




Tecnologia

CodeIgniter necesita de .htaccess pero en IIS no existe.


CodeIgniter utiliza lo que se llaman friendly paths. Por ejemplo si tenemos esta URI:

htpp://localhost/index.php?p=download&file;=miprograma

con este framework podriamos traducirlo a una cosa así y funcionaria:

http://localhost/download/file/miprograma

donde download es el controlador a cargar (recordar que Codeigniter utiliza la arquitectura MVC) file es la función a llamar de ese controlador y miprograma es un parámetro de dicha función.

Esto es muy bonito y limpio 🙂

Pero para eliminar de la URI index.php se necesita configurar un .htaccess y aqui vienen los problemas. Si utilizas IIS estos ficheros de configuración no existen ya que son propios de Apache.

En la Web de CodeIgniter viene como configurar esto para Apache

Buscando buscando he encontrado una solución para IIS que se llama ISAPI REWRITER, aqui los links:

artículo con ejemplos
descargas

Este programita está pensado para resolver resolver la URI para que los boots de buscadores como Google «acepten» de buen agrado tu página, redireccionar URI’s, para realizar balanceos de carga, etc, etc…. ( aquí puedes encontrar una explicación más detallada de las posibilidades) y para nuestro problemilla tambien nos servirá.

Es de pago, pero tiene una versión lite para 64 bits y otras para 32 bits que creo que ya servirá. Ya que la idea es utilizarlo sólo en mi entorno de desarrollo. Cuando suba el proyecto a mi hosting ya no habrá problema porque es un LAMP y lo único que necesitaré es subir el susodicho .htaccess.

Tambien anda por ahí otro programita Open Source que hace lo mismo, pero escrito por y para .NET, pero no lo he probado. El link aquí. Parece ser que tambien tienen una versión en Java.