なんかタイムリーに研究室でもSubversionを立てましょうという気風が出たので、練習とばかりにサーバ管理役となりました。しかも今回はFreeBSD6.2でサーバを立てます。こんな機会でもないと使わないからね。
1. レポジトリ格納用ディレクトリ作成
# su - # cd /home # mkdir /svn # chown www:www ./svn
2. テストレポジトリ作成
# svnadmin create --fs-type fsfs foo # chmod -R 777 foo <- どうせ内部だしめんどくさかったんで(苦笑) (ここで適当にfooにインポート) $ svn import file:///home/svn/foo
3.一旦Subversionの設定は忘れてWebDAVの設定
# emacs /usr/local/etc/apache2/httpd.conf モジュールの組み込み == LoadModule dav_module libexec/apache2/mod_dav.so <-コメントを外した ==
普通にWebDAVを使うならこのほかにVirtualHostの設定が必要だけど今回はSubversionのレポジトリを見るので別設定となるため、ここで終了。
4. SubversionとWebDAVで利用するためのモジュールをインストールする。
Subversionはpkg_addで設定してしまったため、再コンパイルが必要。
# cd /usr/ports/devel/subversion # make clean; make WITH_MOD_DAV_SVN=YES WITH_APACHE2_APR=YES WITHOUT_BDB=YES (略) mod_dav_svn module for Apache 2.X enabled. <- これを待っていた (略) しかしここでerror発生。どうやらlibtool15というのを再コンパイルしないといけないらしい。 # cd /usr/ports/devel/libtool15; make deinstall; make reinstall; 改めてSubversionをコンパイル # make clean; make WITH_MOD_DAV_SVN=YES WITH_APACHE2_APR=YES WITHOUT_BDB=YES # make install そしたら再インストールしろとか言われたからやりました。 # make deinstall; make reinstall;
5. Apacheの設定
# cd /usr/local/etc/apache2/Includes # emacs dav_svn.conf <- このファイルは新規に作成する == <Location /> <IfModule mod_dav.c> Dav svn SVNParentPath /usr/local/var/svn </IfModule> <LimitExcept GET PROPFIND OPTIONS REPORT> Deny from all </LimitExcept> </Location> ==
これでhttp://IP_ADRESS/fooにアクセスすれば/home/svn/fooのレポジトリを参照できる。