출처 : http://www.darkfox.info/1489
오늘은 SVN + apache 조합에서 권한 설정을 하려고 합니다.
프로젝트들 마다 Core 로직과 App 부분으로 나뉘어집니다. SVN을 통해서 특정 ID는 특정 구역에 접근하지 못하도록 설정하고 싶은데, 이 부분의 세팅을 하고 싶을 껍니다.
여기서 SVN 설치를 성공을 했다면, 이제 세팅을 해봅시다.
뭐 일단 간단 합니다. http.conf 파일을 수정합니다.
<VirtualHost *:80>
ServerAdmin webmaster@darkfox.info
ServerName svn.darkfox.info
ErrorLog logs/svn.darkfox.info-error_log
CustomLog logs/svn.darkfox.info-access_log common
<Location />
DAV svn
SVNPath c:/svn
# 여러개의 프로젝트를 등록할꺼면 SVNPath 대신 SVNParentPath를 사용하세요.
# SVNListParentPath on
# SVNParentPath c:\svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile c:/svn/conf/htpasswd
AuthzSVNAccessFile c:/svn/conf/authz
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
# </LimitExcept>
Require valid-user
</Location>
</VirtualHost>
잘 했는지 봅시다.
http://svn.darkfox.info 를 경로로 사용하겠습니다.
SVNParentPath 를 사용했다면
http://svn.darkfox.info/만든프로젝트폴더 를 사용하시면 됩니다
예를 들면
http://svn.darkfox.info/test-svn 이런식이죠.
SVN 서버에 c:\svn\conf 에 있는 authz 파일을 수정합니다
[groups]
admin = darkfox
devteam = user2
tester = user1
anonymous =
[/]
#그룹으로 처리해도 되고
@admin = rw
[/core]
#읽기전용
@devteam = r
#접근금지
@tester =
[test-svn:/]
#ID를 직접 써도 됩니다.
darkfox = rw
샘플로 만든 파일입니다.
SVN에 만들어진 경로들을 적당히 등록해주시면 하위 디렉토리들은 자동으로 적용됩니다.
다음엔 HTTPS를 이용한 SSL 보안과 SVN에 대해 다뤄보도록 하겠습니다.
궁금한건 댓글을 달아주시면 짬나는대로 답변해드리겠습니다.