[Subversion] Ubuntu에 svn 설치하기

2019-06-03

이미지

아래 명령으로 우분투에 subversion을 설치한다.

$ sudo apt-get install subversion

설치가 완료되면 적당한 곳에 폴더를 만들고 repository를 생성한다.

$ sudo mkdir -p /home/svn
$ sudo svnadmin create /home/svn/repo

그룹을 만들고 권한 설정을 한다.

$ sudo groupadd svn
$ sudo chgrp svn /home/svn/
$ sudo chmod g+w /home/svn/
$ sudo usermod -a -G svn anifilm

svn 프로토콜(svn://)을 사용하기 위해서 계정과 비번 설정등을 한다.

먼저 authz 파일을 열어 계정과 사용 권한을 추가한다.

$ cd /home/svn/repo
$ sudo vim authz

먼저 경로에 대한 권한을 설정한다. [/] 일경우 repository의 전체 경로에 대해 권한을 부여한다.

계정과 권한은 <계정명>=rw 형식으로 추가한다. r을 읽기, w는 쓰기다. 둘다 권한을 주려면 rw로 하면 된다.

[/]
anifilm=rw

이렇게 추가하면 anifilm 이라는 계정은 해당 repository의 전체 경로에 대해 쓰기와 읽기 권한을 가진다.

이번엔 비번을 설정해 보자. 비번은 passwd 파일을 열어서 추가한다.

sudo vim passwd

<계정명>=<비번> 형식으로 작성하면 된다.

[users]
anifilm=1234

마지막으로 svn 설정을 한다. svnserve.conf열어서 아래 내용을 추가한다. 주석을 제거해 주면 된다.

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

설정한 svnserve를 적용한다.

$ sudo svnserve -d --foreground -r /home/svn/repo

서버가 재시작되거나 하면 수동으로 svn을 시작해야 하는 불편함이 있으므로 initialization script를 적용해 보자.

먼저 /etc/init.d로 가서 svnserve라는 파일을 하나 만든다.

$ cd /etc/init.d
$ sudo touch svnserve
$ sudo vim svnserve

svnserve.txt 파일을 다운받아 script 내용을 svnserve에 복사한다.

script 내용중 DAEMON_ARGS="-d -r /home/svn"에 해당하는 경로는 실제 경로로 조정한다.

svnserve파일이 작성되었으면 권한 설정을 한다. 그리고 서버 재시작할때 svn도 자동 실해하도록 설정한다.

$ sudo chmod +x /etc/init.d/svnserve
$ sudo update-rc.d svnserve defaults

이제 svn을 시작하거나 중지시킬때 아래 명령으로 사용할 수 있다.

$ sudo service svnserve start

svn 서버 상태 확인

$ sudo service svnserve status