Professional Documents
Culture Documents
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
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
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
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
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
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.
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.
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.
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.
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.
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.
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.