Instalación en Symfony2 desde cero con Ubuntu 11.04

  • Autor Autor franclass
  • Fecha de inicio Fecha de inicio
F

franclass

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Instalar Symfony2 desde cero

Symfony2 mejora a su predecesor (1.x) en numerosos aspectos y se convertirá en el framework definitivo para el desarrollo de aplicaciones web en el futuro.
Procederemos a su instalación:

Personalmente, me gusta programar en local (en mi propio ordenador) y una vez haya acabado con el desarrollo o quiera probarlo en un entorno de producción, hacer el deploy a un servidor real. Por ello, primero voy a explicar como configurar un servidor web en nuestro ordenador y después procederemos con la instalación de Symfony2.
La instalación la voy a hacer en un entorno Linux con la distribución Ubuntu 11.04.

1) Primero instalamos Apache

Insertar CODE, HTML o PHP:
# apt-get install apache2 apache2.2-common apache2-utils ssl-cert  apache2-mpm-prefork

2) Instalamos y habilitamos el módulo para utilizar modrewrite
Insertar CODE, HTML o PHP:
# apt-get install libapache2-mod-proxy-html
Para habilitar el modulo en apache, ejecutamos:
Insertar CODE, HTML o PHP:
# a2enmod rewrite
3) Instalamos PHP5
Insertar CODE, HTML o PHP:
# apt-get install php5 libapache2-mod-php5 php5-common php5-intl
4) Instalamos Mysql
Insertar CODE, HTML o PHP:
# apt-get install mysql-server mysql-client php5-mysql
5) Por último instalamos phpmyadmin (opcional)
Insertar CODE, HTML o PHP:
# apt-get install phpmyadmin


Hasta el punto 5 ya tendremos un servidor web instalado en nuestro ordenador.

Ahora continuamos con la instalación de Symfony2. En este ejemplo utilizare mi nombre de usuario “Franclass”. Si no lo hemos cambiado, nuestro workspace (donde se encuentran los proyectos a los que podemos acceder desde Franclass) lo encontraremos en la carpeta FranClassProjects en nuestra carpeta Home.

Procedemos a crear una nueva carpeta con el nombre de nuestro proyecto en el workspace de Franclass:

Insertar CODE, HTML o PHP:
$ mkdir $HOME/FranClassProjects/miproyecto

Entramos en la carpeta que acabamos de crear:
Insertar CODE, HTML o PHP:
$ cd $HOME/FranClassProjects/miproyecto

Descargamos Symfony2 (comprueba la última versión):
Insertar CODE, HTML o PHP:
$ wget http://symfony.com/download?v=Symfony_Standard_Vendors_2.0.0-RC4.tgz

Y descomprimimos:

Insertar CODE, HTML o PHP:
$ tar zxvf Symfony_Standard_Vendors_2.0.0-RC4.tgz

Borramos el archivo comprimido que hemos descargado:

Insertar CODE, HTML o PHP:
$ 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.

Creamos un nuevo archivo donde irá la configuración de nuestra web:

Insertar CODE, HTML o PHP:
# vi /etc/apache2/sites-available/miproyecto

Que contendrá el siguiente contenido (cambia “franclass” por el nombre de tu carpeta Home):



Insertar CODE, HTML o PHP:
<VirtualHost *:80>
   ServerAdmin email@email.com
   DocumentRoot /home/franclass/FranClassProjects/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/franclass/FranClassProjects/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>


Creamos un enlace simbólico de este archivo en sites-enabled para indicar que es una web activa:

Insertar CODE, HTML o PHP:
# ln -s /etc/apache2/sites-available/miproyecto /etc/apache2/sites-enabled/miproyecto

Para que se apliquen los cambios, reiniciamos el servidor Apache:

Insertar CODE, HTML o PHP:
# /etc/init.d/apache2 restart

Por último, forzamos en el archivo /etc/hosts la ip de nuestra web, que en este caso será localhost o 127.0.0.1

Insertar CODE, HTML o PHP:
# vim /etc/hosts

Y añadimos esta línea al final del fichero:

127.0.0.1 miproyecto.com - 229362 is for sale @ DomainMarket.com miproyecto.com

Ya podremos acceder a nuestro nuevo proyecto en Symfony2 desde el navegador escribiendo la url que hemos configurado.

Debemos comprobar si cumplimos con la configuración básica para que funcione nuestro proyecto. Lo haremos desde la siguiente url:

miproyecto.com - 229362 is for sale @ DomainMarket.com




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

Una vez arreglados los problemas, ya podemos acceder a nuestro proyecto web con Symfony2 mediante esta url:

miproyecto.com - 229362 is for sale @ DomainMarket.com




En el proximo tema lo vamos a instalar pero en Windows, algo poco recomendable, pero no deja de ser una opcion.
Cualquier duda comenten.

Franco.
 
¿El futuro de las aplicaciones web?

Todo lo que he visto es como instalar un LAMP, pero a partir de punto 5 no ví lo interesante ni lo que vaya a ser el futuro de las aplicaciones web.
 
es solo la instalacion de Symfony2, "el futuro de las aplicaciones web" solo es un titulo muy personal, de igual modo se me posteo dos veces el tema y estoy viendo como arreglarlo, saludos.