1. 패키지 설치
#sudo apt-get install subversion apache2 libapache2-svn
위의 명령을 이용하여 패키지를 설치한다.
2. subversion 디렉토리 생성 및 권한 설정.
#mkdir /home/svn - 서브버젼에서 사용할 디렉토리
#cd /home/svn - 이동
#svnadmin create --fs-type fsfs repository - 프로젝트 디렉토리 생성
#chmod -R g+w repository - 그룹쓰기 권한 설정
#chown -R nobody:nogroup repository - 아파치에서 액세스하기 위한 그룹 설정
3. apache 설정
우분투에서 아파치 설정파일은 /etc/apache2/apache2.conf 이다.
위의 파일에서
LoadModule dav_module mod_dav.so
LoadModule dav_svn_module dav_svn.so
<Location /repos>
DAV svn
SVNPath /home/svn/repository
</Location>
부분을 추가해 줍니다.
4. 사용자 인증
#htpasswd -c [패스워드파일] [유저아이디]
ex) #htpasswd -c passwd cameo
아파치 설정파일이 있는곳에서 위의 명령어를 하면 패스워를 입력받습니다.
위의 명령어는 새로운 패스워드를 만드는 경우고 사용자를 추가할 경우에는
#htpasswd [패스워드파일] [유저아이디]
의 형식으로 추가합니다. 아파치 설정파일에 가서 아까 적어준 부분을 아래와 같이 수정하여줍니다
<Location /repos>
DAV svn
SVNPath /home/svn/repository
AuthType Basic
AuthName "Subversion Repository cameo"
AuthUserFile /etc/apache2/passwd
Require valid-user
</Location>
그리고 checkout 모든 사용자들이 할 수 있지만 커밋 등의 쓰기동작은 지정된 사용자만이 할수있게 끔 하려면
<Location /repos>
DAV svn
SVNPath /home/svn/repository
AuthType Basic
AuthName "Subversion Repository cameo"
AuthUserFile /etc/apache2/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
이렇게 수정합니다.
설치가 제대로 되었는지 확인하려면
- 서버 재시작: sudo /etc/init.d/apache2 restart)
- #http://localhost/repos
or
-svn checkout http://(서버 ip or 도메인네임)/svn/repository repository
을 실행하였을 경우
Checked out revision 0 이 출력 되면 설치가 완료된 것입니다.
참고 URL : http://svn.collab.net/repos/svn/trunk/doc/user/cvs-crossover-guide.html