HOWTO: symfony framework en Ubuntu Hardy 8.04
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.
Oraldo wrote:
Primaramente decirles que soy inexperto en este tema y tengo un pequeño problema y me harìa falta su ayuda:
Quiero instalar symfony en mi ubuntu 8.4 pero con pear no me funciona:
Yo tengo un compactado con todo lo necesario de symfony.
1-Instale del repositorio. php5, php5-common,php5-cli,php-mysql
2-Cree un alias con la siguiente informaciòn
alias symfony=’php /home/Symfony1.0.16/symfony-1.0.16/data/bin/symfony.bat’
3-cuando ejecuto en consola symfony init-project Primerproyecto
4- Lo que me aparece en consola es el contenido del fichero symfony.bat
He leido un poco y me he encontrado que en la linea 34 de ese fichero se le asigna el php.exe pero eso seria en window, que estoy haciendo mal , gracias de antemanos.
!!Busco una solucion!!!
Posted on 23-Jun-08 at 6:17 pm | Permalink
Francisco wrote:
Hola Oraldo,
El problema parece ser que estás usando el ejecutable de symfony para Windows en lugar del ejecutable para Linux.
Lo mejor sería que intentaras instalarlo usando pear o mediante el paquete que proporcionan a tal efecto.
¿Por qué no indicas el error que obtienes con PEAR e intentamos buscar una solución?
Otra cosa es que si has copiado symfony directamente en la carpeta /home podrías tener problemas de permisos. Hazlo mejor en tu carpeta e usuario, es decir /home/usuario
Un saludo
Posted on 23-Jun-08 at 8:04 pm | Permalink
Oraldo wrote:
Hola Francisco primero que todo gracias por responderme, el problema es que no puedo añadir el canal de symfony, por x motivos, de que otra forma puedo obtener la informacion del canal,no se podria copiar la informacion del canal, bajarla para mi user y de ahi ejecutar sudo pear install symfony/symfony..si no le es molestia citeme la solucion por pasos..
saludos y gracias de antemano…
Posted on 23-Jun-08 at 11:07 pm | Permalink
Francisco wrote:
Si no puedes usar PEAR intenta usar el paquete .deb que proporcionan los devs de Symfony, por que el archivo comprimido puede no venir bien preparado para tu distribución.
Lo que yo haría sería instalar symfony mediante el repositorio correspondiente. Busca en la documentación la dirección, por que ahora mismo no la tengo a mano.
Eso debería solucionar tus problemas.
Saludos y vuelve por aquí si sigues necesitando ayuda.
Posted on 24-Jun-08 at 1:15 pm | Permalink
Oraldo wrote:
Gracias por la ayuda Francisco ya logre crear mi primer proyecto en symfony ahora solo me queda seguir la guìa difinitiva: aqui te escribo los pasos que segui puesto que tambien puede ser la vìa de soluciòn de otra persona, que tenga mi mismo problema:
1-Conseguì el paquete .deb que proporcionan los devs de Symfony, eso lo pueden encontrar en google solo tiene que poner eso.
2-Lo copiè para mi home y le di los permisos para poder acceder a el.
3-Cree un alias en mi user en el fichero .bashrc dicho fichero se encuentra oculto, y el alias creado tiene que ser asì:
alias symfony=’php /home/Symfony1.0.16/symfony-1.0.16/data/bin/symfony’
la direccion depende donde copien el paquete de symfony y apunta al fichero symfony.bat ojo la direccion no puede terminar en .bat sino muestra el contenido del fichero y no hace lo pertinente.
4-Suponiendo que tengan todo lo correspondiente a php5
como lo piden en demàs guìas abren una consola y ponen lo siguiente:
symfony init-project nombre del proyecto
symfony es el nombre del alias y el significado de lo demàs lo pueden obtener de la guìa definitiva que està muy buena por cierto.
Francisco fue un placer visitar este sitio y espero que mi experiencia le sirva a los demàs, gracias por todo y espero seguir visitandolo…
Posted on 24-Jun-08 at 7:42 pm | Permalink
Juan Javier wrote:
Necesito obtener el paquete .deb de istall de symfony, he seguido tus instrucciones pero no he podido encontrarlo y lo necesito para un trabajo que quiero hacer, si pudieras hacerme el favor de explicarme como puedo conseguir este paquete te estaria agradecido. Saludos
Posted on 08-Jul-08 at 9:31 pm | Permalink
Francisco wrote:
Puedes encontrar el repositorio desde el que descargar el paquete .deb en la misma página de Symfony. Solo tienes que entrar en el apartado Installation.
Saludos
Posted on 08-Jul-08 at 10:54 pm | Permalink