OS XにWebDAVをいれる
購入してからほとんどiTunesサーバと化しているMac miniを久しぶりにさわった。
portをいれてあるので、Subversion自体のインストールは簡単だが、WebDAVの導入は以前挑戦してうまくいかずそのままにしていた。
port selfupdate
まずはport自体をアップデートする。
port sync
どうやらこれがDebianにおけるapt-get updateらしい。知らなかった。
port uninstall subversion @1.3.X_X
port clean subversion
port install subversion +mod_dav_svn
WebDAVを使うということは、Apache2とmod_dav_svnを使うことだ。Apache2はどうにでもなるが、mod_dav_svnの入れ方が今までわからなかった。"mod_dav_svn"という名前のportは存在しないし、"DAV"や"subversion"で検索してもヒットしないから自分で、ビルドしたが結局コンパイルできず挫折していた。
そもそもport自体ろくに調べないで使っていたので(何しろport syncを実行していないくらいだから)知らなかったが、portには"Variant"という一種のオプションのような概念があって、mod_dav_svnは、「subversionに対する」Variantであって、subversion +mod_dav_svnとして指定するということが今日わかった。既にsubversionが入っている状態でsubversion +mod_dav_svnを入れようとすると、「もうsubversion入ってるよ」と言われるので、一度port uninstall subversionして、念のためcleanしている。
portではDebianのようには自動化されていないので、subversion +mod_dav_svnが終了したら、httpd.confに手動で、/opt/local/apache2/conf/httpd.confに
LoadModule dav_svn_module modules/mod_dav_svn.so
と
DAV svn SVNParentPath "/somewhere/svn/"
を追加しておく。OS XにはApache1が入っているからそれを停止しておいて、apache2を起動したらWebDAVでMac mini上のレポジトリにアクセスできるようになった。
Windows XPにはcygwin上にsubversionとWebDAVの環境を実現済みだったけれども、やっぱりサーバはWindowsよりもOS Xのほうが気分がでる(どうせiTunesサーバで常にあげているし)。cygwinでは、mod_dav_svnはApache2やsubversionとは独立なパッケージとして選択、導入ができて、portのVariantという概念がない分環境を作るのは容易だ。