subversion on Ubuntu Server 9.04

参考にしたサイト

UbuntuへのApache + Subversionのインストール方法
http://d.hatena.ne.jp/u6k/20090514/1242279696
Redmine.JP | Subversionとの連携
http://redmine.jp/tech_note/subversion/

Subversion のインストール

apt-get を使うよう統一しているので、aptitude は使わず。

# sudo apt-get install subversion 
# sudo apt-get install libapache2-svn

終わったら apache2 を再起動。

# sudo /etc/init.d/apache2 restart

リポジトリの作成

/usr/local/var/svn/repos/ に作成。他の諸々も全て root で動かすというのであれば、/usr/local/var/ 以下ではなく /var/ 以下でいいかもしれない。平易かつ安全なサーバ運用のためにはディレクトリの命名規則が命。
終わったらきちんと作成できているかを確認。
とりあえず動かしたいのでリポジトリディレクトリ以下を chmod 777。(tortoiseSVN から接続させるのにめんどくさくなったのもある)

# sudo mkdir -p /usr/local/var/svn/repos/
# sudo svnadmin create /usr/local/var/svn/repos/

# svn info file:///usr/local/var/svn/repos/

# sudo chmod -R 777 /usr/local/var/svn/repos/

apache2 - mod_dav_svn の設定

http: でアクセスできるように、dav_svn.conf の設定を変更する。

# sudo vi /etc/apache2/mods-enabled/dav_svn.conf

以下の行をコメント解除、変更する。
(とりあえず単一のリポジトリで運用。複数のリポジトリを扱いたい場合は SVNParentPath をコメント解除、変更する。データのインポート、コミット時の書き込み権限を要求する Basic 認証などもここで設定するが、今回はスルー)

<Location /svn/repos>
  DAV svn
  SVNPath /usr/local/var/svn/repos

  # Apatch2 上のリポジトリ以下のディレクトリへのアクセス時に
  # Basic 認証を有効にする
  #AuthType Basic
  #AuthName "Subversion Repository"
  #AuthUserFile /etc/apache2/dav_svn.passwd

  # 書き込み時に権限を要求する
  #<LimitExcept GET PROPFIND OPTIONS REPORT>
  #  Require valid-user
  #</LimitExcept>

</Location>

変更したらもう一回 apache2 を再起動。ブラウザから、http://[サーバ名]/svn/repos/ へアクセスできることを確認。諸々の Subversion クライアントから http 接続でインポート、チェックアウト、コミットなどが行えることを確認。

# sudo /etc/init.d/apache2 restart

# svn info http://localhost/svn/repos/