Configurando Castle Project 1.0 a 2.0 en IIS 7

Reproduzco este conocimiento casi arcano, ya que de seguro se me pierde y el otro personaje que lo tiene es mas descuidado que yo

Castle Project es (era ya que esta descontinuado como tal) un framework MVC para .NET(C# específicamente), extremadme simple y completo, con una gran capa de persistencia, dado por Hibernate, un ORM de primer nivel, con algunos patos, pero nada fuera de este mundo. Su capa de presentación está dada por Velocity, quien nos permite trabajar con layotus y vistas parciales, así que es muy bueno. lamentablemente funciona con .Net 1.1 y bueno ya es algo de historia

Bueno, el problema se dio por la nece

sidad de un proyecto desarrollado en este framework, para una empresa X, debía de correr en un servidor, ahora donde está el problema, bueno, pues es que estamos a 2012, con Microsoft .NET Framework 4 ya hace rato funcionando, bueno, pues este reléase del framework estaba planeado para la versión 1.1 e IIS6…

Lo único que necesitamos instalado en el servidor son 2 cosas súper importantes:

–   ASP.NET: nos ayudara mucho ya que en algun

as instalaciones de IIS, por defecto solo instala el servidor IIS y no el ASP, por lo cual las páginas dinámicas no funcionan…

–    Microsoft .NET Framework 2: si, ya sé que dije que estaba pensado para el 1.1, pero lo bueno es que la versión 2 funciona súper bien, así que no nos ágamos problemas.

Ahora con estos pequeños detalles resueltos, procedamos a la configuración:

PASO 1 : Bueno, este es uno de esos pequeños trucos que nos ayudaran a no morir en el intento, resulta que, al ser un software compilado, necesita realizar la interpretación de algunas vistas, por lo cual necesita un lugar donde crear estas vistas temporales, esto, por  defecto no lo realiza en la carpeta donde están alojado nuestros archivos, si

no en la carpeta del Framework que utilizaremos, lo malo, es que por defecto, los permisos asociados, no suelen ser suficientes, como para escribir en la carpeta temporal del Framework, por lo cual debemos asignarle mayores permiso a nuestro usuario ISS, así es como lo ago.

Vamos a C:\Windows\Microsoft.NET\Framework donde nos encontraremos con la carpeta que contiene nuestro Framework 2 de Microsoft, y a esa carpeta le damos clics con el botón derecho de nuestro mouse, y vamos a propiedades.

En la pestaña Seguridad nos daremos cuenta (en la mayoría de los casos), que el botón Editar esta con un dibujito de Windows.

Esos nos salen, simplemente, porque no somos “Dueños” de esta carpeta, a pesar de ser administradores, por lo cual realizaremos un “Take Ownership” de esta carpeta, para eso ejecutamos 6 pasos rápidos:

1    Opciones Avanzadas.

2   Propiedades.

3  Editar.

4   Seleccionamos nuestro usuario.

5   Cliqueamos en remplazar propietario en subcarpetas y objetos.

6   Aplicamos.

Con eso ya somos “Dueños” de esta carpeta, y nuestro botón de editar estaría libre, ahora asignamos los permisos necesarios (Le asigne control total… obviamente en producción no podemos hacer eso, pero a modo de ejemplo, está bien.) al usuario que ejecutara el framework (IIS_IUSRS).

Listo, con esto ya no tendremos problemas, ahora el paso 2.

PASO 2: Este es simple, copiamos los archivos del proyecto (Las carpetas bin, Content, Controllers, Views, y los archivos default.aspx y web.config) que todos estos archivos los copiamos directamente desde nuestro proyecto en Visual Studio 2003 a la carpeta “C:\inetpub\wwwroot” ya que usaremos el sitio por defecto.

Obviamente todas estas carpetas deben de contar con los permisos necesarios para la ejecución de ASP.NET.

PASO 3: Listo, ahora vamos al administrador de IIS y seleccionamos nuestro servidor, donde revisaremos nuestro Grupo de aplicaciones y nos cercioraremos que tengamos uno llamado “Classic .NET AppPool”, con este podremos correr nuestra aplicación.

Como ya lo tenemos, porque instalamos el ASP.NET, se lo asignamos a nuestro sitio…

Y luego asignamos nuestro controlador.

Y agregamos uno nuevo con asignación de script (casi siempre la primera opción de arriba de la izquierda [1]).

 

 

Agregamos la extensión “*.rails” [2] o la que tenga el web.config, seleccionamos el archivo aspnet_isapi.dll del framework 2 que está en “C:\Windows\Microsoft.NET\Framework\v2.0.50727\ aspnet_isapi.dll” [3], le agregamos un nombre [4] cualquiera, sin ninguna repercusión posterior mas que no se repita en los ya ingresados, y finalmente damos a aceptar [5].

Finalmente agregamos en “Documento Predeterminado” el archivo “index.rails” y listo, ya debería estar funcionando, (obviamente si tenernos archivos de configuración que deban estar en otras direcciones, como por ejemplo, un dbconector.xml que debe ir en c:\, debemos ponerlo, pero eso ya es tema de cada uno.).