App Development with CakePHP 3.4 and Bootstrap 4.0

Next: Create a virtual ssl host for nginx UP: TOC

We will do a fresh installation of CakePHP 3.4 with Composer. Composer will install all required packages.

cd /usr/local/www/
composer create-project --prefer-dist cakephp/app cakephp34
Installing cakephp/app (3.4.0) - Installing cakephp/app (3.4.0) Downloading: 100% Created project in cakephp34 Loading composer repositories with package information Updating dependencies (including require-dev) - Installing cakephp/plugin-installer (0.0.15) Loading from cache - Installing aura/intl (3.0.0) Downloading: 100% - Installing mobiledetect/mobiledetectlib (2.8.24) Loading from cache - Installing psr/http-message (1.0.1) Loading from cache - Installing zendframework/zend-diactoros (1.3.10) Loading from cache - Installing psr/log (1.0.2) Loading from cache - Installing cakephp/chronos (1.1.0) Downloading: 100% - Installing cakephp/cakephp (3.4.1) Downloading: 100% - Installing symfony/yaml (v3.2.4) Downloading: 100% - Installing symfony/debug (v3.2.4) Downloading: 100% - Installing symfony/polyfill-mbstring (v1.3.0) Loading from cache - Installing symfony/console (v3.2.4) Downloading: 100% - Installing symfony/filesystem (v3.2.4) Loading from cache - Installing symfony/config (v3.2.4) Downloading: 100% - Installing robmorgan/phinx (v0.6.5) Loading from cache - Installing cakephp/migrations (1.6.7) Loading from cache - Installing jakub-onderka/php-console-color (0.1) Loading from cache - Installing jakub-onderka/php-console-highlighter (v0.3.2) Loading from cache - Installing dnoegel/php-xdg-base-dir (0.1) Loading from cache - Installing nikic/php-parser (v3.0.4) Downloading: 100% - Installing symfony/var-dumper (v3.2.4) Downloading: 100% - Installing psy/psysh (v0.8.1) Loading from cache - Installing jdorn/sql-formatter (v1.2.17) Loading from cache - Installing symfony/process (v3.2.4) Downloading: 100% - Installing symfony/finder (v3.2.4) Loading from cache - Installing seld/phar-utils (1.0.1) Loading from cache - Installing seld/jsonlint (1.5.0) Loading from cache - Installing seld/cli-prompt (1.0.2) Loading from cache - Installing justinrainbow/json-schema (4.1.0) Loading from cache - Installing composer/spdx-licenses (1.1.5) Loading from cache - Installing composer/semver (1.4.2) Loading from cache - Installing composer/ca-bundle (1.0.6) Loading from cache - Installing composer/composer (1.3.2) Loading from cache - Installing cakephp/debug_kit (3.9.0) Downloading: 100% - Installing cakephp/bake (1.2.14) Loading from cache cakephp/app suggests installing markstory/asset_compress (An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.) cakephp/app suggests installing phpunit/phpunit (Allows automated tests to be run without system-wide install.) cakephp/app suggests installing cakephp/cakephp-codesniffer (Allows to check the code against the coding standards used in CakePHP.) symfony/console suggests installing symfony/event-dispatcher () symfony/var-dumper suggests installing ext-symfony_debug () psy/psysh suggests installing ext-pcntl (Enabling the PCNTL extension makes PsySH a lot happier :)) psy/psysh suggests installing ext-posix (If you have PCNTL, you'll want the POSIX extension as well.) psy/psysh suggests installing ext-readline (Enables support for arrow-key history navigation, and showing and manipulating command history.) psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.) psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.) composer/composer suggests installing ext-zip (Enabling the zip extension allows you to unzip archives) composer/composer suggests installing ext-zlib (Allow gzip compression of HTTP requests) cakephp/debug_kit suggests installing ext-sqlite (DebugKit needs to store panel data in a database. SQLite is simple and easy to use.) Writing lock file Generating autoload files > Cake\Composer\Installer\PluginInstaller::postAutoloadDump > App\Console\Installer::postInstall Created `config/app.php` file Set Folder Permissions ? (Default to Y) [Y,n]? Y Permissions set on /usr/local/www/cakephp34/tmp/cache Permissions set on /usr/local/www/cakephp34/tmp/cache/models Permissions set on /usr/local/www/cakephp34/tmp/cache/persistent Permissions set on /usr/local/www/cakephp34/tmp/cache/views Permissions set on /usr/local/www/cakephp34/tmp/sessions Permissions set on /usr/local/www/cakephp34/tmp/tests Permissions set on /usr/local/www/cakephp34/tmp Permissions set on /usr/local/www/cakephp34/logs Updated Security.salt value in config/app.php #

After successful installation the directory structure looks as follows:

ls -altr cakephp34
-rw-r--r-- 1 root wheel 1202 Feb 13 03:32 phpunit.xml.dist -rw-r--r-- 1 root wheel 648 Feb 13 03:32 index.php -rw-r--r-- 1 root wheel 1742 Feb 13 03:32 composer.json -rw-r--r-- 1 root wheel 1809 Feb 13 03:32 README.md -rw-r--r-- 1 root wheel 628 Feb 13 03:32 .travis.yml -rw-r--r-- 1 root wheel 303 Feb 13 03:32 .htaccess -rw-r--r-- 1 root wheel 41 Feb 13 03:32 .gitignore -rw-r--r-- 1 root wheel 851 Feb 13 03:32 .gitattributes -rw-r--r-- 1 root wheel 329 Feb 13 03:32 .editorconfig drwxr-xr-x 2 root wheel 512 Feb 18 12:04 .github drwxr-xr-x 2 root wheel 512 Feb 18 12:04 bin drwxr-xrwx 2 root wheel 512 Feb 18 12:04 logs drwxr-xr-x 2 root wheel 512 Feb 18 12:04 plugins drwxr-xr-x 8 root wheel 512 Feb 18 12:04 src drwxr-xr-x 4 root wheel 512 Feb 18 12:04 tests drwxr-xrwx 5 root wheel 512 Feb 18 12:04 tmp drwxr-xr-x 6 root wheel 512 Feb 18 12:04 webroot drwxr-xr-x 9 root wheel 512 Feb 18 12:04 .. -rw-r--r-- 1 root wheel 67360 Feb 18 12:04 composer.lock drwxr-xr-x 12 root wheel 512 Feb 18 12:04 . drwxr-xr-x 18 root wheel 512 Feb 18 12:04 vendor drwxr-xr-x 3 root wheel 512 Feb 18 12:04 config # Next: Create a virtual ssl host for nginx UP: TOC