Instalar Symfony en Kubuntu 15.04

Icono de SymfonyAunque no soy muy dado a la programación web, tengo un encargo que requiere de un sistema basado en web, así que después de revisar diversas opciones (Flask, PHP a pelo, e incluso programar servicios en C#, aunque esto quedó descartado casi de inmediato por el coste de la licencia), he decidido liarme la manta a la cabeza y probar con PHP… pero no PHP a palo seco: voy a utilizar un framework, más concretamente uno llamado Symfony.

Symfony es un framework PHP para desarrollo de aplicaciones web; en el momento de escribir este artículo, va por la versión 2.7. Me lo han recomendado por diferentes vías, y quiero darle una oportunidad y probar a desarrollar algo fuera de lo que estoy acostumbrado. Ya he probado con Flask, y me ha gustado (estoy pensando en utilizarlo para otros proyectos), pero quiero darle a Symfony una oportunidad.

Instalando Symfony: una aventura inesperada.

Vale, lo primero ha sido comprobar la disponibilidad de Symfony entre los paquetes de Kubuntu. Una búsqueda rápida nos devuelve un listado de paquetes, php-symfony-*, la cual es bastante intimidatoria… ¡pero no importa, podríamos utilizarlos! ¿Cual es el problema? Vale, el problema es el mismo que con la versión de Qt que viene por defecto en los repositorios: está un poco desfasada con respecto a la versión más moderna de Symfony. La versión estable actual es la 2.7, mientras que la que consta en los repositorios de Kubuntu 15.04 va dos o tres iteraciones por detrás (2.3 ó 2.4). No es muy grande la diferencia, pero prefiero probar con la versión moderna.

Vale, ya que nos hemos decidido, ¿cómo hacemos la instalación?

Paso 1: Instala PHP5 y Apache.

Porque, aunque no lo parezca, no los tenía instalados en mi portátil. Creía que sí, pero la versión de Kubuntu que tenía anteriormente era la 14.10 y se ve que al reinstalar el sistema operativo para actualizar a la 15.04, se me olvidó. ¡No importa!

sudo aptitude install php5 php5-mysql

Estas líneas instalan php5, apache2 y el módulo para trabajar con mysql desde php del tirón. Eso es bueno. Luego volveremos con más cuestiones de configuración. Pero antes…

Paso 2: Instala Symfony.

Para instalar Symfony, nos vamos a su página web y lo descargamos de allí. ¡Pero ojo, que esta gente no hace las cosas como estamos acostumbrados! En realidad, no nos descargamos una versión comprimida del framework, sino un ejecutable que nos permite descargar, cuando creemos un nuevo proyecto, el framework y crear la estructura de directorios y scripts básicos para empezar.

Para descargarlo, necesitamos instalar antes curl:

sudo aptitude install curl

Y después de instalar curl, podemos descargar y preparar symfony:

sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
sudo chmod a+x /usr/local/bin/symfony

 

Con esto, ya tenemos preparado Symfony para empezar. ¿Es en serio? ¡Pues claro que no!

Paso 3: Configurar correctamente php.ini.

Aunque ya tengamos instalado y preparado symfony, no vayáis a pensar que hemos terminado. Para iniciar un nuevo proyecto con symfony, nos vamos al directorio donde queremos crear la aplicación y escribimos

symfony new <nombre_aplicacion>

Esto creará un directorio donde se preparará la aplicación… pero nos sale un mensaje de error indicando que debemos de establecer la timezone en el archivo php.ini. En Kubuntu, una vez instalado php y apache, podemos encontrarnos no uno, sino DOS archivos de configuración php.ini: el primero lo encontramos en /etc/php5/apache2/php.ini, mientras que el segundo está en /etc/php5/cli/php.ini. ¿Cual de los dos es el que debemos de configurar? Debemos de configurar el segundo, pero no está de más configurar también el primero. Por si acaso, detenemos antes el servicio de apache:

sudo service apache2 stop

Y luego editamos los dos archivos php.ini usando cualquier editor de textos (yo he usado Atom y ha funcionado bien). Buscamos la línea date.timezone y la modificamos quitando las comillas de delante e indicando que la zona es Europe/Madrid (en mi caso). Ya podemos reiniciar apache

sudo service apache2 start

Y terminar la configuración de nuestro proyecto de pruebas con Symfony

php <directorio_app>/app/check.php

Esto terminará la configuración y nuestro proyecto estará listo.

Paso 4: Ultimas comprobaciones

Para comprobar que todo funciona, lanzamos el servidor de prueba de Symfony y chequeamos que todo esté correcto.

php <directorio_app>/app/console server::start

Apuntamos el navegador a localhost:8000 y deberíamos ver la página de inicio del proyecto, con una bonita excepción y una interfaz muy apañada para depurar dicha excepción.

Anuncios

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