[Apache] 実行ユーザーの umask の設定方法

Apache 実行ユーザーの umask の設定方法をメモ。

# find / -name envvars
/usr/local/apache2/bin/envvars
# vim /usr/local/apache2/bin/envvars
 
# umask 002 to create files with 0664 and folders with 0775
umask 002
# service httpd restart

例えば、Capistrano での自動デプロイ運用で、この設定が役に立つ。

Capistrano で自動デプロイするときに、色んなユーザから deploy できるようにしたい場合にぶつかるファイルのパーミッション問題を umask の設定で解決できる。

Apache とデプロイ権限のあるユーザを共通グループ(deploy とか)に所属させて、運用させたいWebアプリのファイルのグループ所有にする。

そして、パーミッションもファイルは 664、ディレクトリは 775 にすれば、cap deploy:cleanup とかでファイルを削除するタイミングでもエラーが出ることはなくなるはず。

[参考]:/etc/sysconfig/httpd