DEVELOPERS BLOGデベロッパーズブログ

  1. HOME > 
  2. 加藤 正人のデベロッパーズブログ > 
  3. CakePHP 3.x インストールメモ

加藤 正人のデベロッパーズブログ

加藤 正人

氏名
加藤 正人
役職
多分SE
血液型
秘密
出没
美味しいもののあるところ
特色
タヒチ大好き。ちょいメタボ。

加藤 正人

2015/09/12

CakePHP 3.x インストールメモ

 

CakePHP 3.x では、これまでのインストールキットとは違い Composer ベースでのインストールになっているのでインストール手順を調査してみた。

システム要件

  • PHP 5.4.16 またはそれ以降
  • mbstring エクステンション
  • intl エクステンション

インストールキットの入手

インストールキットは、CakePHP の公式サイトからダウンロードできる。

インストールキットの展開と配置

インストールキットの展開と配置は、概ね下記の手順で行うことができる。

  1. インストールキットは zip アーカイブになっているので、適切なツールを使って展開する。

  2. 展開したフォルダをテストサーバや実サーバ上の適切なフォルダ (以下 {INST} と表記) にコピーする。通常は public_html フォルダになる。

    ※この状態では、Composer によるインストールに必要なファイルが展開されるだけなので CakePHP の動作環境にはなっていない。

  3. サーバー上の {INST} フォルダで Composer を実行することで、CakePHP 3.x 用のフォルダが生成される。

    1$ composer create-project --prefer-dist cakephp/app

    Composer がインストールされていない場合は yum や dnf でインストールするか、Composer.phar をダウンロードして利用する。

    1$ php composer.phar create-project --prefer-dist cakephp/app
    実行結果の例を下記に示す。
    01$ composer create-project --prefer-dist cakephp/app
    02Installing cakephp/app (3.0.5)
    03  - Installing cakephp/app (3.0.5)
    04    Downloading: 100%        
    05 
    06Created project in /var/virtual-hosts/XXXX/public_html/app
    07Loading composer repositories with package information
    08Installing dependencies (including require-dev)
    09  - Installing aura/installer-default (1.0.0)
    10    Downloading: 100%        
    11 
    12  - Installing cakephp/plugin-installer (0.0.12)
    13    Downloading: 100%        
    14 
    15  - Installing psr/log (1.0.0)
    16    Downloading: 100%        
    17 
    18  - Installing nesbot/carbon (1.13.0)
    19    Downloading: 100%        
    20 
    21  - Installing mobiledetect/mobiledetectlib (2.8.16)
    22    Downloading: 100%        
    23 
    24  - Installing aura/intl (1.1.1)
    25    Downloading: 100%        
    26 
    27  - Installing ircmaxell/password-compat (v1.0.4)
    28    Downloading: 100%        
    29 
    30  - Installing cakephp/cakephp (3.0.13)
    31    Downloading: 100%        
    32 
    33  - Installing symfony/yaml (v2.7.3)
    34    Downloading: 100%        
    35 
    36  - Installing symfony/filesystem (v2.7.3)
    37    Downloading: 100%        
    38 
    39  - Installing symfony/config (v2.7.3)
    40    Downloading: 100%        
    41 
    42  - Installing symfony/console (v2.7.3)
    43    Downloading: 100%        
    44 
    45  - Installing robmorgan/phinx (v0.4.5)
    46    Downloading: 100%        
    47 
    48  - Installing cakephp/migrations (1.3)
    49    Downloading: 100%        
    50 
    51  - Installing jakub-onderka/php-console-color (0.1)
    52    Downloading: 100%        
    53 
    54  - Installing jakub-onderka/php-console-highlighter (v0.3.2)
    55    Downloading: 100%        
    56 
    57  - Installing dnoegel/php-xdg-base-dir (0.1)
    58    Downloading: 100%        
    59 
    60  - Installing nikic/php-parser (v1.4.0)
    61    Downloading: 100%        
    62 
    63  - Installing symfony/var-dumper (v2.7.3)
    64    Downloading: 100%        
    65 
    66  - Installing psy/psysh (v0.5.2)
    67    Downloading: 100%        
    68 
    69  - Installing jdorn/sql-formatter (v1.2.17)
    70    Downloading: 100%        
    71 
    72  - Installing cakephp/debug_kit (3.1.10)
    73    Downloading: 100%        
    74 
    75  - Installing cakephp/bake (1.0.13)
    76    Downloading: 100%        
    77 
    78symfony/console suggests installing symfony/event-dispatcher ()
    79symfony/console suggests installing symfony/process ()
    80symfony/var-dumper suggests installing ext-symfony_debug ()
    81psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
    82cakephp/debug_kit suggests installing ext-sqlite (DebugKit needs to store panel data in a database. SQLite is simple and easy to use.)
    83Writing lock file
    84Generating autoload files
    85> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
    86> App\Console\Installer::postInstall
    87Created `config/app.php` file
    88Set Folder Permissions ? (Default to Y) [Y,n]? Y
    89Permissions set on /var/virtual-hosts/XXXX/public_html/app/tmp/cache
    90Permissions set on /var/virtual-hosts/XXXX/public_html/app/tmp/cache/models
    91Permissions set on /var/virtual-hosts/XXXX/public_html/app/tmp/cache/persistent
    92Permissions set on /var/virtual-hosts/XXXX/public_html/app/tmp/cache/views
    93Permissions set on /var/virtual-hosts/XXXX/public_html/app/tmp/sessions
    94Permissions set on /var/virtual-hosts/XXXX/public_html/app/tmp/tests
    95Permissions set on /var/virtual-hosts/XXXX/public_html/app/tmp
    96Permissions set on /var/virtual-hosts/XXXX/public_html/app/logs
    97Updated Security.salt value in config/app.php
    98$
  4. CakePHP 3.x では、DOCUMENT_ROOT は {INST}/app/webroot になるので、web サーバーの設定を変更する。Apache であれば /etc/httpd/conf.d の設定で DocumentRoot パラメータの値を {INST}/app/webroot に設定する。({INST} は実際のインストールフォルダのフルパス。)

    共用サーバ等で DocumentRoot の設定や変更ができない場合は、そのサーバの DocumentRoot に設定されているフォルダ (public_html 等) に .htaccess を配置し、mod_rewrite で / から /app/webroot へのリダイレクト設定を行う。

    1<IfModule mod_rewrite.c>
    2    RewriteEngine on
    3    RewriteRule    ^$    app/webroot/    [L]
    4    RewriteRule    (.*) app/webroot/$1    [L]
    5</IfModule>

     

CakePHP 環境の設置が終わったら、必要なら web サーバを再起動して配置位置に対応する URL をアクセスしてみる。正しく配置及び設定ができていれば、下記のような画面が表示されるはず。

CakePHP 3.x では、DebugKit がインストール済みの状態になっている。画面右下にあるオレンジ色のケーキアイコンが DebugKit ボタン。

関連タグ: CakePHP3 

関連エントリー

CakePHP3 のリダイレクトがうまく行かない例

PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)

CakePHP3 のユーザー定義ファインダーのオプション

PHP3 でデバグモードを一旦無効化した後再度有効化するとDebugKit が見つからない

CakePHP3 で JSON 応答のための定番処理