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を起動したらWebDAVMac mini上のレポジトリにアクセスできるようになった。

Windows XPにはcygwin上にsubversionとWebDAVの環境を実現済みだったけれども、やっぱりサーバはWindowsよりもOS Xのほうが気分がでる(どうせiTunesサーバで常にあげているし)。cygwinでは、mod_dav_svnはApache2やsubversionとは独立なパッケージとして選択、導入ができて、portのVariantという概念がない分環境を作るのは容易だ。