サーバ設定
プロジェクトを生成
プロジェクトを生成する
##ディレクトリの作成
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