Study/OS

Ubuntu Subversion(SVN) 설치 및 설정

SeulKom 2014. 2. 25. 17:00

1. Subversion (SVN) 설치


# sudo apt-get install subversion libapache2-svn


설치 후 80번 포트를 통해 WebDAV를 사용할 수 있다.

- http://[SVN 설치된 IP]/[SVN repository]



2. SVN 설치 확인


# sudo  a2enmod dav_svn



3. 새로운 repository 생성 및 권한 설정


# sudo mkdir [SVN 홈 디렉토리 명]

# sudo chown -R www-data [SVN 홈 디렉토리 명]

# cd [SVN 홈 디렉토리 명]

# sudo svnadmin create --fs-type fsfs [repository 명]       -- repository 생성

# sudo chmod -R g+w [repository 명]                               -- 그룹쓰기 권한 설정

# sudo chown -R www-data.www-data [repository 명] -- Apache 액세스를 위한 그룹/소유 변경



4. Apache 설정파일 변경 - dav, dav_svn


- /etc/apache2/mods-enabled 에 dav.load, dav_svn.load가 있는지 확인


- dav.load

LoadModule     dav_module     mod_dav.so


- dav_svn.load

LoadModule     dav_svn_module     dav_svn.so


dav_svn.conf

<Location /svn >

DAV svn

SVNPath [SVN 홈 디렉토리 명]

</Location>



5. SVN 패스워드 파일 생성


# sudo htpasswd -cm /etc/apache2/dav_svn.passwd [사용자 ID]


- 해당 파일에 사용자를 추가할 경우

# htpasswd [패스워드 파일] [사용자 ID]



6. dav_svn.conf 에 패스워드 파일 추가


<Location /svn >

DAV svn

SVNPath [SVN 홈 디렉토리 명]

AuthType Basic

AuthName "Subversion Version Repository"

AuthUserFile /etc/apache2/dav_svn.passwd

Require valid-user

</Location>


- Checkout 인증 없도록 설정하는 방법

<Location /svn >

DAV svn

SVNPath [SVN 홈 디렉토리 명]

AuthType Basic

AuthName "Subversion Version Repository"

AuthUserFile /etc/apache2/dav_svn.passwd

<LimitExcept GET PROFIND OPTIONS REPORT>

Require valid-user

</LimitExcept>

</Location>



7. Apache 재시작