長いこと、Apache2.4で構築していたWebDavにファイルを書き込めずにいたので、いい加減調べて書き込めるようにした。
httpd.conf (からIncludeしている設定ファイル) で、なぜか method を限定していたのがダメだったぽい。
<RequireAll> Require method GET POST OPTIONS PROPFIND Require user xxxx </RequireAll>
これを
Require user xxxx
にしたら書き込めるようになった。当たり前か。最初良く分からず、なんかの設定をコピペしたのがよくなかったか。
今度は、書き込んだファイルのパーミッションが 644 になって、sambaから触れないので、umaskを002にして、パーミッションが 664 (フォルダの場合は775) になるようにした。
root@rose:/usr/local/etc/apache24 # cat envvars.d/umask002.env #!/bin/sh umask 002 root@rose:/usr/local/etc/apache24 #
httpdを実行するときに読み込まれる環境変数を設定するファイルにumask 002を実行するスクリプトを置いたら、WebDavから転送したファイルのパーミッションがちゃんと664になった。