Setup CakePHP

This example will use composer to install CakePHP from within the PHP container.

Table of Contents

Overview

The following configuration will be used:

Project name VirtualHost directory Database TLD_SUFFIX Project URL
my-cake /shared/httpd/my-cake my_cake loc http://my-cake.loc

Walk through

It will be ready in eight simple steps:

  1. Enter the PHP container
  2. Create a new VirtualHost directory
  3. Install CakePHP via composer
  4. Symlink webroot directory
  5. Add MySQL database
  6. Configure datbase connection
  7. Setup DNS record
  8. Visit http://my-cake.loc in your browser

See also

Available tools

2. Create new vhost directory

devilbox@php-7.0.20 in /shared/httpd $ mkdir my-cake

3. Install CakePHP

devilbox@php-7.0.20 in /shared/httpd $ cd my-cake
devilbox@php-7.0.20 in /shared/httpd/my-cake $ composer create-project --prefer-dist cakephp/app cakephp

5. Add MySQL Database

devilbox@php-7.0.20 in /shared/httpd/my-cake $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_cake;'

6. Configure database connection

devilbox@php-7.0.20 in /shared/httpd/my-cake $ vi cakephp/config/app.php
cakephp/config/app.php
 <?php
   'Datasources' => [
         'default' => [
             'className' => 'Cake\Database\Connection',
             'driver' => 'Cake\Database\Driver\Mysql',
             'persistent' => false,
             'host' => '127.0.0.1',
             /**
              * 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' => 'root',
             'password' => 'secret',
             'database' => 'my_cake',
             'encoding' => 'utf8',
             'timezone' => 'UTC',
             'flags' => [],
             'cacheMetadata' => true,
 ?>

7. DNS record

If you do not have Auto-DNS configured, you will need to add the following line to your host operating systems /etc/hosts file (or C:\Windows\System32\drivers\etc on Windows):

/etc/hosts
 127.0.0.1 my-cake.loc

See also

For in-depth info about adding DNS records on Linux, Windows or MacOS see: DNS records or Auto-DNS.

8. Open your browser

All set now, you can visit http://my-cake.loc in your browser.