Desde hace algún tiempo he estado leyendo sobre varios frameworks de desarrollo con php, que me permitiesen de una forma fiable automatizar trabajo que, a pesar de no tener una dificultad notable para alguien que sepa programar, te hace perder un montón de tiempo si quieres hacer las cosas bien.
La opción que más me ha gustado para php es sin duda Symfony y puesto que desarrollo tanto para plataformas UNIX/Linux como para sistemas Microsoft, me interesé por hacerlo funcionar e incluso utilizarla en proyectos que actualmente me encuentro desarrollando bajo sistemas Microsoft.
Voy a detallar como es una instalación de Symfony en IIS. Yo lo tengo funcionando sobre 2003 Server SP2 con IIS6
1 - Se descarga el código fuente de Symfony y se descomprime en un directorio en una de las unidades de disco duro del servidor. (Supongamos D:\symfony)
2 - Se crea un directorio cuyo contenido será el que usemos como sitio web. (Supongamos D:\dir_proyecto)
3 - Abrimos un terminal, nos situamos en “dir_proyecto” y ejecutamos lo siguiente para crear un proyecto:
D:\symfony\data\bin\symfony.bat init-project nuevo_proyecto
Ahora creamos una primera aplicación para ese proyecto:
D:\symfony\data\bin\symfony.bat init-app nueva_aplicacion
4 - Creamos un sitio web nuevo que apunte al directorio “D:\dir_proyecto\web”.
5 - Dentro del ese nuevo sitio web, creamos un directorio virtual que apunte a “D:\symfony\data\web\sf”
6 - Si usamos isapi rewrite necesitamos ahora aplicar las reglas de redirecciones para nuestro sitio web. En la documentación oficial nos comentan una serie de reglas específicas para entornos de IIS. Esas reglas pueden darnos problemas a la hora de acceder a los archivos del directorio “D:\symfony\data\web\sf”.
Para evitar estos problemas, debemos ser fieles a las reglas definidas en el .htaccess que se ha creado en el directorio “D:\dir_proyecto\web” y añadir las reglas de seguridad relativas a entornos Microsoft.
Las reglas de redireccionamiento quedarían de la siguiente forma:
RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /index.php [L]
Con esto ya deberíamos comprobar que todo funciona correctamente.
Julio 15th, 2008 at 8:59 pm
Todabia existen este tipo de locos que van por el mundo usando windows de servidor?
Julio 16th, 2008 at 3:56 am
@Pablo igual tu has visto algo malo en ellos que el resto no hemos conseguido descubrir
Julio 16th, 2008 at 12:22 pm
@Asier la verdad es que Windows de servidor web es poco optimo. Pero bueno, no vamos a entrar en la discusion de siempre.
Me hace gracia ver como te rompes la cabeza para instalar algo en windows (cuando no tiene su .exe chachi guay) y yo solo hago “emerge symfony”, igual que he hecho para todos los otros programas que tengo instalados en mi ordenador.
Julio 16th, 2008 at 12:40 pm
@Alberto de Tena IIS es tan poco optimo como apache cuando no se sabe usar (siendo apache más pesado que IIS en windows) Pero si… mejor no entramos xD
Eso no es problema de windows que yo sepa, aunque tampoco me he roto mucho la cabeza. El mayor problema ha sido jugar con las expresiones regulares en los rewrites ya que la documentación oficial estaba incorrecta.
Julio 16th, 2008 at 1:32 pm
@Asier fijate que no hablo de Apache vs IIS, hablo de windows como sistema servidor web.
Por lo otro, no digo que sea problema de windows solo que choca con el topico de “instalar cosas en linux es dificil, en windows es facil”.
Julio 16th, 2008 at 1:37 pm
@Alberto hay que configurar algunas cosas, entre otras la pila tcp/ip para que funcione bien para internet, por defecto viene optimizada para intranet. Eso lo sabe todo el mundo que conozca el sistema operativo evidentemente.
Hay empresas como myspace y wizard que usan windows server, y ambos sabemos que para aguantar ese trabajo necesitas un buen so.
Yo ya sabes mi opinión sobre ese tópico. Realmente un supuesto profesional que discrimine un SO por ese tópico es un completo incompetente.
Julio 16th, 2008 at 2:34 pm
@Asier no me baso en topicos, me baso en cosas observables y demostradas para discriminar windows como servidor web.
Julio 16th, 2008 at 8:07 pm
@Alberto pues yo en base a mi experiencia respeto bastante windows server como servidor web
Julio 17th, 2008 at 10:31 am
Fair enough