Composerを使ってCakePHPをインストールすると、logとかtmpディレクトリを適宜作って、かつ、パーミッションを設定してくれます。 これまでは、アプリケーション独自のディレクトリを作る場合に手動でスクリプトを叩いていたのですが、面倒かつ、抜けがでるので Composerにやらせることにしました。
やり方は簡単で、composer.jsonに次の記載をするだけです:
"scripts": { "post-install-cmd": [ "mkdir -p ./data/uploads; chmod 777 ./data/uploads", "App\\Console\\Installer::postInstall" ],
App\\Console\\Installer::postInstall
は最初から入っていて、tmpやらlogやらを作ってくれます。
その上の行でdata/uploadsディレクトリを作成し、パーミッションを設定しています。