サーバ設定

プロジェクトを生成

プロジェクトを生成する

##ディレクトリの作成
mkdir /var/svn/
##リポジトリの作成
svnadmin create /var/svn/repos
##権限の作成
chown -R apache:apache /var/svn/repos
 
 

svnserveサーバを設定する

/etc/services

# 以下の行を追加します
svnserve        3690/tcp                        # Subversion
svnserve        3690/udp                        # Subversion
 

/etc/xinetd.d/svnserve

service svnserve
{
    disable = no
    socket_type = stream
    protocol = tcp
    wait = no
    user = root
    server = /usr/local/svn//bin/svnserve
    server_args = -i --root /var/svn
    env = LANG=ja_JP.UTF-8
    passenv = LANG
}
 

svnserve登録、再起動

chkconfig --add svnserve
/etc/init.d/xinetd restart
 

確認

コマンドで確認
svn list svn://localhost/repos
##なにも表示されない場合はOK
 
クライアントツールで確認


アクセス制御設定

conf/svnserve.conf(アクセス制御)設定
[general]
# 匿名ユーザーに与えるアクセス権限
anon-access = read
 
# 認証されたユーザーに与えるアクセス権限
auth-access = write
 
# パスワードファイルのパス
password-db = passwd
 
conf/passwd(パスワードファイル)設定
[users]
# [ユーザー名] = [パスワード]
test1 = test1pass
test2 = test2pass
 

確認



apacheサーバを設定する

apache設定ファイル(http.conf)の編集

## ユーザー、グループを変更
User apache
Group apache
 
## ロードモジュールを確認
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
 
## Subversion用
Include conf/extra/httpd-subversion.conf
 

apache設定ファイル(subversion用)の編集

## /usr/local/apache2/conf/extra/httpd-subversion.confを作成
<Location /svn>
   DAV svn
   SVNParentPath /var/svn
</Location>
 

動作確認

「http://サーバ/svn/リポジトリ」でアクセスする

認証

ベーシック認証用設定
<Location /svn>
  DAV svn
  SVNListParentPath on
  SVNParentPath /var/svn
 
  # only authenticated users may access the repository
  Require valid-user
 
  # how to authenticate a user
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile /var/svn/.htpasswd
</Location>
 
ベーシック認証用パスワードファイル作成
## 新規作成
htpasswd -c .htpasswd ユーザ名
 
## 追加
htpasswd .htpasswd ユーザ名
 
## 削除
hpasswd -D .htpasswd ユーザ名
 
確認


ダイジェスト認証
<location /svn>
   DAV svn
   SVNListParentPath on
   SVNParentPath /var/svn
 
   # only authenticated users may access the repository
   Require valid-user
 
   AuthType Digest
   AuthName "Subversion repository"
   AuthDigestProvider file
   AuthUserFile /var/svn/.htdigest
 
</location>
 
ダイジェスト認証用パスワードファイル作成
## 新規作成
htdigest -c .htdigest "Subversion repository" ユーザ名
 
## 追加
htdigest .htdigest "Subversion repository" ユーザ名
 
確認

アクセス制御設定ファイル(サンプル)

## ユーザー = 認証
## /var/svn/.svnaccess
 
# 認証レベル
## r    : 読み込み
## w    : 書き込み
## なし : アクセス不可
 
[/]
admin = rw
 
# sample1 リポジトリ
[sample1:/]
user1 = rw
user2 = r
 
# sample2 リポジトリ
[sample2:/trunk/test]
user1 = rw
user2 = r
 
# sample3 リポジトリ
[/sample3]
* = 
 

認証ファイル定義

<Location /svn>
   DAV svn
   SVNListParentPath on
   SVNParentPath /var/svn
 
   # only authenticated users may access the repository
   Require valid-user
 
   # how to authenticate a user
   AuthType Basic
   AuthName "Subversion repository"
   AuthUserFile /var/svn/.htpasswd
 
   # how to access a user
   AuthzSVNAccessFile /var/svn/.svnaccess
 
</Location>
 





最終更新:2010年10月31日 01:42