http://localhost/~usuario
Los pasos son los siguientes:
1- Descargar CakePHP desde su página principal http://cakephp.org/ :
wget http://github.com/cakephp/cakephp1x/tarball/1.2.6
2- Descomprimimos el archivo en el directorio public_html del usuario (ej dieguz2), de modo que al hacer un ls quede así:
/home/dieguz2/public_html/appTras este paso deberiamos poder conectar al servidor y ver la página de CakePHP, nos saldrán varios errores, que corregiremos a continuación:
/home/dieguz2/public_html/cake
/home/dieguz2/public_html/plugins
/home/dieguz2/public_html/vendors
/home/dieguz2/public_html/index.php
/home/dieguz2/public_html/README
http://localhost/~dieguz2/index.phpSi no tenemos activado el MOD_REWRITE de apache veremos la página (sin estilos ni imágenes), con una serie de errores,en todos los casos HAY que activar el rewrite. Si lo tenemos activado tenemos que hacer los cambios explicados en el siguiente paso.
Para activar el módulo rewrite, podemos hacerlo a través de yast (servidor http /Módulos del servidor / rewrite / habilitar ) o a través de la linea de comando:
a2enmod rewrite
sudo /etc/init.d/apache2 force-reload
3- Si tenemos activado el MOD_REWRITE en apache, nos saldrá el mensaje "Objeto no encontrado", tenemos que hacer cambios en dos archivos .htaccess añadiendo la directiva RewriteBase de modo que queden así:
/home/dieguz2/public_html/.htaccess
RewriteEngine on
RewriteRule (.*) app/webroot/$1 [L]
RewriteBase /~dieguz2/
/home/dieguz2/public_html/app/webroot/.htaccessSi tenemos algun problema adicional (como que no hace caso de los .htaccess tendremos que activar el AllowOverride en apache.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteBase /~dieguz2/
4- Cambiamos los permisos del directorio tmp para evitar que nos de errores de escritura ( CAKE Warning (512) app/tmp/cache/ is not writable [CORE/cake/libs/cache/file.php, line 263])
chmod 777 -R /home/dieguz2/public_html/app/tmp
5- Editamos el archivo:
vi /home/dieguz2/public_html/app/config/core.phpBuscamos la cadena "Security.salt" cambiamos la cadena por defecto por otros numeros y letras aleatorios. por ejemplo, podría quedar asi
Configure::write('Security.salt', 'imaqm1897dfnAsk1938ajmKnau812na2A2kajsai');
Hacemos lo mismo con la "cipherSeed", pero en este caso usamos sólo números aleatorios
Configure::write('Security.cipherSeed', '16359506657458542996042684645');
Con estos cambios evitaremos los siguientes errores:
Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 674]
Notice (1024): Please change the value of 'Security.cipherSeed' in app/config/core.php to a numeric (digits only) seed value specific to your application [CORE/cake/libs/debugger.php, line 678]
6- Si no tenemos definida una zona horaria en php, podemos tener un mensaje de error como este:
[http://php.net/function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting
Para corregirlo editamos como root el archivo php.ini (/etc/php5/apache2/php.ini) fijando la variable a la zona horaria que queramos (listado de zonas horarias en php):
date.timezone = Europe/Madrid7- Finalmente pasamos a editar el archivo de configuración de la base de datos. En CakePhp nos envía un archivo de ejemplo para mysql, lo copiaremos y editaremos con los valores que necesitemos (usuario,contraseña...) para conectar con nuestra base de datos (que debe estar ejecutándose):
cp /home/dieguz2/public_html/app/config/database.php.default /home/dieguz2/public_html/app/config/database.php
vi /home/dieguz2/public_html/app/config/database.php
El resultado final ( en la imagen no he configurado la BD) debe ser algo similar a esto:

2 comentarios:
Muchas gracias por la data. He estado lidiando un largo rato con el asunto de los rewrites y el directorio de usuario pero con tu artículo pude solucionarlo.
Muchas Gracias!
buenisimo muchas gracias! estaba buscando como sabar esas advertencias, aunque no se si les paso a todos, pero las lineas que indica en el core.php a modificar, por ejemplo, no cohinicden con el lugar en el que estan verdaderamente situadas.. beuno en fin anduvo.
Publicar un comentario