2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravelのパーミッション設定

Last updated at Posted at 2024-02-06

いつも迷うので簡単にLaravelのパーミッション設定について書こうと思う

本番デプロイ時のパーミッション設定

sudo chown -R www-data:www-data storage bootstrap/cache
sudo find storage -type d -exec chmod 775 {} \;
sudo find storage -type f -exec chmod 664 {} \;
sudo chmod -R 775 bootstrap/cache
sudo usermod -aG www-data ec2-user

ここで

  • www-data:www-dataは各環境のWEBサーバーが動くグループとユーザー
  • www-data ec2-userは各環境のWEBサーバーが動くグループとログインユーザー

なので気をつけてください
sudo usermod -aG www-data ec2-usercomposer installなどを打つ時にSSHしているユーザーにログの書き込み権限を付与するために必要です。

またコマンドを打った後一度SSH接続をログアウトして再度ログインしないとグループ情報が更新されないのも注意してください

についても

Webサーバーユーザーを確認する方法

上記www-data:www-dataを何という値にすればいいのか分からなくなっていつも困るので、Webサーバーのユーザーを確認する方法も書こうと思う

Apacheの場合

# 設定値から調べる時
grep -i 'User\|Group' /opt/bitnami/apache2/conf/httpd.conf

# 動いているプロセスから調べる時
ps aux | grep apache

Nginxの場合

# 設定値から調べる時
grep -i 'user' /opt/bitnami/nginx/conf/nginx.conf


# 動いているプロセスから調べる時
ps aux | grep nginx

その他注意点

上記の場合バッチを動かすユーザーを誰にするかで悩むと思う

cronを動かすとしたらdaemonやwww-dataでcronを動かさないとこれまたパーミッションエラーが出るので考慮する必要はありそう

# www-dataでcronの設定をする
sudo crontab -u www-data -e

以上

簡単ですがこれまで。何か間違っているところやそれは微妙じゃない?ということがあればそこそこ辛辣なコメントを残していただいて大丈夫です。よろしくお願いします。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?