DEVELOPERS BLOGデベロッパーズブログ
- HOME >
- 加藤 正人のデベロッパーズブログ >
- CakePHP 3.x インストールメモ
加藤 正人のデベロッパーズブログ
- 氏名
- 加藤 正人
- 役職
- 多分SE
- 血液型
- 秘密
- 出没
- 美味しいもののあるところ
- 特色
- タヒチ大好き。ちょいメタボ。
- 2020/12/15
- CakePHP3 のリダイレクトがうまく行かない例
- 2020/11/12
- Apache Bench
- 2020/10/05
- PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)
CakePHP 3.x では、これまでのインストールキットとは違い Composer ベースでのインストールになっているのでインストール手順を調査してみた。
システム要件
- PHP 5.4.16 またはそれ以降
- mbstring エクステンション
- intl エクステンション
インストールキットの入手
インストールキットは、CakePHP の公式サイトからダウンロードできる。
インストールキットの展開と配置
インストールキットの展開と配置は、概ね下記の手順で行うことができる。
-
インストールキットは zip アーカイブになっているので、適切なツールを使って展開する。
-
展開したフォルダをテストサーバや実サーバ上の適切なフォルダ (以下 {INST} と表記) にコピーする。通常は public_html フォルダになる。
※この状態では、Composer によるインストールに必要なファイルが展開されるだけなので CakePHP の動作環境にはなっていない。
-
サーバー上の {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
02
Installing cakephp/app (3.0.5)
03
- Installing cakephp/app (3.0.5)
04
Downloading: 100%
05
06
Created project
in
/var/virtual-hosts/XXXX/public_html/app
07
Loading composer repositories with package information
08
Installing 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
78
symfony/console suggests installing symfony/event-dispatcher ()
79
symfony/console suggests installing symfony/process ()
80
symfony/var-dumper suggests installing ext-symfony_debug ()
81
psy/psysh suggests installing ext-pdo-sqlite (The doc
command
requires SQLite to work.)
82
cakephp/debug_kit suggests installing ext-sqlite (DebugKit needs to store panel data
in
a database. SQLite is simple and easy to use.)
83
Writing lock
file
84
Generating autoload files
85
> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
86
> App\Console\Installer::postInstall
87
Created `config/app.php`
file
88
Set Folder Permissions ? (Default to Y) [Y,n]? Y
89
Permissions
set
on /var/virtual-hosts/XXXX/public_html/app/tmp/cache
90
Permissions
set
on /var/virtual-hosts/XXXX/public_html/app/tmp/cache/models
91
Permissions
set
on /var/virtual-hosts/XXXX/public_html/app/tmp/cache/persistent
92
Permissions
set
on /var/virtual-hosts/XXXX/public_html/app/tmp/cache/views
93
Permissions
set
on /var/virtual-hosts/XXXX/public_html/app/tmp/sessions
94
Permissions
set
on /var/virtual-hosts/XXXX/public_html/app/tmp/tests
95
Permissions
set
on /var/virtual-hosts/XXXX/public_html/app/tmp
96
Permissions
set
on /var/virtual-hosts/XXXX/public_html/app/logs
97
Updated Security.salt value
in
config/app.php
98
$
-
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 ボタン。
関連エントリー
- 2020/12/15
- CakePHP3 のリダイレクトがうまく行かない例
- 2020/10/05
- PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)
- 2020/08/03
- CakePHP3 のユーザー定義ファインダーのオプション
- 2020/05/07
- CakePHP3 で JSON 応答のための定番処理