1 Voto2 Votos3 Votos4 Votos5 Votos (Sin votos)
Loading ... Loading ...

CakePHP en Ubuntu

Ya que estoy por la labor de documentar un poco y hacer mini how-to, paso a comentar los pasos para “instalar” con éxito CakePHP en un sistema Debian/Ubuntu/Similar GNU/Linux asumiendo que tenemos permisos de sudo

Descargando y descomprimiendo

Primero que nada descargamos y descomprimimos el paquete:

munix@pantera:~# wget http://cakeforge.org/frs/download.php/735/cake_1.2.5.zip/donation=complete

Esto nos descarga el archivo en formato zip pero con el nombre “donation=complete”. Vamos a renombrarlo para hacer las cosas bonitas :-)

munix@pantera:~# mv donation\=complete cake.zip

Ahora vamos a descomprimir con el comando unzip. Si no lo tenemos instalado podemos hacer un apt-get install unzip antes.

munix@pantera:~# unzip cake.zip

Tendremos la salida algo como “cake_1.2.5″ (dependiendo de la versión que descarguemos). Borramos el zip.

munix@pantera:~# rm cake.zip -rf

Y ahora copiamos los archivos al DocumentRoot de nuestro dominio, supongamos /var/www/sites/miapp

munix@pantera:~# cp ./cake_1.2.5/* /var/www/sites/miapp/ -rf

Por último borramos el directorio cake_1.2.5

munix@pantera:~# rm cake_1.2.5 -rf

Configurando Apache

Voy a asumir que tenemos instalado Apache 2, perfectamente configurado. Es muy importante para Cake el uso de mod_rewrite, de modo que si no lo tenemos cargado lo podemos hacer de la siguiente manera (ubuntu):

munix@pantera:~# a2enmod rewrite

Si no tenemos el comando a2enmod podemos cargarlo a mano creando el enlace simbólico

munix@pantera:~# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

Ahora debemos comprobar que en el bloque <Directory> correspondiente a nuestro VirtualHost tengamos el AllowOverride en All. Sino luego cuando intentemos usar el mod_rewrite no tendremos éxito alguno. Además en este mismo archivo tendremos que redefinir el DocumentRoot

Para ello podemos hacer

munix@pantera:~# nano /etc/apache2/sites-enabled/tudominio.conf

Lucirá como esto

<VirtualHost _default_:*>
DocumentRoot /var/www/vhcs2/gui
<Directory /var/www/vhcs2/gui>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>

ServerName www.miapp.com

DocumentRoot /var/www/sites/miapp

<Directory /var/www/sites/miapp>

Options Indexes Includes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

Buscas el AllowOverride y lo cambias a All. Además en el DocumentRoot deberemos cambiar la ruta por /var/www/sites/miapp/app/webroot que es donde Cake tiene el .htaccess

Como detalle, si trabajamos en local, podemos cambiar el ServerName por un dominio que quieras, por ejemplo local.miapp.com, luego lo apuntaremos a nuestra IP de loopback

Luego grabas los cambios con Ctrl+X seguido de un y para confirmar.

Si cambiaste el ServerName, te tocará editar el archivo /etc/hosts

munix@pantera:~# nano /etc/hosts

Y añadimos una línea que sea como la siguiente:

127.0.0.1   local.miapp.com

Salimos guardando cambios. Esto nos hará que cuando pongamos en el navegador el dominio local.miapp.com nos apunte a nuestra máquina en vez de intentar resolver el nombre por los DNS de nuestro proveedor de internet.

Ahora recargamos la configuración del Apache del siguiente modo:

munix@pantera:~# /etc/init.d/apache2 force-reload

Otorgando permisos

Por defecto cuando instalamos (por ejemplo en ubuntu) el apache desde el Synaptic lo hacemos con el usuario www-data y el grupo www-data. Ahora nos importa el grupo, puesto que el usuario que uses para editar los archivos de cake lo meteremos al grupo www-data. Supongamos que nuestro usuario es “munix”, entonces hacemos:

munix@pantera:~# usermod -g munix www-data

Ahora sólo nos resta cambiarle el dueño al directorio “miapp” y darle algunos permisos necesarios para las Cache de Cake:

munix@pantera:~# chown munix:www-data /var/www/sites/miapp -R

munix@pantera:~# chmod 777 /var/www/sites/miapp/app/tmp -R


Probando en el navegador

Está claro que no hemos configurado nuestra base de datos, no hemos creado ni un modelo, controlador, vista… nada, pero si vamos al navegador y ponemos la url deberíamos tener algo como esto:

Si todo ha salido bien deberíamos ver la página por default de Cake, con todos sus estilos, colores, etc. Si la vemos sin colores es que estamos teniendo problemas con el rewrite.

Espero que os haya servido :-D

Entradas relacionadas:

  1. Creando un repositorio con Subversion Con este “how to for dummies” hoy vamos a...

Related posts brought to you by Yet Another Related Posts Plugin.

Comentarios (2)

pankrasioDiciembre 6th, 2009 at 4:50 am Reply to this comment

vi el post, me sale la pagina sin colores como dijiste, qué hago mal y como lo mejoro

omar mendozaDiciembre 22nd, 2009 at 6:47 am Reply to this comment

muy bueno, gracias!!!

Déjame un comentario

Intenta ser respetuoso al escribir