CakePHP se instala muy fácil y rápidamente. Los requisitos mínimos son: servidor web y copia de CakePHP. Nada más. Aunque este manual se centra en Apache, ya que es el servidor web más común, puedes configurar CakePHP para que funcione en otros servidores como LightHTTPD o Microsoft IIS.
Vamos a preparar el proceso de instalación, que consta de los siguientes pasos:
- Descargar copia de CakePHP
- Configurar tu servidor web para que use PHP
- Comprobar que los permisos de los ficheros y carpetas está ok
Tienes 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 http://www.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 downloads.
También puedes obtener la última versión, con todos los bugs y mejoras corregidos hasta el último minuto (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.
Debido a esto, asegúrate 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' 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 aquí: http://localhost/cake20 .
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 para Producción es más flexible. Este ejemplo te permitirá que un dominio actúe como una única aplicación CakePHP. Podrás instalar CakePHP en el directorio que prefieras dentro de tu sistema de ficheros y tendrás tu aplicación disponible en http://www.example.com. Ten en cuenta que esta instalación requiere que tengas permiso para escribir 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
- /webroot (este directorio es el que configuraremos como
- /lib
- /vendors
- /.htaccess
- /index.php
- /README
- /app
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.
.. toctree:: installation/advanced-installation
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 de tu conexión actual de 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 a la siguiente línea de tu fichero app/Config/core.php:
<?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');