Edito (15 de junio de 2008 - 11:52 ): He añadido un par de modificaciones que hay que hacer a la configuración de apache.
Edito (16 de junio de 2008 - 12:10): Otra corrección necesaria en la configuración de apache.
Symfony es un framework para desarrollar aplicaciones web basándonos en el patrón MVC. Me estoy peleando a fondo con él por que lo estoy usando para mi proyecto fin de carrera y me viene genial por que me evita pelearme con muchas cosas a la hora de desarrollar la parte de mi proyecto que es una aplicación web.
La instalación es bastante cómoda y se puede realizar a través de PEAR o mediante un paquete .deb. Yo he elegido la opción de PEAR por que me ha parecido más cómoda y así evito tener que añadir otro repositorio a Ubuntu. El proceso es muy simple:
-
Instalamos Apache. Yo tengo la mala costumbre de usar para ello un método bastante “cutre” que consiste en instalar phpmyadmin, ya que así se resuelven todas las dependencias necesarias para Apache y PHP
-
-
sudo aptitude install phpmyadmin
-
-
-
Instalamos pear:
-
-
sudo aptitude install php-pear
-
-
-
Añadimos el canal de Symfony:
-
-
sudo pear channel-discover pear.symfony-project.com
-
-
-
Instalamos Symfony mediante PEAR:
-
-
sudo pear install symfony/symfony
-
-
Por último solo nos resta configurar Apache. Para mi proyecto he configurado un host virtual con un log separado, así podré testear y depurar cómodamente. Configurarlo en Ubuntu es muy sencillo, solo es necesario añadir una entrada a /etc/hosts y crear el archivo de configuracion del host virtual. Veamos como hacerlo por pasos.
-
Añadimos la entrada con el dominio que queramos a
/etc/hosts. Yo he elegidodominio.compara el ejemplo, pero se puede elegir otro-
-
echo "127.0.0.1 dominio.com" >> /etc/hosts
-
-
-
Ahora creamos una entrada en
/etc/apache2/sites-available/dominio.comcon el siguiente contenido-
-
NameVirtualHost *
-
<virtualHost *>
-
ServerName dominio.com
-
ServerAdmin webmaster@dominio.com
-
-
DocumentRoot /var/www/src/web
-
DirectoryIndex index.php
-
-
## Cambiamos esta ruta por la que nos convenga
-
ErrorLog /ruta/al/fichero/de/log/archivo.log
-
-
# Possible values include: debug, info, notice, warn, error, crit,
-
# alert, emerg.
-
## Podemos cambiar también el nivel de log por el que más nos convenga
-
LogLevel warn
-
-
CustomLog /ruta/al/fichero/de/log/archivo.log combined
-
ServerSignature On
-
-
#Configuracion de symfony
-
-
Alias /sf /usr/share/php/data/symfony/web/sf
-
-
<directory "/usr/share/php/data/symfony/web/sf">
-
AllowOverride All
-
Allow from All
-
</directory>
-
-
-
<directory "/var/www/src/web">
-
AllowOverride All
-
Allow from All
-
</directory>
-
-
</virtualHost>
-
-
-
Por último activamos el host virtual, mod_rewrite y reiniciamos apache
-
-
sudo a2ensite dominio.com
-
sudo a2enmod rewrite
-
sudo /etc/init.d/apache2/reload
-
-
Solo falta editar el archivo /etc/php5/apache2/php.ini y cambiar la linea magic_quotes_gpc = On por magic_quotes_gpc = On
Algunas aclaraciones. En mi caso el código fuente de la aplicación va en una carpeta de mi directorio de usuario y la carpeta /var/www/src es un enlace simbólico a esa carpeta. Este directorio también queda a vuestra elección, pero hay que tener en cuenta que suele ser necesario hacer cambios en el directorio con el código, por lo que es conveniente tener acceso de escritura y también que hay que hacer los cambios pertinentes en el fichero del host virtual de Apache.
Para comenzar a desarrollar podemos acudir a la página de Symfony y seguir su increíble “tutorial” escrito en forma de libro o en librosweb si preferís el libro en español.