powerdee.com
Google
 
このサイト内 Web
 
カウンタ

Subversionサーバ構築

そろそろ、CVSからSubversionに移行しようと思うので、構築手順をまとめておきます。


Subversionのインストール(CentOS3)

CentOSならyumでインストールする方法が一般的ですが、パッケージのバージョンが古いので最新版を Subversionのミラーサイトからダウンロードします。 このページのDownloadsからミラーサイトへリンクします。
http://subversion.tigris.org/project_packages.html

rhel3のRPMSを以下のサイトからダウンロード。
http://summersoft.fay.ar.us/pub/subversion/latest/rhel-3/i386/

以下をダウンロード。Apacheも依存するので、一緒に落としてきます。。
neon-0.24.7-1.i386.rpm
subversion-1.4.2-1.i386.rpm
mod_ssl-2.0.46-61.1.ent.i386.rpm
httpd-devel-2.0.46-61.1.ent.i386.rpm
httpd-2.0.46-61.1.ent.i386.rpm
mod_dav_svn-1.4.2-1.i386.rpm

で、インストール。

# rpm -ivh neon-0.24.7-1.i386.rpm
Preparing...                ########################################### [100%]
   1:neon                   ########################################### [100%]

# rpm -ivh subversion-1.4.2-1.i386.rpm
Preparing...                ########################################### [100%]
   1:subversion             ########################################### [100%]

# rpm -Uvh mod_ssl-2.0.46-61.1.ent.i386.rpm httpd-devel-2.0.46-61.1.ent.i386.rpm httpd-2.0.46-61.1.ent.i386.rpm
Preparing...                ########################################### [100%]
   1:httpd                  ########################################### [ 33%]
   2:mod_ssl                ########################################### [ 67%]
   3:httpd-devel            ########################################### [100%]

# rpm -ivh mod_dav_svn-1.4.2-1.i386.rpm
Preparing...                ########################################### [100%]
   1:mod_dav_svn            ########################################### [100%]

リポジトリの設定

/etc/httpd/conf/httpd.conf に以下を追記します。

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

先ほどの、mod_dav_svnをインストール後、/etc/httpd/conf.d/subversion.conf が作成されるので、以下のように編集します。 BASIC認証によってリポジトリへのアクセスを制限しています。
このリポジトリにアクセスするURLは、httpd://<ホスト名>/reposになります。

<Location /repos>
  DAV svn
  SVNPath /var/www/svn

  AuthType Basic
  AuthName "Authorization Realm"
  AuthUserFile /etc/httpd/.svnpasswd        <-- パスワード管理ファイル
  AuthzSVNAccessFile /etc/httpd/svn.conf    <-- アクセス制御ファイル
  Require valid-user
</Location>

パスワード管理ファイルの作成

apacheのhtpasswdで作成します。

# htpasswd -b -c /etc/httpd/.svnpasswd hoge hogepass
# htpasswd -b /etc/httpd/.svnpasswd pow powpass

リポジトリの作成

Apacheが読み書きできるように所有権を変更します。

# svnadmin create /var/www/svn
# chown -R apache:apache /var/www/svn

アクセス制御ファイルの作成

アクセス制御は([リポジトリ名:パス])の下にユーザー毎の権限を指定します。権限は親ディレクトリの設定を継承します。

# vi /etc/httpd/svn.conf
[repos:/]
*=r        <-- 全てのユーザーが読み込み可能
[repos:/branch]
hoge=rw    <-- hogeは読み書き可能
pow=       <-- powはアクセス不可

設定を反映します。

# service httpd graceful


ページTopへ / ▲Homeへ