You are on page 1of 13

Gua de instalacin de Git

Git es la herramienta ms popular en todo el mundo para gestionar el cdigo fuente de las aplicaciones. El proyecto Symfony utiliza Git (y GitHub) para gestionar todo su cdigo. Adems, es obligatorio que tengas Git instalado en tu ordenador tanto si utilizas Symfony 2.0 como si utilizas Symfony 2.1.

Instalacin
Instalacin en Windows 1. Abre cualquier navegador y accede a la siguiente direccin: http://msysgit.github.com 2. Entra en la seccin Downloads y descarga la versin ms reciente que exista. 3. Instala el archivo .exe descargado como cualquier otra aplicacin de Windows. Instalacin en Linux 1. Ejecuta el siguiente comando:
2. 3. 4. 5. 6. # en distribuciones Fedora, RedHat y CentOS $ yum install git-core # en distribuciones Debian y Ubuntu $ apt-get install git-core

Gua de instalacin de Composer


Composer es una herramienta imprescindible para programar aplicaciones Symfony 2.1. Pronto ser tambin imprescindible para muchas otras aplicaciones y frameworks PHP, ya que muchos programadores lo consideran la versin actualizada y mejorada de PEAR. Para qu sirve Composer? Los proyectos PHP grandes, como por ejemplo las aplicaciones Symfony2, dependen a su vez de muchos otros proyectos. Cuando envas por ejemplo un email, Symfony2 utiliza una librera externa llamada SwiftMailer. As que para que tu aplicacin funcione bien, Symfony2 necesita que todas esas libreras externas (llamadas dependencias) se instalen correctamente. De la misma forma, si quieres actualizar Symfony2 a una nueva versin, es necesario comprobar todas y cada una de sus dependencias, por si tambin han sido actualizadas. Adems, para cada una hay que comprobar si la nueva versin es compatible con las nuevas versiones del resto de dependencias. Composer es la solucin a todos estos problemas. Composer comprueba la lista de dependencias de cada proyecto y decide qu libreras hay que instalar, qu versiones concretas se instalan y el orden correcto de instalacin.

Instalacin en Windows
1. Abre cualquier navegador y accede a la siguiente direccin https://getcomposer.org/installer 2. Guarda el contenido de esa pgina en el directorio raz de tu proyecto Symfony2. Asegrate de guardar el archivo con el nombre instalador.php 3. Abre la consola de comandos de Windows y entra en el directorio raz de tu proyecto Symfony2. Para simplificar la explicacin, en adelante se supone que tu proyecto Symfony2 se encuentraen el directorio D:\Proyectos\Symfony2:
4. C:\> cd D:\Proyectos\Symfony2

5. Ejecuta el siguiente comando para instalar Composer:


6. D:\Proyectos\Symfony2> php instalador.php

Si no te funciona el comando anterior, seguramente la razn es que no puedes ejecutar programas de PHP directamente desde la consola. Consulta la gua de instalacin de PHP, MySQL y Apache para saber cmo solucionarlo. Si todo ha funcionado bien, en el directorio raz de tu proyecto Symfony2 vers un nuevo archivo llamado composer.phar. Para comprobar que se ha instalado correctamente, ejecuta el siguiente comando que muestra el men de opciones de Composer:
D:\Proyectos\Symfony2> php composer.phar

Ahora ya puedes borrar el archivo instalador.php.

Instalar Composer de esta manera es correcto, pero te obliga a realizar una nueva instalacin para cada proyecto Symfony2. Si tienes muchos proyectos, es mucho mejor que instales Composer de forma global en tu ordenador, para que todos los proyectos utilicen la misma versin de Composer. Para instalar Composer globalmente, instlalo primero en el directorio de algn proyecto Symfony2. Despus, mueve el archivo composer.phar a alguno de los directorios ejecutables de Windows. Por defecto, en Windows7 estos directorios son:
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;

Seguramente en tu ordenador la lista de directorios ser ms grande e incluir los directorios de varios programas. Idealmente vers el directorio de tu instalacin de PHP (o de LAMP, XAMPP, etc.). En ese caso, lo mejor es que coloques el archivo composer.phar en el mismo directorio donde se encuentran todos los ejecutables de PHP (php, pear, pecl, etc.) Para ver la lista de directorios ejecutables de Windows, ejecuta el siguiente comando sin opciones:
D:\Proyectos\Symfony2> set

En la lista de opciones que se muestra, busca aquella que se llame PATH. Para concluir la instalacin global de Composer, tienes que crear un archivo llamado composer.bat en el mismo directorio donde has movido el archivo composer.phar. El contenido de ese archivo debe ser el siguiente:
@ECHO OFF php "%~dp0composer.phar" %*

Si ahora abres una nueva consola de comandos, ya podrs utilizar Composer ejecutando simplemente el comando composer. Aunque te parezca que esta forma de instalar Composer es complicada y cuesta demasiado tiempo, ten en cuenta que slo debes crear el archivo composer.bat una vez y a cambio obtienes las siguientes ventajas:

No tienes que instalar Composer para cada nuevo proyecto. Puedes actualizar la versin de Composer de todos los proyectos ejecutando simplemente el siguiente comando:
C:\> composer self-update

Instalacin en Linux y Mac OS X


1. Abre una consola de comandos y accede al directorio raz de tu proyecto Symfony2: 2. Ejecuta el siguiente comando:
3. $ curl -s https://getcomposer.org/installer | php

Si todo ha funcionado bien, en el directorio raz de tu proyecto Symfony2 vers un nuevo archivo llamado composer.phar. Para comprobar que se ha instalado correctamente, ejecuta el siguiente comando que muestra el men de opciones de Composer:
$ php composer.phar

Instalar Composer de esta manera es correcto, pero te obliga a realizar una nueva instalacin para cada proyecto Symfony2. Si tienes muchos proyectos, es mucho mejor que instales Composer de forma global en tu ordenador, para que todos los proyectos utilicen la misma versin de Composer. Para instalar Composer globalmente, mueve el archivo composer.phar a algn directorio ejecutable del sistema, como por ejemplo:
$ sudo mv composer.phar /usr/local/bin/composer

Comprueba que todo funciona bien ejecutando el comando composer sin opciones desde cualquier directorio del sistema. La instalacin global de Composer tambin facilita su mantenimiento, ya que slo hay que ejecutar el siguiente comando para actualizar la versin de Composer de todos los proyectos:
$ sudo composer self-update

Gua de instalacin de Symfony 2.0


La instalacin de Symfony 2.0 se puede realizar de dos maneras: la primera se llama "con vendors" y la segunda se llama "sin vendors". Este artculo slo explica la instalacin "sin vendors" porque es la que recomiendan los propios creadores de Symfony. Consulta el libro de Symfony2 o la documentacin oficial de Symfony para conocer los detalles de cada forma de instalar.

Instalacin en Windows
1. Abre cualquier navegador y accede a la siguiente direccin http://symfony.com/download 2. En la lista desplegable, selecciona la versin llamada Symfony Standard 2.0.XX without vendors (.zip) y pulsa el botn Download 3. Descomprime el archivo Symfony_Standard_2.0.XX.zip descargado. 4. Si quieres, cambia el nombre Symfony2 del directorio descomprimido y utiliza en su lugar el nombre de tu proyecto. 5. Abre la consola de comandos de Windows y entra en el directorio anterior. Si has descargado por ejemplo el archivo en el directorio D:\Proyectos y no le has cambiado de nombre al directorio descomprimido, debes ejecutar lo siguiente:
6. C:\> cd D:\Proyectos\Symfony2

7. Ejecuta el siguiente comando para comprobar que tu ordenador est preparado para ejecutar Symfony2:
8. D:\Proyectos\Symfony2\> php app/check.php

Comprueba que tu ordenador cumple todos los requisitos obligatorios (Mandatory requirements). Si tienes tiempo, asegrate tambin de cumplir todos los requisitos opcionales (Optional checks). Si no te funciona el comando anterior, seguramente la razn es que no puedes ejecutar programas de PHP directamente desde la consola. Consulta la gua de instalacin de PHP, MySQL y Apache para saber cmo solucionarlo. 9. Para completar la instalacin de Symfony2, ejecuta el siguiente comando que descarga todas las libreras que utiliza Symfony2 para su funcionamiento (la primera vez que se ejecuta este comando tarda mucho tiempo):
10. D:\Proyectos\Symfony2\> php bin/vendors install

Si no te funciona el comando anterior, seguramente es porque todava no tienes instalado Git en tu ordenador. Consulta la gua de instalacin de Git para saber cmo instalar y configurar esta herramienta imprescindible para Symfony2. Si todo ha funcionado bien, Symfony2 ya est instalado correctamente. Para comprobarlo ejecuta el siguiente comando de consola directamente en la raz del directorio descomprimido anteriormente:
D:\Proyectos\Symfony2\> php app/console

La consola debera mostrar una lista muy larga con todos los comandos disponibles en las aplicaciones Symfony2. El ltimo paso consiste en probar Symfony2 directamente desde el navegador. Para ello, primero haz que el servidor web Apache pueda acceder al directorio D:\Proyectos\Symfony2\ donde se encuentra instalado Symfony2. Si eres un usuario avanzado, configura un VirtualHost en tu Apache. Si no, mueve el directorio anterior a la carpeta htdocs de tu servidor Apache. Despus, accede a la siguiente direccin local para inicial el configurador web de Symfony2:
http://localhost/Symfony2/web/config.php

Si en vez de la pgina de bienvenida de Symfony2, ves un mensaje de error, seguramente se trata de un problema de seguridad relacionado con los permisos. Para solucionarlo, consulta el artculo Cmo solucionar el problema de los permisos de Symfony2.

Instalacin en Linux y Mac OS X


1. Abre cualquier navegador y accede a la siguiente direccin http://symfony.com/download 2. En la lista desplegable, selecciona la versin llamada Symfony Standard 2.0.XX without vendors (.zip) (tambin puedes utilizar la versin comprimida con .tgz) y pulsa el botn Download 3. Descomprime el archivo Symfony_Standard_2.0.XX.zip descargado. 4. Si quieres, cambia el nombre Symfony2 del directorio descomprimido y utiliza en su lugar el nombre de tu proyecto. 5. Abre la consola de comandos y entra en el directorio anterior:
6. $ cd /ruta/hasta/Symfony2

7. Ejecuta el siguiente comando para comprobar que tu ordenador est preparado para ejecutar Symfony2:
8. $ php app/check.php

Comprueba que tu ordenador cumple todos los requisitos obligatorios (Mandatory requirements). Si tienes tiempo, asegrate tambin de cumplir todos los requisitos opcionales (Optional checks). 9. Para completar la instalacin de Symfony2, ejecuta el siguiente comando que descarga todas las libreras que utiliza Symfony2 para su funcionamiento (la primera vez que se ejecuta este comando tarda mucho tiempo):
10. $ php bin/vendors install

Si no te funciona el comando anterior, seguramente es porque todava no tienes instalado Git en tu ordenador. Consulta la gua de instalacin de Git para saber cmo instalar y configurar esta herramienta imprescindible para Symfony2. Si todo ha funcionado bien, Symfony2 ya est instalado correctamente. Para comprobarlo ejecuta el siguiente comando de consola directamente en la raz del directorio descomprimido anteriormente:

$ php app/console

La consola debera mostrar una lista muy larga con todos los comandos disponibles en las aplicaciones Symfony2. El ltimo paso consiste en probar Symfony2 directamente desde el navegador. Para ello, primero haz que el servidor web Apache pueda acceder al directorio donde se encuentra instalado Symfony2, por ejemplo configurando un VirtualHost. Despus, accede a la siguiente direccin local para inicial el configurador web de Symfony2:
http://localhost/Symfony2/web/config.php

Si en vez de la pgina de bienvenida de Symfony2, ves un mensaje de error, seguramente se trata de un problema de seguridad relacionado con los permisos. Para solucionarlo, consulta el artculo Cmo solucionar el problema de los permisos de Symfony2.

Gua de instalacin de Symfony 2.1


Instalacin en Windows
1. Asegrate de disponer de Composer instalado globalmente en tu ordenador. Si no lo tienes, consulta la gua de instalacin de Composer. 2. Abre la consola de comandos de Windows y ejecuta el siguiente comando (la primera vez que se ejecuta puede tardar varios minutos):
3. C:\> php composer.phar create-project symfony/framework-standardedition <directorio> 2.1.x-dev

En el comanado anterior, cambia el valor <directorio> por la ruta del directorio donde quieres instalar Symfony 2.1 (no tienes que crear ese directorio, porque ya lo hace el comando). As que para instalar por ejemplo Symfony 2.1 en D:\Proyectos\Symfony2\, ejecuta lo siguiente:
C:\> php composer.phar create-project symfony/framework-standard-edition D:\Proyectos\Symfony2 2.1.x-dev

Este comando instala la versin de Symfony 2.1 ms reciente que exista en ese momento. Si quieres instalar una versin concreta, modifica 2.1.x-dev por el nombre de la versin deseada:
C:\> php composer.phar create-project symfony/framework-standard-edition D:\Proyectos\Symfony2 2.1.1

Si no te funciona ninguno de los comandos anteriores, seguramente la razn es que no puedes ejecutar programas de PHP directamente desde la consola. Consulta la gua de instalacin de PHP, MySQL y Apache para saber cmo solucionarlo. El otro motivo por el que puede no funcionar el comando es que todava no tienes instalado Git en tu ordenador. Consulta la gua de instalacin de Git para saber cmo instalar y configurar esta herramienta imprescindible para Symfony2. Una vez instalado Symfony 2.1, entra en su directorio y ejecuta el siguiente comando para comprobar que tu ordenador est preparado para ejecutar Symfony2:
C:\> cd D:\Proyectos\Symfony2 D:\Proyectos\Symfony2\> php app/check.php

Comprueba que tu ordenador cumple todos los requisitos obligatorios (Mandatory requirements). Si tienes tiempo, asegrate tambin de cumplir todos los requisitos opcionales (Optional checks). Si todo ha funcionado bien, Symfony 2.1 ya est instalado correctamente. Para comprobarlo ejecuta el siguiente comando de consola directamente en la raz del directorio donde has instalado Symfony 2.1:
D:\Proyectos\Symfony2\> php app/console

La consola debera mostrar una lista muy larga con todos los comandos disponibles en las aplicaciones Symfony2. El ltimo paso consiste en probar Symfony2 directamente desde el navegador. Para ello, primero haz que el servidor web Apache pueda acceder al directorio D:\Proyectos\Symfony2\ donde se encuentra instalado Symfony2. Si eres un usuario avanzado, configura un VirtualHost en tu Apache. Si no, mueve el directorio anterior a la carpeta htdocs de tu servidor Apache. Despus, accede a la siguiente direccin local para inicial el configurador web de Symfony2:
http://localhost/Symfony2/web/config.php

Si en vez de la pgina de bienvenida de Symfony2, ves un mensaje de error, seguramente se trata de un problema de seguridad relacionado con los permisos. Para solucionarlo, consulta el artculo Cmo solucionar el problema de los permisos de Symfony2.

Instalacin en Linux y Mac OS X


1. Asegrate de disponer de Composer instalado globalmente en tu ordenador. Si no lo tienes, consulta la gua de instalacin de Composer. 2. Abre la consola y ejecuta el siguiente comando (la primera vez que se ejecuta puede tardar varios minutos):
3. $ composer create-project symfony/framework-standard-edition <directorio> 2.1.x-dev

En el comanado anterior, cambia el valor <directorio> por la ruta del directorio donde quieres instalar Symfony 2.1 (no tienes que crear ese directorio, porque ya lo hace el comando). As que para instalar por ejemplo Symfony 2.1 en /Proyectos/Symfony2, ejecuta lo siguiente:
$ composer create-project symfony/framework-standard-edition /Proyectos/Symfony2 2.1.x-dev

Este comando instala la versin de Symfony 2.1 ms reciente que exista en ese momento. Si quieres instalar una versin concreta, modifica 2.1.x-dev por el nombre de la versin deseada:
$ composer create-project symfony/framework-standard-edition /Proyectos/Symfony2 2.1.1

Si no te funciona ninguno de los comandos anteriores, seguramente la razn es que todava no tienes instalado Git en tu ordenador. Consulta la gua de instalacin de Git para saber cmo instalar y configurar esta herramienta imprescindible para Symfony2. Una vez instalado Symfony 2.1, ejecuta el siguiente comando para comprobar que tu ordenador est preparado para ejecutar Symfony2:
$ cd /Proyectos/Symfony2 $ php app/check.php

Comprueba que tu ordenador cumple todos los requisitos obligatorios (Mandatory requirements). Si tienes tiempo, asegrate tambin de cumplir todos los requisitos opcionales (Optional checks). Si todo ha funcionado bien, Symfony 2.1 ya est instalado correctamente. Para comprobarlo ejecuta el siguiente comando de consola directamente en la raz del directorio donde has instalado Symfony 2.1:
$ php app/console

La consola debera mostrar una lista muy larga con todos los comandos disponibles en las aplicaciones Symfony2. El ltimo paso consiste en probar Symfony2 directamente desde el navegador. Para ello, primero haz que el servidor web Apache pueda acceder al directorio donde se encuentra instalado Symfony2, por ejemplo configurando un VirtualHost. Despus, accede a la siguiente direccin local para inicial el configurador web de Symfony2:
http://localhost/Symfony2/web/config.php

Si en vez de la pgina de bienvenida de Symfony2, ves un mensaje de error, seguramente se trata de un problema de seguridad relacionado con los permisos. Para solucionarlo, consulta el artculo Cmo solucionar el problema de los permisos de Symfony2.

Cmo solucionar el problema de los permisos de Symfony2


Cuando empiezas a desarrollar una aplicacin Symfony2 e incluso cuando quieres probar Symfony2 justo despus de haberlo instalado, es comn encontrarse con el siguiente mensaje de error relacionado con la cache:
Whoops, looks like something went wrong. RuntimeException: Could not create cache directory ".../app/cache/dev/annotations" ...

Tambin es comn este otro error relacionado con los archivos de log:
Whoops, looks like something went wrong. UnexpectedValueException: The stream or file ".../app/logs/dev.log" could not be opened: failed to open stream: Permission denied

En ambos casos el problema est relacionado con los permisos de los directorios app/cache/ y app/logs/ de Symfony2.

Por qu se produce este problema?


Symfony2 solamente escribe en dos directorios de la aplicacin: app/cache/ y app/logs/. Todos los dems directorios son de slo lectura para Symfony2. El problema es que no siempre escribe el mismo usuario en esos dos directorios. Cuando ejecutas un comando en la consola (por ejemplo php app/console cache:clear para borrar la cache) Symfony2 se ejecuta con tu usuario de la consola. Cuando accedes a una pgina de tu aplicacin con el navegador (por ejemplo http://localhost/Symfony2/app_dev.php) Symfony2 se ejecuta con el usuario del servidor web. Como estos dos usuarios normalmente son diferentes, se produce un problema cuando "el Symfony2 de la consola" quiere tocar cosas que ha hecho "el Symfony2 del navegador". Sigue leyendo para saber cmo solucionar este problema.

Cmo solucionar este problema en Windows


1. Accede al directorio donde tienes instalado Symfony2 (por ejemplo D:\Proyectos\Symfony2). 2. Entra en el directorio app/ 3. Borra todo el contenido que exista dentro de los directorios cache/ y logs/ (pero no borres esos directorios). 4. Cambia los permisos del directorio cache/: o Pincha el botn derecho del ratn sobre la carpeta y selecciona la opcin Propiedades.

Pincha en la pestaa Seguridad y en la caja superior selecciona la opcin que representa a Todos los usuarios. o En la caja inferior, otorga el permiso Control total a todos los usuarios. o Guarda los cambios pulsando el botn Aceptar hasta cerrar esa ventana. 5. Repite para la carpeta logs/ los mismos pasos explicados en el punto 4 anterior. Si despus de hacer lo anterior Symfony2 sigue mostrando el mismo error, baja hasta la seccin "Si todo lo dems falla" de este mismo artculo.

Cmo solucionar este problema en Linux


1. Accede con la consola al directorio de tu proyecto Symfony2 (por ejemplo /Proyectos/Symfony2/). 2. Borra todo el contenido que exista dentro de los directorios app/cache/ y app/logs/:
3. 4. $ rm -fr app/cache/* $ rm -fr app/logs/*

5. Averigua cul es el usuario con el que se ejecuta tu servidor web. Si utilizas Apache, busca el valor de la directiva User en el archivo de configuracin httpd.conf o si lo prefieres, ejecuta el siguiente comando: ps -auxf | grep httpd 6. Ejecuta el siguiente comando para cambiar los permisos que tiene el servidor web sobre los dos directorios de escritura de Symfony2. Antes de ejecutar el comando, cambia wwwdata por el nombre del usuario con el que se ejecuta tu servidor web:
7. $ sudo chmod +a "www-data allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs

Si no te funciona el comando anterior, sltate el siguiente punto y sigue leyendo. 8. Ejecuta el siguiente comando para cambiar tambin los permisos que sobre los mismos directorios tiene el usuario con el que se ejecutan los comandos de consola de Symfony:
9. $ sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs

Si en tu sistema el comando chmod no soporta la opcin +a, prueba con los siguientes comandos alternativos (cambiando de nuevo www-data por el nombre del usuario con el que se ejecuta tu servidor web):
$ sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs $ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs

Si tu sistema tampoco soporta el comando setfacl, baja hasta la seccin "Si todo lo dems falla" de este mismo artculo.

You might also like