CakePHP3.xの詳細インストール手順

cakephp

私の愛しいアップルパイへ

CakePHPがバージョン3にアップデートされ、Composer経由でのインストールが正式にサポートされました。

バージョン2以前とは手順が大きく異なっているため、CakePHP 3.xの詳細なインストール手順をご説明しましょう。

CakePHP3.xの詳細インストール手順

前提条件の確認と準備

CakePHP 3.xのインストールには以下の環境が必要となりますので、要件を満たしているか確認してください。

▼WebサーバーおよびPHPのインストール要件

  • Apache(mod_rewrite必須)もしくはnginx
  • PHP 5.4.16以上
  • mbstring extension
  • intl extension

とくにPHPへのintl extensionインストールと有効化が忘れがちなので注意です。

▼データベースのインストール要件

  • MySQL 5.1.10 or greater
  • PostgreSQL
  • Microsoft SQL Server 2008 or higher
  • SQLite 3

▼CakePHPのインストールにはPHP用のパッケージ管理システムであるComposerのインストールが必要です。なければ以下のサイトよりComposerをインストールしましょう。

▼その他、詳細な要件については公式ドキュメントをご覧ください。

CakePHPのインストール

続いてCakePHPのインストールに入っていきます。

まずターミナルを開いてCakePHPをインストールするフォルダに移動します。

▼そしてターミナルから以下のコマンドを実行するだけ!簡単!

composer create-project --prefer-dist cakephp/app [app_name]
[app_name]には任意の名前を入れてください。これはCakePHPインストール先のフォルダ名になります。カレントディレクトリにない場合は作成されます。
composerのインストール状態によってsudoが必要なことがありますので、必要に応じてsudoをつけてください。

▼上記のコマンドを実行すると以下のような実行結果が表示されるはずです。

Installing cakephp/app (3.0.4)
  - Installing cakephp/app (3.0.4)
    Loading from cache

Created project in cakephp
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing aura/installer-default (1.0.0)
    Loading from cache

  - Installing cakephp/plugin-installer (0.0.12)
    Loading from cache

  - Installing psr/log (1.0.0)
    Loading from cache

  - Installing nesbot/carbon (1.13.0)
    Loading from cache

  - Installing mobiledetect/mobiledetectlib (2.8.15)
    Loading from cache

  - Installing aura/intl (1.1.1)
    Loading from cache

  - Installing ircmaxell/password-compat (v1.0.4)
    Loading from cache

  - Installing cakephp/cakephp (3.0.11)
    Loading from cache

  - Installing symfony/yaml (v2.7.3)
    Loading from cache

  - Installing symfony/filesystem (v2.7.3)
    Loading from cache

  - Installing symfony/config (v2.7.3)
    Loading from cache

  - Installing symfony/console (v2.7.3)
    Loading from cache

  - Installing robmorgan/phinx (v0.4.4)
    Loading from cache

  - Installing cakephp/migrations (1.2)
    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 (v1.4.0)
    Loading from cache

  - Installing symfony/var-dumper (v2.7.3)
    Loading from cache

  - Installing psy/psysh (v0.5.2)
    Loading from cache

  - Installing jdorn/sql-formatter (v1.2.17)
    Loading from cache

  - Installing cakephp/debug_kit (3.1.9)
    Loading from cache

  - Installing cakephp/bake (1.0.11)
    Loading from cache

symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing symfony/process ()
symfony/var-dumper suggests installing ext-symfony_debug ()
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
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 /Applications/MAMP/htdocs/taskchutecloud/cakephp/tmp/cache
Permissions set on /Applications/MAMP/htdocs/taskchutecloud/cakephp/tmp/cache/models
Permissions set on /Applications/MAMP/htdocs/taskchutecloud/cakephp/tmp/cache/persistent
Permissions set on /Applications/MAMP/htdocs/taskchutecloud/cakephp/tmp/cache/views
Permissions set on /Applications/MAMP/htdocs/taskchutecloud/cakephp/tmp/sessions
Permissions set on /Applications/MAMP/htdocs/taskchutecloud/cakephp/tmp/tests
Permissions set on /Applications/MAMP/htdocs/taskchutecloud/cakephp/tmp
Permissions set on /Applications/MAMP/htdocs/taskchutecloud/cakephp/logs
Updated Security.salt value in config/app.php

▼なお、sudoしてインストールした場合は、CakePHPのインストールフォルダ配下の所有者がrootになりますので、ご注意を。必要に応じてファイルの所有権をログインユーザーやWebサーバーの実行ユーザーに変えてください

sudo chown -R [user_name] [app_name]

CakePHPの動作確認

それでは、実際にインストールしたCakePHPにアクセスしてみて動作確認しましょう。

▼Webブラウザを開いて、インストールしたCakePHPのURLにアクセスしてみてください。以下のような画面が表示されていれば無事にインストールできています。

スクリーンショット 2015-08-11 12.32.18

▼以下のような画面が表示されている場合はインストールに失敗しています。インストール要件を満たしているか確認したり、sudoをつけて実行しなおしたりして、CakePHPを再インストールしてみてください。

スクリーンショット 2015-08-11 12.27.51

▼以下のようなエラーが表示される場合は、PHPのインストール要件にある「intl extension」が有効化されてないことが原因のことが多いようです。intl extensionのインストール&有効化後、CakePHPを再インストールしてみてください。

PHP Warning:  require(/Applications/MAMP/htdocs/taskchutecloud/cakephp/vendor/autoload.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/taskchutecloud/cakephp/config/bootstrap.php on line 23
再インストールはフォルダごと削除してもういちどComposerコマンドでインストールすればOKです。

▼その他、さらなる詳細はCakePHPの公式ドキュメントをご参照ください。

これでCakePHPのインストールは完了です。Gooooood!

貴下の従順なる下僕 松崎より

著者画像

システム系の専門学校を卒業後、システム屋として6年半の会社員生活を経て独立。ブログ「jMatsuzaki」を通して、小学生のころからの夢であった音楽家へ至るまでの全プロセスを公開することで、のっぴきならない現実を乗り越えて、諦めきれない夢に向かう生き方を伝えている。