Subversion,Apacheの導入手順

提供: Software Development Memo
移動先: 案内検索


このページは、HTTP経由でSubversionを使用するための手順を記述します。内容は、Review Boardの導入手順の内容を抜き出して、多少修正したものです。


環境

  • OS : CentOS 6.2
  • Apache : 2.2.17
  • Subversion : 1.6.15

インストール

Apache

入手先 : http://httpd.apache.org/

$ tar zxvf httpd-2.2.17.tar.gz
$ cd httpd-2.2.17
$ ./configure --enable-dav
$ make
# make install

「--enable-dav」はSubversionインストール時に導入されるモジュール「dav_svn_module」を動作させるために必要です。

neon

Subversionのコマンドでhttpスキームを使用するために必要なライブラリであるneonをインストールします。svnコマンドでhttpスキーム(「svn co http://」等)を使用しない場合は、インストール不要です。

入手先 : http://www.webdav.org/neon/

$ tar zxvf neon-0.29.5.tar.gz 
$ cd neon-0.29.5
$ ./configure
$ make
# make install

SQLite Amalgamation

Subversionのビルドに必要となるSQLiteのソースコードをダウンロードします。

入手先 : http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz

Subversion

入手先 : http://subversion.tigris.org/

$ tar jxvf subversion-1.6.15.tar.bz2
$ tar zxvf sqlite-amalgamation-3.6.13.tar.gz 
$ mv sqlite-3.6.13/ subversion-1.6.15/sqlite-amalgamation
$ cd subversion-1.6.15
$ ./configure
$ make
# make install

設定

Apache

「/usr/local/apache2/conf/httpd.conf」を編集します。

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location "/svn/test/test01">
    DAV svn
    SVNPath /var/lib/svn/test/test01
    AuthzSVNAccessFile /usr/local/apache2/conf/svn.authz
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /usr/local/apache2/conf/.htpasswd
    Require valid-user
</Location>

svn.authz

アクセス制御ファイルを「/usr/local/apache2/conf/svn.authz」に作成します。

[groups]
admin = user01

[/]
@admin = rw

.htpasswd

ApacheのBasic認証ファイルを「/usr/local/apache2/conf/.htpasswd」に作成します。

# /usr/local/apache2/bin/htpasswd -c /usr/local/apache2/conf/.htpasswd user01
New password: 
Re-type new password: 
Adding password for user user01

リポジトリ作成

Subversionリポジトリを作成します。リポジトリのパーミッションはApacheの実行ユーザー(初期値ではdaemon)とします。

# mkdir -p /var/lib/svn/test/test01
# cd /var/lib/svn/test/test01
# svnadmin create .
# chown daemon.daemon /var/lib/svn/ -R

起動

Apache

# /usr/local/apache2/bin/apachectl start

Apache起動後、「http://<Apacheのホスト名>/svn/test/test01/」でチェックアウトできれば設定完了です。

更新履歴

  • ページ作成 -- 2012年3月4日 (日) 16:44 (JST)