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 *: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
Entradas relacionadas:
- 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.

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