CentOS7 SVN(Subversion) 설 치 및 설정

CentOS7 기준으로 yum 기본 repository에는 1.7.x 버전이 설치 된다.
특별한 이유가 없다면, 1.7를 그대로 설치하도록 하겠다. 설치 방법은 아래와 같이 아주 간단히 설치 할 수 있다.

~]# yum install subversion

이제 설치가 되었으면, 저장소를 만들고 실행할 차례로 /home/svn 아래 설치하도록 하겠다.

가장 먼저 svn저장소를 생성하고, svnserve 파일에 옵션을 변경(기본 디렉토리 지정)한 뒤, 저장소 생성을 진행하도록 하겠다.

~]# mkdir /home/svn
~]# vi /etc/sysconfig/svnserve
/etc/sysconfig/svnserve 파일 수정한 모습

다음으로, SVN 서비스를 외부에서 이용할 수 있도록 방화벽 정책을 추가한다.
firewall-cmd --permanent --zone=public --add-port=3690/tcp
firewall-cmd --reload
firewall-cmd --list-all

방화벽 정책을 추가하고, 다시 로드 후 최종 등록확인까지 진행한 모습

또 다른 확인 방법은,
ps -ef | grep svn : SVN의 프로세스가 동작하는 것을 확인 할 수 있으며,
netstat -anp | grep svnserve : SVN의 포트를 확인할 수 있다. ( 기본 포트 3690 )


이제 저장소를 생성하고, SVN를 실행할 차례이다.

~]# svnadmin create --fs-type fsfs moongk
~]# chmod -R g+ws moongk

이제 저장소 생성이 되었으나 바로 사용할 수 있는 상태는 아니다.
사용가능하도록 저장소 설정을 해야 하는데, 설정 내용은 저장소에 접근할 수 있는 권한을 관리하는 파일들이다.

가장 먼저 svnserve.conf 파일을 수정해야 하는데, 위치는 위에서 추가한 저장소 하위 /conf/svnserve.conf 에 위치하고 있다. 주요 수정사항은 아래와 같다.
19line 부근: anon-access = read => none
27line 부근: password-db = passwd (주석처리 되어있으면 주석 해제)
34line 부근: authz-db = authz (주석처리 되어 있으면 해제 / 생략 가능)

다음으로 27, 34 라인 부근에서 지정하였던 passwd, authz를 지정하면 되는데 해당 설정은 파일을 열어 보면 쉽게 이해할 수 있을 것이라 생각되어 생략하도록 하겠다.

저장소 확인 명령은 svn list svn://127.0.0.1/moongk 와 같은 방법으로 확인 할 수 있으며, 서비스의 시작과 종료는 아래와 같이 할 수 있다.

~]# systemctl start svnserve #실행
~]# systemctl stop svnserve #중지
~]# systemctl restart svnserve #재실행
~]# systemctl enable svnserve #부팅시 자동 실행 지정