ディレクトリ storage, bootstrap/cache のオーナーと権限を変更しましょう Laradock on Ubuntu @大人プログラミング部

こんにちは。山崎代三です。今回も要点だけの記述です。

ディレクトリ storage, bootstrap/cache のオーナーと権限を変更しましょう

理由:ディレクトリの権限を設定しないと、Laradockが動かないため。正確に言えば、webアプリケーション(php)からの書き込み操作ができないため。

この設定が必要なのは、たぶん、Linux 環境だけです。ネットの情報が少ないのは、Windows 環境や Mac 環境 では問題にならないからでしょう。そして、Linuxを使う人には常識なんでしょうね……。

設定方法は簡単です。Laradock プロジェクトのソースディレクトリにて、chown と chmod を実行するだけです。

~/laratuto/src$ sudo chown -R $USER:www-data storage
~/laratuto/src$ sudo chown -R $USER:www-data bootstrap/cache
~/laratuto/src$ chmod -R 775 storage
~/laratuto/src$ chmod -R 775 bootstrap/cache

ちなみに、これをやらないとどうなるのか……。

docker-compose 起動状態で、localhost をブラウザで表示すると、こんなエラーが表示されます。

UnexpectedValueException
The stream or file "/var/www/storage/logs/laravel-2019-09-21.log" could not be opened: failed to open stream: Permission denied

参考サイト

php – How to fix Error: laravel.log could not be opened? – Stack Overflow
https://stackoverflow.com/questions/23411520/how-to-fix-error-laravel-log-could-not-be-opened