Subversionサーバ構築そろそろ、CVSからSubversionに移行しようと思うので、構築手順をまとめておきます。 Subversionのインストール(CentOS3)
CentOSならyumでインストールする方法が一般的ですが、パッケージのバージョンが古いので最新版を
Subversionのミラーサイトからダウンロードします。
このページのDownloadsからミラーサイトへリンクします。 # 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認証によってリポジトリへのアクセスを制限しています。 <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 |