CakePHP: usando phpfog

Muchos ya habrán usado heroku, un servicio de hosting un tanto particular, orientado a rails, con implementación desde Git, algo similar es phpfog pero orientado a PHP, y como las cosas deberían ser como sexo… si es gratis es mejor, phpfog tiene un plan gratuito con las siguientes características:

  • Espacio en disco 100MB.
  • Base de datos MySQL.
  • Tiempo ilimitado.
  • Capacidad de mantener 3 aplicaciones simultaneas.

Características suficientes para poder probar y jugar un rato, lo importante es el tipo de las aplicaciones, que pueden ser:

  • CMS: Drupal, WordPress, Joomla y muchos otros.
  • Framework: CakePHP, Zend Framework y CodeIgnitir entre algunos.
  • Y por supuesto aplicaciones donde se use puro código PHP.

La mayoría con versiones recientes con una fácil instalación y configuración.

El sitio de phpfog es http://phpfog.com

CakePHP: problemas con public_html

Si se trabaja con public_html en Apache, es decir se cuenta con /home/usuario/public_html activado para funcionar de servidor en http://localhost/~usuario y si se presentan los siguiente «sintomas»:

  • mod_userdir habilitado y configurado.
  • mod_rewrite habilitado y configurado.
  • La aplicación CakePHP no se muestra, o se muestra de manera incorrecta.

Una solución sería «indicar» a cakephp que funcione sin mod_rewrite siguiendo el siguiente enlace: https://iloo.wordpress.com/2009/07/30/cakephp-trabajar-sin-mod_rewrite/

La otra es configurar los archivos .htaccess de la aplicación, configurar los siguiente archivos:

  • /home/usuario/public_html/cakephp/.htaccess
  • /home/usuario/public_html/cakephp/app/webroot/.htaccess

Dejándolos de esta manera:

/home/usuario/public_html/cakephp/.htaccess

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteBase /~usuario/cakephp/
 RewriteRule ^$ app/webroot/ [L]
 RewriteRule (.*) app/webroot/$1 [L]
 </IfModule>

/home/usuario/public_html/cakephp/app/webroot/.htaccess

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /~usuario/cakephp/
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
 </IfModule>

Cabe hacer notar que solamente se indico en ambos archivos el directorio donde el módulo rewrite debe actuar:

RewriteBase /~usuario/cakephp/

Fastfoo: CMS basado en CakePHP

Mediante los grupos de google acabo de enterarme del lanzamiento de Fastfoo, un CMS basado en el framework CakePHP, aunque recién se encuentra en fase alfa, vale la pena probarlo y aportar con sugerencias o bug’s que se puedan encontrar.

Un saludo y una felicitación al desarrollador Antonio.

Para descargar y más información a cerca del CMS en el siguiente enlace | www.fast-foo.com

Desarrollo: midiendo la velocidad de una web

GTmetrix es una aplicación que sirve principalmente para medir la velocidad de carga de una página web, el uso es sencillo, basta con poner la dirección de la página a ser analizada y GTmetrix se encarga de lo demás, los reportes son muy buenos, a parte de dar el tiempo de carga también ofrece sugerencias para mejorar la web analizada.

Enlace: aquí.

Un ejemplo del análisis:

CakePHP: No carga el CSS

cake-logo

Otro error común es la carga del archivo CSS osea que la página de inicio se muestra pero sin estilo:

cake1

Y si el módulo de reescritura (mod_rewrite) ya está habilitado. Para hacerlo solo hay que seguir los pasos que están en:

https://iloo.wordpress.com/2009/07/27/habilitar-mod_rewrite-en-apache/

Si ya se verifico la carga del módulo y sigue sin funcionar, sigue hacer la prueba de trabajar sin mod_rewrite, para trabajar sin el módulo de reescritura:

https://iloo.wordpress.com/2009/07/30/cakephp-trabajar-sin-mod_rewrite/

Si en este caso vemos que funcionan los estilos entonces solo puede ser la configuración de apache de los sitios habilitados, (yo estoy usando GNU/Linux) entonces la solución es la siguiente:

Modificar como superusuario el siguiente archivo: /etc/apache2/sites-available/default, buscamos:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

Y lo reemplazamos con:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

Nótese que solo cambie el valor de  AllowOverride. Reiniciamos apache y listo.

cakephp2