1. 설치
apache2와 svn과 apache2에서 svn을 사용하기 위한 모듈을 각각 설치한다.
sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn
sudo apt-get install subversion
sudo apt-get install libapache2-svn
이제 프로젝트 저장소(Repository)를 생성한다. 여기서는 tbpcb라는 프로젝트의 저장소를 /home/svn/tbpcb에 생성하는 것을 기준으로 설명한다.
/home/svn# sudo svnadmin create tbpcb
/home/svn# sudo chmod -R g+sw tbpcb
/home/svn# sudo chown -R www-data:www-data tbpcb
/home/svn# sudo chmod -R g+sw tbpcb
/home/svn# sudo chown -R www-data:www-data tbpcb
svn의 설정파일을 다음과 같이 편집한다. 예제는 아이디와 비밀번호를 통해 인증을 받아야 svn에 접근할 수 있도록 한다.
sudo vi /etc/apache2/mods-available/dav_svn.conf
<Location /svn/tbpcb>
DAV svn
SVNPath /home/svn/tbpcb
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
DAV svn
SVNPath /home/svn/tbpcb
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
dav_svn.conf 파일에서 지정한 인증파일(dav_svn.passwd)에 아이디와 비밀번호를 추가하기 위해 htpasswd2를 사용한다. 여기서는 reshout라는 유저의 아이디와 비밀번호를 dav_svn.passwd에 저장한다. 유저를 추가하고 싶다면 -n 옵션을 써서 출력되는 내용을 dav_svn.passwd에 추가해 주면 된다.
/etc/apache2# sudo htpasswd2 -c -m dav_svn.passwd reshout
2. 사용
svn 저장소에 프로젝트를 처음 올릴 때 (import)
svn import -m "Initial Import" src http://192.168.12.12/svn/tbpcb
svn 저장소에서 프로젝트를 처음 받아 올 때 (check out)
svn co http://192.168.12.12/svn/tbpcb src
작업한 내용을 저장소에 반영할 때 (commit)
svn ci
저장소의 변경사항을 내 작업 공간에 반영할 때 (update)
svn up