Subversionの設定メモ

普通にSubversionを設定するだけなら簡単ですが、Rootを持っていないサーバに対して設置して貰う場合は依頼内容を明確にしないといけないのでそのメモ。

○前提条件

  • Apacheと連携してhttp://でアクセスできるようにする
  • 1個の設定で複数のレポジトリを管理できるように
  • Apacheのユーザーはnobodyで動いている
  • SVNのデータ置き場は/data/svn
  • BASIC認証をする
  • 特定のディレクトリproj1/document は自動管理をする。 

○Apacheの設定

<Location /svn>
    DAV svn
    SVNParentPath /data/svn
    SVNListParentPath on

    AuthType Basic
    AuthName "tamtam private repository"
    AuthUserFile /etc/svn-auth-file
    Require valid-user
</Location>
<Location /svn/proj1/document>
    SVNAutoversioning on
</Location>

HTTPSのみ受け付けるようにするには、以下の記述を追加する。

    Require SSL connection for password protection.
    SSLRequireSSL

○レポジトリを作成する

svnadmin create /data/svn/proj1
chmod -R nobody:nobody /data/svn/proj1

○コミットメールの設定

コミットメールはhookディレクトリにpost-commitというファイルを作成します。
検索するとRubyを使ってメールを送信しているものが多いですが、会社のサーバには標準インストールされていないのでPERLで書いてみます。

これは別の記事に書こう。

新しいサイトもよろしくお願いします!