우분투 시스템이 있고 거기에 Subversion이 설치되어 있습니다. 이제 여러 저장소를 만들고 싶습니다. 모든 저장소에는 자체 로그인이 있어야 합니다.
예를 들면---example.com/svn/repo1 : user--1
example.com/svn/repo2 : 사용자--2
example.com/svn/repo3 : 사용자--3
이제 user1은 repo2 및 repo3에 액세스하면 안 됩니다. & user2는 repo1 및 repo3에 액세스해서는 안 됩니다.
여러 저장소를 만들 수 있지만 로그인은 만들 수 없습니다. 저를 도와주세요.
감사해요
답변1
dav_svn_module 사용
다음은 샘플 conf입니다.svn 책더 깊이 들어가다
LoadModule dav_svn_module /usr/lib/apache/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache/mod_authz_svn.so
<IfModule dav_svn_module>
<IfModule authz_svn_module>
<Location /svn>
DAV svn
SVNParentPath /svn
AuthzSVNAccessFile /etc/apache2/svn_authz
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/apache2/svn_passwd
</Location>
</IfModule>
</IfModule>
인증 예:
cat /etc/apache2/dav_svn.authz
[groups]
admin = foo
graph = bar
developers = foo,baz
[/]
* =
@admin = rw
@developers = rw
@graph = r
[/branches/prod/*]
* =
@admin = rw
[ZCS:/]
* =
@admin = rw
@developers = rw
@graph = rw
[SYMFONY_PLUGINS:/]
* =
@admin = rw
@developers = rw
[SYMFONY:/]
* =
@admin = rw
@developers = rw
답변2
Apache 서버 대신 svnserve를 사용하십시오. 생성한 저장소 내에서 conf 디렉터리를 찾을 수 있습니다. 원하는 텍스트 편집기를 사용하여 다음 변경 사항으로 다음 파일을 편집합니다.
svnserve.conf에서 다음 주석을 제거하세요: [general]
anon-access = read
(그리고 읽기를 없음으로 변경)
auth-access = write
passwd-db = passwd
passwd 파일에 사용자 이름 = 비밀번호 형식으로 사용자 이름과 해당 비밀번호를 추가합니다.
[users]
admin = adminspass
dev1 = devspass
모든 저장소에서 유사한 변경을 수행하고 명령을 사용하여 svnserve를 시작하십시오.
svnserve -d --foreground -r /root/dir/of/repo
즉, 많은 튜토리얼에서 설명한 대로 /home/svn에 저장소를 생성한 경우 명령은 다음과 같습니다.svnserve -d --foreground -r /home/svn
저장소는 다음 URL을 사용하여 svn 클라이언트를 사용하여 액세스할 수 있습니다.
svn://hostname-or-ip/repo-name