うらぶろぐ

自分で参照するためだけのブログ。本家はこちら

CakePHP3をUbuntu16.04にインストールする

諸事情によりUbuntuから開発を行うことに。

下準備

下記の環境が用意されていること(Cookbookより)

  • HTTPサーバー。例: Apachemod_rewrite が推奨されますが、必須ではありません。
  • PHP 5.5.9 以上 (PHP 7 も含む)
  • PHP mbstring 拡張
  • PHP intl 拡張

サポートされているデータベースエンジン

拡張モジュールが入っているか確認

php -m

余談だが、php -i はphpinfo の実行結果を表示してくれる。違いがわからなかったのでφ(..)メモメモ
それぞれ下記のコマンドで確認できる。

$ php -m | grep mbstring
$ php -m | grep intl

自分の環境でPHP intl 拡張がないためインストールする

$ sudo apt-get install php-intl
Composerのインストール

公式サイトみたら以前あったコマンドが消えていた。。。
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

$ php composer create-project --prefer-dist cakephp/app app_name

apache2の設定

AllowOverrideをNoneからAllに変更

/etc/apache2/apache2.conf
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

mod_rewriteを有効にする

sudo a2enmod rewrite
sudo service apache2 restart

DBの設定は後で書くとして、
http://localhost/app_nameにアクセスしても404 notfoundだった。

結果だけ書くと、/var/www/html以下にapp_nameを置けば良い。

ここでapacheのDocumentRootの概念を知らなかったので少し詰まった。
UbuntuでApache2のドキュメントルートをユーザーディレクトリに変更する。 in Koonzの毎日作りかけブログ
参考に試したけど結局だめだったやり方。
のパスを書き換えたら403でアクセス拒否された。
000-default.confを変えたらアクセスはできたけどエラーが表示された。





参考にさせていただいたサイト
CakePHP3.xの詳細インストール手順 | jMatsuzaki