Mi Blog
👉 Cómo instalar CakePHP en GNU/Linux Debian

Cómo instalar CakePHP en GNU/Linux Debian

 
(4 votos)

Instalar CakePHP en GNU/Linux Debian es un proceso sumamente sencillo hoy en día. CakePHP es un sencillo Framework en PHP que junto a Laravel, CodeIgniter, Yii, Symfony, etc... están de moda en la actualidad. Si bien, no es el framework más potente ni más usado, es uno de los mejores frameworks para entrar en "este mundillo" sin grandes complicaciones.

Seguid leyendo y os enseñaré a instalar CakePHP utilizando el método oficial con Composer...

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

¿QUÉ ES CAKEPHP?

CakePHP es un marco de desarrollo "framework" rápido para PHP, libre, de código abierto. Se trata de una estructura que sirve de base a los programadores para que éstos puedan crear aplicaciones Web. El principal objetivo es que se pueda trabajar de forma estructurada y rápida, sin pérdida de flexibilidad.

Con CakePHP el desarrollo web ya no es monótono porque ofrece las herramientas para empezar a escribir el código que realmente se necesita: la lógica específica de cada aplicación. CakePHP tiene un equipo de desarrolladores y una comunidad activos, lo que añade valor al proyecto. Con CakePHP, además de no tener que reinventar la rueda.

Esta es una lista con las características principales de CakePHP:

  • Comunidad activa y amistosa
  • Licencia flexible
  • Compatible con PHP4 y PHP5
  • CRUD integrado para la interacción con la base de datos
  • Soporte de aplicación [scaffolding]
  • Generación de código
  • Arquitectura Modelo Vista Controlador (MVC)
  • Despachador de peticiones [dispatcher], con URLs y rutas personalizadas y limpias
  • Validación integrada
  • Plantillas rápidas y flexibles (sintaxis de PHP, con ayudantes[helpers])
  • Ayudantes para AJAX, Javascript, formularios HTML y más
  • Componentes de Email, Cookie, Seguridad, Sesión y Manejo de solicitudes
  • Listas de control de acceso flexibles
  • Limpieza de datos
  • Caché flexible
  • Localización
  • Funciona en cualquier subdirectorio del sitio web, con poca o ninguna configuración de Apache

 

 

CakePHP es un Framework en PHP

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un PC con GNU/Linux Debian 10 (o similar)
  • Conexión a Internet

 

 

2.- INSTALACIÓN DE LOS PRE-REQUISITOS

Antes de comenzar a instalar CakePHP, es necesario instalar una serie de paquetes de software para cumplir con los requisitos mínimos. Para ello, ejecutaremos el siguiente comando e instalaremos los siguientes paquetes.

raul@debian:~$ sudo sudo apt-get install php php-intl php-xml php-mysql php7.4-mbstring apache2 libapache2-mod-php

 

 

3.- INSTALACIÓN DE CAKEPHP CON COMPOSER

Ahora, desde cualquier usuario, podremos descargar e "instalar" el Framework de CakePHP en nuestro directorio personal. Para la instalación, utilizaremos el método oficial con Composer. Para descargar composer, ejecutaremos los siguientes comandos en nuestra consola:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8')\
{ echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

 

 

A continuación, con el usuario root o con un usuario con permiso de sudo, moveremos el fichero descargado:

raul@debian:~$ sudo mv composer.phar /usr/local/bin/composer

 

 

4.- CREACIÓN DE PROYECTO CON CAKEPHP

Una vez descargado Composer, crearemos nuestro primer proyecto con CakePHP 4 en el directorio my_app_name. Para ello, ejecutaremos:

raul@debian:~$ composer create-project --prefer-dist cakephp/app:~4.0 my_app_name

 

 

Una vez terminado el proceso, ya tendremos descargado el Framework de CakePHP 4 en nuestro directorio my_app_name.

 

 

 

 

5.- SERVIDOR DE DESARROLLO

La forma más rápida de instalar y acceder a CakePHP es a través de un servidor de desarrollo. CakePHP incluye su propio servidor Web, y podremos acceder a él a través de http://host:puerto. Para arrancarlo ejecutaremos:

raul@debian:~$ my_app_name/bin/cake server

 

 

Por defecto, si no se le pasa ningún parámetro, el servidor escuchará en http://localhost:8765

Si hay un conflicto con localhost o con el puerto 8765, se puede especificar la IP y el puerto con el siguiente comando:

raul@debian:~$ my_app_name/bin/cake -H 192.168.1.47 -p 5673

 

 

Si aún así existen problemas y no tenemos acceso, podemos lanzar el siguiente comando y ver una salida similar a la siguiente:

raul@debian:~/my_app_name$ bin/cake server -H 0.0.0.0
PHP Warning: Module 'intl' already loaded in Unknown on line 0

Welcome to CakePHP v4.3.5 Console
-------------------------------------------------------------------------------
App : src
Path: /home/raul/my_app_name/src/
DocumentRoot: /home/raul/my_app_name/webroot
Ini Path:
-------------------------------------------------------------------------------
built-in server is running in http://0.0.0.0:8765/
You can exit with `CTRL-C`
[Wed Feb 16 14:45:27 2022] PHP 7.4.25 Development Server (http://0.0.0.0:8765) started

 

 

Para acceder a CakePHP, abriremos un navegador e introduciremos http://IP:PUERTO:

Instalar CakePHPPantalla principal del Framework CakePHP

 

 

Como se puede ver en la pantalla principal, todos los puntos están correctos excepto el acceso a la base de datos. Deberemos crear una base de datos con los datos necesarios, en este ejemplo se han cogido los datos de ejemplo que se ubican en el fichero my_app_name/config/app_local.php:

Instalar CakePHPPantalla principal sin acceso a la BBDD

 

 

  'default' => [
'host' => 'localhost',
/*
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//'port' => 'non_standard_port_number',

'username' => 'my_app',
'password' => 'secret',
'database' => 'my_app',
/*
* If not using the default 'public' schema with the PostgreSQL driver
* set it here.
*/
//'schema' => 'myapp',

/*
* You can use a DSN string to set the entire configuration
*/
'url' => env('DATABASE_URL', null),
],

 

 

Crearemos la base de datos, el usuario y le daremos privilegios sobre dicha base de datos con la contraseña "por defecto". Ahora, ejecutaremos para crear la base de datos el siguiente comando:

raul@debian:~$ sudo mysql -u root -p -e "create database my_app"

 

 

Y este otro comando para crear el usuario y asignar privilegios:

raul@debian:~$ sudo mysql -u root -p -e "grant all privileges on my_app.* to 'my_app'@'localhost' identified by 'secret'"

 

 

Si refrescamos la pantalla, veremos que ahora CakePHP ya tiene acceso a la base de datos:

Instalar CakePHPPantalla principal todo correcto

 

 

6.- SERVIDOR DE PRODUCCIÓN

La instalación en un sistema de producción es una solución muy flexible para configurar CakePHP. Usando este método nos permite que un dominio entero actúe como una única instancia de CakePHP.

Los desarrolladores que usen Apache deberán cambiar la directiva DocumentRoot para que apunte a la aplicación CakePHP. Otra solución podría pasar por crear Alias, o UserDirs en Apache, pero eso no entra en este tutorial:

DocumentRoot /my_app_name/webroot

 

 

Si el servidor Web está correctamente configurado, podremos acceder a CakePHP desde la URL http://IP:SERVIDOR

 

 

7.- POSIBLES ERRORES

Si una vez instalado CakePHP y acceder a su Frontend, observamos este mensaje, podremos resolverlo de forma rápida ejecutando el siguiente comando:

raul@debian:~$ sudo apt-get install php-sqlite3

Instalar CakePHPCakePHP error de SQLite3

 

 

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!
Cookies

Usamos cookies en nuestro sitio web. Algunas de ellas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a mejorar el sitio web y también la experiencia del usuario (cookies de rastreo). Puedes decidir por ti mismo si quieres permitir el uso de las cookies. Ten en cuenta que si las rechazas, puede que no puedas usar todas las funcionalidades del sitio web.