Hola amigos bloggueros hoy les dire como instalar Symfony2 versión 2.2.1, no soy un experoto en el tema a decir verdad es la primera vez que instalo symfony2, la instalación la realizare en un entorno linux, yo personalmente estoy utilizando LinuxMint14.
Lo primero que expliare es como configurar un servidor web en nuestro equipo y despues explicare la instalación de Symfony2, la instalación la hago desde cero para que aquellos que se estan iniciando en el mundo de la programación puedan instalar este espectacular framewirk.
1) Primero instalamos Apache
# apt-get install apache2 apache2.2-common apache2-utils ssl-cert apache2-mpm-prefork
|
2) Instalamos y habilitamos el módulo para utilizar modrewrite
# apt-get install libapache2-mod-proxy-html
|
Para habilitar el modulo en apache, ejecutamos:
3) Instalamos PHP5
# apt-get install php5 libapache2-mod-php5 php5-common php5-intl
|
4) Instalamos Mysql
# apt-get install mysql-server mysql-client php5-mysql
|
5) Por último instalamos phpmyadmi
# apt-get install phpmyadmin
|
Con estos sencillos pasos ya tendremos un servidor web instalado en nuestro equipo.
Ahora continuamos con la instalación de Symfony2.
Mi IDE favorito para programar es Netbeans,
por lo que es el que utilizaré en este ejemplo. Si no lo hemos
cambiado, nuestro workspace (donde se encuentran los proyectos a los que
podemos acceder desde Netbeans) lo encontraremos en la carpeta
NetBeansProjects en nuestra carpeta Home.
1) Procedemos a crear una nueva carpeta con el nombre de nuestro proyecto en el workspace de Netbeans:
$ mkdir /home/NetBeansProjects/miproyecto
|
2)Entramos en la carpeta que acabamos de crear:
$ cd /home/NetBeansProjects/miproyecto
|
3)Descargamos Symfony2 (comprueba la última versión en http://symfony.com/download):
Y descomprimimos:
$ tar zxvf Symfony_Standard_Vendors_2.0.0-RC4.tgz
|
4)Borramos el archivo comprimido que hemos descargado:
$ rm Symfony_Standard_Vendors_2.0.0-RC4.tgz
|
Ya tenemos instalado un proyecto básico en Symfony2. Ahora vamos a configurar Apache para poder acceder desde nuestro navegador favorito.
1) Creamos un nuevo archivo donde irá la configuración de nuestra web:
# vi /etc/apache2/sites-available/miproyecto
|
Que contendrá el siguiente contenido (cambia “jhongo” por el nombre de tu carpeta Home):
<VirtualHost *:80>
ServerAdmin email@email.com
DocumentRoot /home/jhongo/NetBeansProjects/miproyecto/Symfony/web
ServerName miproyecto.com
ServerAlias *.miproyecto.com
ErrorLog /var/log/apache2/miproyecto_error.log
CustomLog /var/log/apache2/miproyecto_access.log common
DirectoryIndex index.php
<Directory "/home/jhongo/NetBeansProjects/miproyecto/Symfony/web">
Options Indexes FollowSymLinks
Order Allow,Deny
Allow from all
AllowOverride all
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir none
</ifModule>
</Directory>
</VirtualHost>
|
2) Creamos un enlace simbólico de este archivo en sites-enabled para indicar que es una web activa:
# ln -s /etc/apache2/sites-available/miproyecto /etc/apache2/sites-enabled/miproyecto
|
3) Para que se apliquen los cambios, reiniciamos el servidor Apache:
# /etc/init.d/apache2 restart
|
4) Por último, forzamos en el archivo /etc/hosts la ip de nuestra web, que en este caso será localhost o 127.0.0.1
5) añadimos esta línea al final del fichero:
127.0.0.1 www.miproyecto.com miproyecto.com
|
Después de todo esto,
ya podremos acceder a nuestro nuevo proyecto en Symfony2 desde el navegador escribiendo la url que hemos configurado (www.miproyecto.com ó miproyecto.com).
Como primer paso, debemos comprobar si cumplimos con la configuración
básica para que funcione nuestro proyecto. Lo haremos desde la
siguiente url:
http://miproyecto.com/config.php
Como vemos, nos encontramos con dos problemas (podríamos tener más,
deberemos resolverlos según sea necesario). En este caso el error es que
las carpetas
app/cache y
app/logs no tienen los permisos necesarios.
Lo arreglaremos así:
chmod 777 /home/NetBeansProjects/miproyecto/Symfony/app/cache
chmod 777 /home/NetBeansProjects/miproyecto/Symfony/app/logs
|
En ocaciones nos genera problemas la intalación con el
composer, así que explicare la corrección de este error, empesemos:
- Abre una consola de comandos y accede al directorio raíz de tu proyecto Symfony2:
- Ejecuta el siguiente comando:
$ curl -s https://getcomposer.org/installer | php
3. Instalamos librerias de terceros
$ php composer.phar install
Si todo ha funcionado bien, en el directorio raíz de tu proyecto Symfony2 verás
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 instalación 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 versión de Composer.
Para instalar Composer globalmente, mueve el archivo
composer.phar
a algún
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 instalación global de Composer también
facilita su mantenimiento, ya que sólo hay que ejecutar el siguiente comando para
actualizar la versión de Composer de todos los proyectos:
$ sudo composer self-update
Una vez arreglados los problemas, ya podemos acceder a nuestro proyecto web con Symfony2 mediante esta url:
http://miproyecto.com/app_dev.php/
1. No use NetBeans :S
ResponderEliminar2. No es necesario usar mysql, puede ser cualquier otro motor de base de datos
3. No descarguen Symfony con standard vendors, es mejor descargarlo sin vendors y realizar un php composer.phar install
Happy Coding !!
man es mi primera vez con symfony, no me pidas mucho jejejeje igual gracias por la ayuda y por el comentario ;)
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarCodelobster funciona mejor para mis proyectos Symfony
ResponderEliminar