CakePHP se instala de forma fácil y rápidamente. Los requisitos mínimos son: un servidor web y una copia de los archivos de CakePHP ¡Eso es todo! Aunque este manual se centra en la configuración de Apache, ya que es el servidor web más común, se puede configurar CakePHP para que funcione en otros servidores como lighttpd o Microsoft IIS.
Vamos a preparar el proceso de instalación, que consta de los siguientes pasos:
Descargar copia de CakePHP
Configurar el servidor web para que use PHP
Comprobar que los permisos de ficheros y carpetas son correctos
Hay dos opciones: descargar un archivo comprimido con todo el código (zip/tar.gz/tar.bz2) de la web oficial o realizar un checkout del código directamente desde el repositorio de git.
Para descargar la última versión estable, puedes vistar la página oficial https://cakephp.org y pichar en la opción «Download Now».
Además, todas las versiones de CakePHP están hospedadas en Github. Github almacena tanto el código de CakePHP como muchos otros plugins para el sistema. Las versiones release de CakePHP están disponibles aquí Github tags.
También se puede obtener la última versión, con las últimas correcciones de errores y mejoras de última hora (o al menos en ese día). Para ello puedes clonar el repositorio. Github.
CakePHP usa el directorio /app/tmp
para varias cosas, como guardar las
descripciones de los modelos, la cache de las vistas y la información de sesión
de los usuarios.
Por ello debes, asegúrarte de que el directorio /app/tmp
de tu instalación de
CakePHP puede ser escrito por el usuario que ejecuta tu servidor web. Ten en
cuenta que cuando tu servidor web se inicia, define un usuario como propietario
del servicio. Este usuario suele llamarse “apache” o “www-data” en algunas versiones de
sistemas *nix. Por lo tanto la carpeta /app/tmp
debe tener permisos de
escritura para que el usuario propietario del servidor web pueda escribir dentro
de ella.
Configurar CakePHP es tan sencillo como copiar la carpeta en la carpeta raíz de tu servidor web (document root) o tan complejo y flexible como quieras para que se adapte a tu sistema. En esta sección cubriremos los 3 modos más frecuentes: desarrollo, producción, avanzado.
Desarrollo: fácil y rápido. Las URL de tu aplicación incluyen la carpeta de instalación de CakePHP. Es menos seguro.
Producción: Requiere poder cambiar el document root de su servidor web, proporciona URL amigables y es muy seguro.
Avanzado: Te permite colocar la carpeta de CakePHP en otras partes de tu sistema de archivos, posiblemente para compartir el núcleo con varias aplicaciones web basadas en CakePHP.
Instalar CakePHP para desarrollo es el método más rápido de empezar. Este
ejemplo te ayudará a instalar una aplicación CakePHP y configurarla para que se
accesible desde http://www.example.com/cake_2_0/. Asumiremos que tu document
root (la carpeta raíz de tu servidor web) es /var/www/html
.
Descomprime los contenidos del archivo que contiene CakePHP en la carpeta
/var/www/html
. Ahora tendrás un nuevo directorio con el nombre de la versión
que te has descargado (por ejemplo cake_2.0.0). Cambia el nombre de este
directorio a algo más sencillo, por ejemplo a cake20
.
La estructura de directorios debería ser ahora similar a esta:
/var/www/html
/cake20
/app
/lib
/vendors
/plugins
/.htaccess
/index.php
/README
Si la configuración de tu servidor web es correcta, ahora podrás acceder a tu aplicación accediendo a: http://localhost/cake20 .
Si estás desarrollando varias aplicaciones a la vez, muchas veces tiene
sentido compartir la misma versión del núcleo de CakePHP. Hay varias formas
de conseguirlo. Una de las más sencillas es usar la directiva PHP
include_path
. Para empezar, clona CakePHP en un directorio. Por ejemplo,
en /home/mark/projects
:
git clone git://github.com/cakephp/cakephp.git /home/mark/projects/cakephp
Este comando clonará CakePHP en tu directorio /home/mark/projects
. Si no quieres
usar git, puedes descargar el archivo zip del repositorio, todos los demás
pasos serán los mismos. Lo siguiente es modificar el archivo de configuración
de PHP php.ini
. En sistemas *nix, este archivo suele estar ubicado en la
ruta /etc/php.ini
, pero puedes localizarlo fácilmente mediante el comando
php -i
, busca la ruta bajo el epígrafe “Loaded Configuration File”. Cuando
hayas localizado el fichero correcto, modifica el parámetro include_path
y
añade el directorio /home/mark/projects/cakephp/lib
. Ejemplo:
include_path = .:/home/mark/projects/cakephp/lib:/usr/local/php/lib/php
Reinicia el servidor web, deberías ver los cambios aplicados en la salida de
phpinfo()
.
Nota
Si utilizas Windows, separa las rutas en el include path con ; en vez de :
Tras modificar este parámetro y reiniciar el servidor web, tus aplicaciones podrán utilizar CakePHP automáticamente.
Se llama entorno de Producción porque es el lugar al que accederán los usuarios finales de la aplicación web. Una instalación en Producción es una forma más flexible de configurar CakePHP. Usando este método permite que un dominio completo actúe como una única aplicación CakePHP. El siguiente ejemplo permitirá ayudar a instalar CakePHP en cualquier parte del sistema de archivos y tener la aplicación disponible en http://www.example.com. Ten en cuenta que esta instalación requiere que tengas permiso de escritura en el directorio raíz de tu servidor web document root.
Descomprime los contenidos del paquete que has descargado con la última versión
de CakePHP en el directorio que prefieras. No es necesario que sea una carpeta
de tu document root. Por ejemplo vamos a suponer que quieres tener tus
archivos de CakePHP en la ruta /cake_install
. Tu sistema de archivos sería
entonces:
/cake_install/
/app
/webroot (este directorio es el que configuraremos como DocumentRoot
en el servidor web
/lib
/vendors
/.htaccess
/index.php
/README
Si usas Apache, ahora es el momento de configurar la directiva de configuración
DocumentRoot
de tu servidor web para que apunte a la carpeta /app/webroot de
tu instalación.
DocumentRoot /cake_install/app/webroot
Si tu servidor está correctamente configurado, podrás acceder a tu aplicación utilizando la url http://www.example.com.
Vamos a ver de qué es capaz tu recientemente instalado CakePHP. Dependiendo de qué opción de configuración hayas elegido, podrás acceder a tu aplicación mediante http://www.example.com/ o http://example.com/cake_install/. Verás una página de bienvenida por defecto, que mostrará un mensaje que te dice el estado actual de conexión a la Base de Datos.
¡ Enhorabuena ! Estás preparado para empezar.
¿ No funciona ? Bueno, estas cosas pasan. Si aparece un mensaje de error que habla de la Zona Horaria timezone, quita el comentario en la siguiente línea del fichero app/Config/core.php:
/**
* If you are on PHP 5.3 uncomment this line and correct your server timezone
* to fix the date & time related errors.
*/
date_default_timezone_set('UTC');