don't stop believing

[Subversion] Ubuntu에 svn 설치하기 본문

Tools/SVN

[Subversion] Ubuntu에 svn 설치하기

Tongchun 2017. 9. 6. 16:03

회사에 svn을 사용하고 있는데 한번 설치하면 손이 안가는 서버라 정리할 겸 작성한다.

subversion은 보통 apache와 함께 설치하는데 나는 깔끔하게 subversion만 설치했다.

$ sudo apt-get install subversion

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

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

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

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

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

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

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

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

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

[/]
tongchun=rw

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

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

$ sudo vim passwd

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

[users]
tongchun=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/nglerepo

서버가 재시작되거나 하면 수동으로 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 /etc/init.d/svnserve start


'Tools > SVN' 카테고리의 다른 글

svn에 새 파일 추가하고 commit 하기  (0) 2018.01.02
svn delete command  (0) 2017.12.18
svn checkout 하고 update 하기  (0) 2017.11.28
Comments