Instalar CakePHP en Windows + WampServer

En este articulo vamos a ver cómo podemos instalar CakePHP, versión 1.3.x , en Windows (en este caso W7), utilizando como servidor local WampServer. Lo primero que debemos hacer es descargar CakePHP, desde la página oficial. Una vez obtenido, descomprimimos el archivo y nos vamos al directorio de wamp, normalmente en C:\wamp y creamos un directorio llamado cake:

Dentro de este directorio metemos todos los archivos que obtuvimos al descomprimir el archivo CakePHP, quedando dentro del directorio cake lo siguiente:

Ahora necesitamos decirle a Windows que existe cake en nuestro sistema para que la consola de cake trabaje sin problemas. Para ello debemos tomar nota de la ruta absoluta tanto de php como de la consola de cake. Copiamos la ruta absoluta de nuestro php, (normalmente C:\wamp\bin\php\php5.3.0 )

Nos aparecerá otra ventana con las variables de entorno de nuestro sistema. Esto nos abrirá una nueva ventana llamada "Propiedades del Sistema". porque luego lo vamos a necesitar.Así como la de la consola de cake (normalmente C:\wamp\cake\cake\console) Si hemos copiado esto en un documento de texto. nos quedará como sigue: Mantenemos este documento. y abrimos "Configuración avanzada del sistema". . deberemos de abrir "variables de entorno". En la parte de abajo (variables del sistema) buscamos la variable Path la seleccionamos y damos al botón editar. Ahora nos vamos a Panel de Control -> Sistema y Seguridad ->Sistema.

nos aparecerá la versión de nuestro php.exe". . y la ruta absoluta de nuestra consola de cake. Luego escribimos cake y veremos que funciona nuestra consola de cake con su mensaje de bienvenida. poniendo en buscar programas "cmd. etc.Nos aparece la edición de la variable Path. sistema. Ahora abrimos nuestra consola de Windows. en el input valor de la variable agregamos al final un punto y coma. Con la consola de windows abierta escribimos php -v. Podéis acceder también en programas->accesorios->símbolo del sistema. y si es necesario reiniciamos el equipo (aunque lo más probable es que no haga falta). cerramos todas las ventanas de variables del sistema. Agregamos otro punto y coma y ponemos la ruta absoluta de nuestro php Aceptamos los cambios.

. ni los colores. Como solo vamos a probar que CakePHP funciona no necesitamos nada más. Ahora vamos a nuestro navegador y escribimos la ruta de nuestro proyecto http://localhost/miproyecto apareciendo algo como lo siguiente: Podéis ver que no hay conexión con la tabla de la base de datos por qué no hemos creado ninguna. Si no aparecen los estilos. excepto cuando nos solicite los valores de nuestra base de datos y el tipo de motor de base de datos. abrimos la consola de windows y escribimos (desde c:\) cd wamp/www y damos a intro. Dejaremos el nombre de la base de datos por defecto e introduciremos los valores para el motor de base de datos (en este caso mysql). cake bake ->intro nos aparecerá la consola de cake pidiéndonos un nombre para la carpeta del proyecto. en este caso "miproyecto".Si todo ha ido bien. Luego nos ira solicitando una serie de valores que dejaremos por defecto (dando a intro). es porque no tenemos activado el modulo rewrite_module de nuestro apache. ya estamos preparados para crear nuestro primer proyecto en CakePHP. Espero que haya sido de utilidad este articulo y aconsejo que os leáis el Book de CakePHP. Para crear un proyecto en CakePHP. dándole los parámetros de usuario y password. Le indicamos. Esto debemos de activarlo desde wampServer. pues es la mejor forma de entender cómo funciona y qué utilidades tiene CakePHP.

y normalmente así es. Primero mira en tu httpd. Puedes: Ver que ha cambiado Comparar con el texto original Mas info sobre traduciones A pesar de que CakePHP está hecho para funcionar con mod_rewrite sin tocar nada. 6.conf del sistema y que no es httpd. Options FollowSymLinks 11. </IfModule> 11.*) webroot/$1 10. y que ha sido desempaquetado correctamente verificando que existen los ficheros . 12.htaccess) • • • • • Editar Historia Este texto puede diverger de la versión original El texto original ha cambiado despues que la traduccion. <IfModule mod_rewrite. Por favor ayundanos a reslover este differencia. 5. 4. <IfModule mod_rewrite.org/1. # # # # # # # # Cada directorio al que tiene acceso Apache puede ser configurado en función de qué servicios y características están permitidas y/o desactivadas en dicho directorio (y sus subdirectorios). 5. Asegúrate de estar cargando el módulo mod_rewrite correctamente.conf específico de un usuario o del site). Asegúrate de que tu copia de CakePHP es de las sección de descargas de nuestro site o nuestro repositorio GIT. hemos notado que algunos usuarios tienen dificultades para lograr que todo funcione correctamente en sus sistemas. </Directory> 2. Esto puede pasar durante la copia porque algunos sistemas operativos consideran los archivos que comienzan por '. 1. 2.htaccess: En el directorio raíz de Cake (necesita ser copiado al directorio. Asegúrate de que tus ficheros . # 13.allow Deny from all 14. esto redirige todo a tu aplicación de Cake): Copy to Clipboard 1.http://book. 8. Deberías ver algo similar a: Copy to Clipboard 1. RewriteRule ^$ webroot/ 9. 3.c> 12.c> 7. 3. RewriteEngine on 8.htaccess esté permitida y que AllowOverride esté establecido a All para el DocumentRootadecuado. Aquí hay unas cuantas cosas que puedes probar para conseguir que funcione correctamente. así que sólo tendrás que quitar los símbolos # del principio. Tras realizar los cambios reinicia Apache para estar seguro de que las opciones de configuración están activas. 4. <Directory /> 10. Asegúrate que la reescritura . 9.c> RewriteEngine on RewriteRule RewriteRule </IfModule> ^$ app/webroot/ [L] (. Primero. Debes ver algo como: Copy to Clipboard 1.' como ocultos y por lo tanto no los copian.cakephp.htaccess están en los directorios correctos. RewriteRule (. configuramos "por defecto" para que sea un conjunto de características muy restrivo. 3. LoadModule rewrite_module libexec/apache2/mod_rewrite.conf (asegúrate de estar editando el httpd.2/es/view/29/Prepar%C3%A1ndose-para-Instalar Apache y mod_rewrite (y . RewriteEngine On [L] [L] En el directorio webroot de Cake (será copiado a tu webroot de la aplicación por bake): Copy to Clipboard . 2.so En muchos sistemas esto estará comentado (comenzando la línea con #) por defecto. 7. <IfModule mod_rewrite.*) app/webroot/$1 [L] En el directorio app de Cake (será copiado por bake): Copy to Clipboard 6. # AllowOverride All Order deny.

tu servidor web está realmente siendo servido desde un directorio de usuario que ya utiliza mod_rewrite.htaccess) Esto puede ser añadido a la misma sección con la directiva RewriteEngine. Consulta la documentación online de Apache para más información. por ejmplo. RewriteBase / 20. RewriteCond %{REQUEST_FILENAME} !-d 21. <IfModule mod_rewrite.c> 18.L] En muchos servicios de hosting (GoDaddy.13. 1and1).com/~nombreusuario/cakephp).php?url=$1 [QSA. o en cualquier otra estructura que ya utilice mod_rewrite necesitarás añadir sentencias RewriteBase a los archivos .php?url=$1 23. así.htaccess.htaccess que utiliza CakePHP (/. RewriteRule ^(. RewriteEngine On 19. </IfModule> [QSA. RewriteCond 15. /app/. RewriteCond %{REQUEST_FILENAME} !-f 22. Si estás instalando CakePHP en un directorio de usuario (http://ejemplo. RewriteCond 14.L] Los detalles de esos cambios dependen de tu configuración.*)$ index. /app/webroot/.htaccess.htaccess en el webrootdevería ser así: Copy to Clipboard 17. RewriteRule 16. </IfModule> %{REQUEST_FILENAME} !-d %{REQUEST_FILENAME} !-f ^(. y pueden incluir cosas adicionales que no están relacionadas con Cake. tu archivo . .*)$ index.