2004年12月05日

Apache2+Subversion on Gentoo

Gentooに入れたSubversionを適当にApache2のWebDAVから使ってたんですが最新版に入れ替えてetc-updateをかけたら見事に設定ファイルを消されてしまいました(苦笑)
(気をつけていたつもりだったんですが、見落としたようで・・・)

本当etc-updateは百害あって一利無しなんでもう実行パーミッション落としておくことにします。
(替わりにdispatch-confを使えばバックアップ取っておいてくれるらしいので、時間があるときにこっちの使い方をちゃんと勉強しておかないと)

で、設定がまっさらになったんで、折角だからGentooのApacheの設定のお行儀に乗っ取って設定をしてみることにしました。

RedHat等ではApacheの設定ファイルは

/etc/httpd/conf/httpd.conf
なんて言うファイル一つに詰め込まれていますが、GentooのApache2の設定ファイルは「/etc/apache2/conf/apache2.conf」が起点となり、「/etc/apache2/conf/commonapache2.conf」に全般的な設定、「/etc/apache2/conf/modules.d」以下にモジュール毎の設定、「/etc/apache2/conf/vhosts」以下にバーチャルホスト毎の設定を書くような構成になって居ます。

消える前は面倒だったので「/etc/apache2/conf/apache2.conf」に必要な設定を全て書いて居たんですが、今回は極力お行儀に従うために、「/etc/apache2/conf/modules.d/47_mod_dav_svn.conf」にSubversion用の設定を書き換えます。

私が書き換えたのは「Location」の部分で、書き換えた内容は↓

<Location /svn>
DAV svn
SVNPath /usr/local/svn/webdav/
# AuthType Basic
# AuthName "Subversion repository"
# AuthUserFile /var/svn/conf/svnusers
# Require valid-user
</Location>
外部には一切公開されないサーバなので認証は省きました。

それで、各モジュールの設定ファイルは基本的にApacheの起動オプションでDefineを渡して初めて読み込まれるので、Apacheの自動実行の設定ファイルである「/etc/conf.d/apache2」で次のように変更します。

#APACHE2_OPTS="-D SSL"
          ↓
APACHE2_OPTS="-D DAV -D DAV_FS -D SVN"
参考URL:なお、このときにうっかり「APACHE2_OPTS="-D SVN"」とやってしまいがちですが、これをやると「undefined symbol: dav_xml_get_cdata」なるエラーがでて見事にこけます(笑)

参考URL:

で、後は
/etc/init.d/apache2 restart
等として無事動作するようになりました。

にしても、本当にGenntooには地雷が沢山埋まってるなぁ(苦笑)

Posted by Takuchan at 2004年12月05日 21:42 | トラックバック(0)