viernes, 24 de junio de 2011

Hola mundo con Symfony 2 y Cherokee

Symfony
Cherokee
Después de las entradas de Servidor web ligero Cherokee, instalación e integración con PHP en Arch Linux y de como Instalar Symfony y Cherokee en Arch Linux iba a ponerme a escribir una entrada con un Hola mundo para Symfony pero la verdad es que no creo que merezca la pena ya que la documentación de Symfony me parece tan buena que prácticamente sería repetir lo que pone en ella. Me limitaré a explicar como configurar las reglas de Cherokee para que las rutas de la apliación de Symfony sean más amigables de SEO, esto es, sin que incluyan la ruta al controlador frontal (/app_dev.php). Aunque esto también está explicado para Symfony 1 en un Cookbook de Cherokee.

Teniendo instalado el soporte para PHP y Symfony en Cherokee de las dos entradas anteriores empezaremos modificando en la pestaña «Básica» la propiedad Raiz de documentos de «/var/www» a «/var/www/Symfony/web» del servidor virtual.

Inicialmente en la pestaña «Comportamiento», donde veremos las acciones que realizará Cherokee según la URL recibida, tendremos dos reglas «Extensions PHP» y «Por defecto», la primera se encargará de capturar las URL que deban ser tratadas por el preprocesador de PHP y la segunda de devolver un listado en caso de que se pida un directorio o de devolver un archivo, por ejemplo una imagen o una hoja de estilo. Ahora en la pestaña «Comportamiento», añadiremos una regla «Existe fichero» seleccionando en el asistente la opción «Coincide cualquier fichero». Con esta regla se devolverá el contenido estático de nuestra aplicación.

Si queremos que en los listados de directorios aparezcan bien los estilos e imágenes tendremos que copiar las reglas «/cherokee_themes» y «/icons» del sevidor virtual default con el mismo contenido en las pestañas «Regla» y «Gestor».

Finalmente modificamos la regla «Por defecto» que será la que redirija las peticiones al controlador frontal para ello modificamos la regla en la pestaña «Gestor» indicando que ahora será de tipo «Redirección», en la lista de reglas añadiremos dos reglas de tipo Interna con el mismo contenido que se ve en la imagen (^(.*)$ -> /app_dev.php, ^/$ -> /app_dev.php).

Las reglas tienen que estar en un orden concreto, ya que son procesadas por Cherokee en ese orden, para cambiarlo se puede utilizar arrastrar y soltar. El orden final sería Extensions php, Existe fichero, Directorio /cherokee_themes, /icons y Redirección.


A veces la aplicación de administración de Cherokee no hace correctamente los cambios en el archivo de configuración /etc/cherokee/cherokee.conf y tal vez nos toque editarlo directamente en el archivo.

Referencia:
http://symfony.com/
http://symfony.com/doc/current/book/page_creation.html#application-configuration
http://www.cherokee-project.com/doc/cookbook_symfony.html

Servidor web ligero Cherokee, instalación e integración con PHP en Arch Linux
Instalar Symfony y Cherokee en Arch Linux