cakephp3のテストページが表示されない

cakephp3のテストページが表示されない

環境設定って本当にめんどくさいですよね。

経緯

cakephp3をcentOS7にインストールする。

phpのバージョンは5.6。cakephp3はphp5.5.9以降でないと使用できないらしい。ギリギリやんけ。

インストール要項を見ると、PHP mbstringとPHP intlが必要とのこと。
phpinfo()から追加モジュール一覧を見てみると、PHP intlがなかったのでインストール。

composerは既にインストールされている、かつパスが通っている。

プロジェクト名はsampleということにして、ルートディレクトリの/var/www/html/下にインストール。ディレクトリはなければ自動で作成してくれます。

プロジェクトディレクトリが空じゃないエラー

ちなみにプロジェクト作成先のディレクトリ(この例ではhogeです)に何かファイルが入っていると、
project directory hoge/ is not empty.
プロジェクトディレクトリのhoge/の中身が空じゃねーよ!と怒られます。

これで間違えて既存のディレクトリにプロジェクトが作成される、ということが防げますね。

インストールが完了したので、logファイルに書き込み権限を与える。
それでテストページにアクセスしてみると。

テストページエラー

何のこっちゃ。

エラーメッセージを見ると、Permission denied~と書いてある。またバーミッションかよ……と思いつつも、指定されているvendor/以下にパーミッションを許可してみる。
表示されない。ダメ。

解決

調べてみるとどうやらSELinuxというシステムのセキュリティ管理をしているモジュールが原因であったことが判明。

このSELinuxの効果が強力なもんで、cakephpがブロックされている模様。
SELinuxの状態を確認をする。

EnforcingとはSELinuxのアクセス制御が有効になっている状態らしい。これを無効にする。

再度SELinuxの状態を確認する。

変わった。
ちなみに再度有効にするには、

setenforceを1にする。

再度cakephpのテストページにアクセスしてみる。

テストページが表示される

無事表示されました!

仮想サーバー立てるでも、ローカル環境を構築するとかでもそうだけど、本当に最初の初期設定ってたいていスムーズにいかないから面倒です。

cakephp3の公式ページの配色がきつい

ちなみにcakephpのwebサイトはなんでこんなに目に痛いんだろうか。

↓laravelでもテストページ代わりのwelcome.blade.phpが表示されない