とりあえず、MacをWebDAVサーバにしてみた。

とりあえず、Apache2に乗せかえるの、Subversion入れるのといった事はめんどっちいので、まずはWebDAVサーバにしてみた。これで十分ならこれでいいしさ。


Apacheを停止する。
SystemPreferenceのSharingから、Personal Web SharingをStopする。


ロック情報格納用ディレクトリを作成する。
参考文献によると、OSX Serverだとここがデフォルトになるみたいなので、それに習って。


% sudo mkdir -p /var/run/davlocks
% sudo chown www:www /var/run/davlocks

WebDAV用のディレクトリを作成
Apachehttp://xxx.xxx.xxx.xxx/hoge/WebDAVディレクトリとなる様に。


% sudo mkdir -p /Library/WebServer/Document/hoge
% sudo chown www:www /Library/WebServer/Document/hoge

準備完了。


いよいよ、Apacheの設定。


% sudo vi /etc/httpd/httpd.conf
と、viを起動して……。

# コメント解除
LoadModule dav_module libexec/httpd/libdav.so
AddModule mod_dav.c

# 行追加
DAVLockDB "/var/run/davlocks/lockfile"
DAVMinTimeout 600

Alias /hoge "/Library/WebServer/Documents/hoge"

DAV on

とりあえず、これで保存してあぱちぇを起動。
止めたときと同様に、SystemPreferenceのSharingから、Personal Web SharingをStartする。

とりあえず、Windows機からアクセスしてみる。
マイネットワーク>ネットワークプレースの追加で、
http://xxx.xxx.xxx.xxx/hoge
としてアクセス。
とりあえず、新規ファイル、新規ディレクトリが作れる。ブラウザからも閲覧可。


なんか、ルートにhogeフォルダ作って…ってのはなんか気に入らない。ので、WebDAVのアカウントを作ってみる。
http://xxx.xxx.xxx.xxx/~dav
が、WebDAVになる様にしてみる。

とりあえず、アカウントはdavで作成しておく。
SystemPreferenceから作れる。

とりあえず、Apache停止して、httpd.confを再編集してみる。
さっき書いたこれ、全部コメントアウト


# Alias /hoge "/Library/WebServer/Documents/hoge"
#
# DAV on
#

んで、アカウントごとの設定ファイルを編集する。

% sudo vi /etc/httpd/users/dav.conf
と、viで開いて…。
要素に、
DAV on
を追加する。
これで、OK。


で、さっきと同じようにネットワークプレースを追加して確認。



【課題】
とりあえず、WebDAVできるようにはなったけども、このままじゃあ使い物にならないので、
・認証の追加
SSLの導入
と、順にやって見たいと思いますよ。
これやらないと、公開できないですよ。セキュリティもクソもあったもんじゃない。



あと、/~davのエイリアスが見に行くディレクトリを、/Users/dav/Sitesから、別のディレクトリに変更しようと思ってdav.confをいじったけども変わらなかった。どうも、httpd.confのユーザモジュールかなんかの設定で、Sitesって決められちゃってるのでそちらが優先されている様子。変更するにはこっちもいじらないとダメみたい。今回はいじるのやめ。
/Users/dav/Sites
が、
http://xxx.xxx.xxx.xxx/~dav
で、アクセス出来るようになった。