Licencia Creative Commons
Tutorial para instalación y configuración de Symfony por el Grupo GNU Linux de la Universidad Distrital FJC se distribuye bajo una Licencia Creative Commons Atribución 4.0 Internacional.

PRIMER CAFÉ

Utilizaremos una herramienta en línea de comandos para la transferencia de archivos llamada curl, si no la has instalado en tu vida, abre la consola de comandos y ejecutemos lo siguiente:

$ sudo apt-get install curl
$ sudo apt-get install php5-curl 

Tras cualquier cambio en PHP o MySQL es necesario reiniciar el servidor ejecutando:

$ sudo service apache2 restart 

De esta manera, estaríamos listos para transferir los archivos del instalador de symfony a nuestra maquina ejecutando los siguientes comandos en terminal:

$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony

Asignamos permisos de escritura al siguiente fichero:

$ sudo chmod a+x /usr/local/bin/symfony

Creamos nuestro proyecto:

$ sudo symfony new miProyectoDemo

Con el comando anterior, el instalador entenderá que desarrollaremos con la ultima versión disponible de Symfony. Ya si lo que se desea es una versión en especifico, debes añadir la versión como parámetro al comando, estos son algunos ejemplos:

# Usa una versión estable
$ symfony new my_project_name 2.8
$ symfony new my_project_name 3.0

# Usa una versión especifica
$ symfony new my_project_name 2.7.3
$ symfony new my_project_name 2.8.1

# Usa una versión Beta
$ symfony new my_project 3.0.0-BETA1

installSymfony

Al finalizar instalación, nos aparece un mensaje donde se sugiere enviar el paquete del nuevo proyecto, al fichero que por defecto está conectado a nuestro localhost, en mi caso ejecute la instalación directamente en /var/www/html/ pero en dado caso que no, podrias probar moviendo tu proyecto con:

$ sudo mv miProyectoDemo /var/www/html -Rf

Procedemos a crear la base de datos para nuestro proyecto con la siguiente linea de codigo:

$ sudo php app/console doctrine:database:create

Podrías verificar que la base de datos symfony fue creada, ingresando a mysql desde terminal:

$ mysql -uroot -p
         mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| symfony            |
+--------------------+

mysql> exit
Bye

Procedemos a configurar nuestra aplicación editando el archivo parameters.yml ubicado en el fichero app/config/ para lo cual podrias usar el editor de texto que deseen, en mi caso, usaré VIM, para añadir el puerto por defecto de las BD en mysql, el nombre de la BD, su usuario y la clave.

$ vim app/config/parameters.yml

# This file is auto-generated during the composer install
parameters:
 database_host: 127.0.0.1
 database_port: 3306
 database_name: symfony
 database_user: root
 database_password: 11223344
 mailer_transport: smtp
 mailer_host: 127.0.0.1
 mailer_user: null
 mailer_password: null
 secret: 95d8d17bccea019bc3e6a33b2405c543bf7a2198

Ahora, desde el fichero raiz de nuestro proyecto ejecutaremos el siguiente comando para la levantar la consola de Symfony en nuestro localhost:

$ cd miProyectoDemo/

Para versiones de symfony 3
$ php bin/console server:run

Para versiones de symfony 2
$ php app/console server:run

Nos dirigimos a nuestro navegador y escribimos en el browser localhost:8000 arrojando la vista por default del framework

symfony28

Symfony aprovecha el servidor web interno proporcionado por PHP para ejecutar aplicaciones. Por lo tanto, ejecutar una aplicación de Symfony es cuestión de navegar por el directorio del proyecto.

Para comprobar esto, crearemos nuestro primer Bundle con la siguiente linea de comando

 $ php app/console generate:bundle 

Cuando las cosas se pongan interesantes, tendremos que crear varios Bundle’s asignandoles un nombre de la siguiente manera por ejemplo

$ php app/console generate:bundle --bundle-name=EVA_Bunlde

En Consola nos aparecerán algunas preguntas como ¿Está pensando en compartir este paquete a través de múltiples aplicaciones?, asigna un nombre al bundle, elija el fichero donde se creará el Bundle y que formato desea emplear para la configuración.

En otro post, dejaremos todo bien detallado, solo sigue los hilos del grupo de trabajo GNU Linux de la Universidad Distrital, exitos en la busqueda de nuevos conocimientos…

eva