CentOSにSubversionをインストールしてみる

VirtualBoxにCentOSをとりあえずインストール
の続き

CentOSSubversionをインストールしてみる。

Subversionのインストール

Subversionをインストールする。

$ sudo yum -y install subversion
確認

リポジトリを作成してみる。

$ svnadmin create sample_repo
$ ls
sample_repo

作成したリポジトリに、trunkなどのディレクトリを用意してみる。

$ mkdir -p /tmp/svn/{trunk,branches,tags}
$ svn import /tmp/svn file:///home/hoge/sample_repo -m "create trunk branches and tags." 

チェックアウトすると、ディレクトリが作成できているのが確認できる。

$ svn checkout file:///home/hoge/sample_repo sample
$ tree sample
sample
├── branches
├── tags
└── trunk

http経由でリポジトリを参照してみる

$ su -

Apacheとmod_dav_svnをインストールする。

# yum -y install httpd mod_dav_svn

設定する。

# vi /etc/httpd/conf.d/subversion.conf
↓以下のコメントを解除
<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /path/to/passwdfile
      Require valid-user
   </LimitExcept>
</Location>

SVN用のディレクトリを用意する。

# mkdir /var/www/svn
# chown apache:apache /var/www/svn

リポジトリを作成する。

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

Apacheを起動する。自動起動の設定もしておく。

# service httpd start
# chkconfig httpd on
確認

http://サーバーのアドレス/repos/sample_repo/
にアクセスすると、下記のような画面が表示される。

Macからチェックアウトしてみる。

mac$ svn checkout http://サーバーのアドレス/repos/sample_repo sample
Checked out revision 0.
mac$ ls
sample/

チェックアウトできた。


http経由でリポジトリを更新してみる

次に更新してみる。

認証の設定ができていないので、設定する。

まず、パスワードのファイルを作成する。

# htpasswd -c -m /etc/httpd/conf/.htpasswd SVN用のユーザー名
(パスワード入力)

下記のようなファイルが作成される。

# cat /etc/httpd/conf/.htpasswd
SVN用のユーザー名:$apr1$JddxpLSW$gEsbroYXnPrL9S3pbuC0//

パスワードのファイルを設定する。

# vi /etc/httpd/conf.d/subversion.conf
      AuthUserFile /path/to/passwdfile
      ↓
      AuthUserFile /etc/httpd/conf/.htpasswd

再起動して反映。

# service httpd restart
確認

前回チェックアウトしたsampleディレクトリに移動し、ディレクトリを作成し、addする。

mac$ cd sample/
mac$ mkdir trunk
mac$ add trunk

コミットする。

mac$ svn commit --username SVN用のユーザー名 -m 'create trunk'
・・・
Adding         trunk

Committed revision 1.

コミットできた。