Que es CakePHP
CakePHP es un framework para realizar desarrollos rápido para PHP, es libre, grátis y de código abierto. Se trata de una estructura que sirve como base para los programadores desarrollen aplicaciones Web. Una de las grandes ventajas es que tiene un sinfín de convenciones que te permite trabajar de una forma estructurada, si dejas un proyecto para que alguien más lo continúe, al siguiente programado no le va a costar trabajo familiarizarse. De esta forma evitamos el código espagueti.
Requerimientos de instalación
Los requerimientos son mínimo sin importar si usas un servidor Linux o con XAMPP.
- Servidor web configurado con URL Limpias (rewrite). Recomendación: Descargar XAMPP.
- PHP 5.3 o superior para CakePHP inferior a 2.8, PHP 7 para CakePHP 2.8 en adelante.
- Si usas PHP 7.1, necesitas instalar el módulo mcrypt de PHP
- Base de datos: MySQL 4 en adelante, PostgreSQL, Microsoft SQL Server o SQLite
Instalación de CakePHP 2 paso a paso
Descargar CakePHP
Podemos entrar a la página oficial de CakePHP y desde el menú principal entramos a la documentación del frameworks Book. Dentro de la documentación podemos seleccionar la versión de CakePHP que necesitamos, para nuestro caso vamos a seleccionar la versión 2.x como se muestra en la siguiente imagen.
Ahora vamos a ver el menú de la documentación en la columna izquierda, vamos a seleccionar la opción Instalation.
Haciendo Scroll a la página veremos un título que dice Download CakePHP, en el tercer párrafo hacemos click en GitHub Tags.
Veremos que este enlace nos lleva al listado de CakePHP Releases organizados por versión. Vamos a buscar y descargar la última versión de CakePHP 2.x que sería en este momento 2.10.9. Descarga el archivo tar.gz o el zip, si usas windows es mejor que descargues el zip.
Con esto terminamos con la sección de descarga de CakePHP
Instalar CakePHP
Después de haber descargado el archivo comprimido de GitHub vamos a colocarlo en la carpeta de publicación del servidor web que vamos a usar.
Si usamos Windows con XAMPP, copia el archivo en la siguiente carpeta:
Si usas Linux como servidor web de pruebas o de producción, probablemente esté en cualquiera de las siguientes direcciones:
ó
Si lo vas a instalar en un servidor de producción con un proveedor de hosting, es probable que la carpeta de publicación esté en
ó
Me gusta mucho usar el servicio de Cloud9 porque tiene su propio entorno de desarrollo muy completo y lo voy a usar para tomar las capturas que continúan.
Después de mover el archivo a la carpeta de publicación, hay que extraerlo para que quede de la siguiente forma:
A mí en lo particular no me gusta dejar el nombre de la carpeta como se ve en la imagen anterior, prefiero cambiar el nombre de cakephp-2.10.9 a cakephp:
Para la mayoría de ustedes, esto sería suficiente para que funcione si ingresan a http://localhost/cakephp
Tips adicionales
Yo he tenido problemas adicionales en diferentes servidores web y les quiero compartir estas configuraciones adicionales si no te funcionó hasta el paso anterior. Estas configuraciones no las mencionan en otros tutoriales y es importante porque a varios de ustedes les va a dar error la instalación y necesitarán alguno de estos pasos.
Vamos a la siguiente ruta dentro de nuestra carpeta cakephp/app/Config y abrimos el archivo core.php, buscamos la 281 aprox donde vamos a descomentar la línea que dice date_default_timezone_set('UTC'); opcionalmente podemos cambiar la zona horaria de UTC a la que necesitemos, aquí te dejo un enlace con todas las zonas horarias que puedes usar.
Dentro del mismo archivo del core.php vamos a buscar las siguientes 2 líneas. La primera dice: Security.salt y tiene una cadena alfanumérica; y la segunda dice Security.cipherSeed y debe de ser numérica. Cambia los 2 valores anteriores para mayor seguidad, esto lo recomienda el mismo CakePHP.
Continuamos con la configuración de la base de datos y es importante si tu aplicación web va a almacenar o consultar información. Vamos a copiar o clonar el archivo database.php.default y el nuevo archivo debe de quedar como database.php tal y como se muestra en la siguiente imagen:
Revisando el archivo database.php veremos que tiene 2 configuraciones registradas "default" y "test". Vamos a configurar la default para hacer la conexión a la base de datos personalizado el usuario, contraseña y base de datos. En algunos casos como puede ser la renta de hosting compartido en internet, algunos proveedores solo nos dan 1 o 2 bases de datos en nuestro plan, por lo tanto tenemos que aprovechas al máximo los recursos que tenemos. Con este fin tenemos la opción "prefx" para personalizar el nombre de nuestras tablas y poder tener varias instalaciones de nuestro cakephp en la misma base de datos distinguidas por este prefijo. Otro dato importante y que no debes de dejar pasar es que descomentes la opción 'encoding'=>'utf8', esto te ayudará a que siempre haya una codificación del mismo tipo.
Hay un problema que suele haber con los permisos de los archivos temporales de cakephp y es porque CakePHP necesita escribir archivos en esta carpeta como pueden ser los archivos de cache de la base de datos. Si usas Windows no vas a tener problemas, pero si usas Linux sí que lo puedes tener. Cambia los permisos de la carpeta cakephp/app/tmp a 777 de forma recursiva, lo ideal es que cambies de propietario la carpeta junto con todo su contenido al usuario que usa apache con permisos 755.
Prueba la instalación entrando a la ruta de publicación de CakePHP: http://localhost/cakephp
Terminamos con la instalación si tu página se ve como la imagen anterior, si te sale algún error, revisa los pasos.