linux svn 설치 및 실행 방법

2018. 12. 6. 10:42 형상관리/Tortoise SVN

[SVN]

type svn(설치되어있는지 확인하는 방법)

sudo apt-get install subversion

mkdir /home/svn

sudo chown -R javauser:javauser /home/svn

cd /home/svn

svnserve -d -r /home/svn

ps -ef | grep svn*

svnadmin create --fs-type fsfs repos --사용할 저장소 지정

vi repos/conf/svnserve.conf

[general] 항목 중에 anon-access와 auth-access 앞의 #을 지우고
anon-access = none (인증받지 않은 사용자 접근 못하게 설정. read는 읽기전용,write 쓰기가능)
auth-access = write
다시 밑쪽에 찾아보면 password-db = passwd 앞에 #이 있는데 #을 지운다.
문서를 저장하고 빠져나온다.

vi repos/conf/passwd
해당 문서의 [users] 하단에 자신이 원하는 아이디와 패스워드를 입력시켜준다.
ex ) dengus = 1

netstat -ntl(현 컴퓨터가 열어놓은 포트 및 ip 상태 확인)
netstat -tl(이름으로 상태보기)
man svnserve(svn 서버 설정에 관한 메뉴얼)

★부팅 시 svnserve(데몬) 자동 실행하는 방법
sudo vi /etc/init.d/rc.local (최초 부팅 시에 실행되는 데몬들이 나열된 문서)
맨 끝 문서에
/usr/bin/svnserve -d -r /home/javauser/svn/
를 입력하고 저장.(:wq!) [구글링해보기]★

★이클립스에 svn 연결 방법
:Help - Eclipse Marketplace - svn 검색 - SVN Team Provider 선택(디폴트로 설치)
=> 설치 완료 후에 Window - Preference 선택 후 Team 목록의 SVN 내에서 SVN Connector의
get Conncetor 클릭하여 kit를 선택하여 설치

★svn에 대한 명령어를 확인해보기 위해서는
ls -al /usr/bin/svn*
즉, 실행되는 파일명이 명령어로 구성되어 있다.
명령어에 대해 확인해보기 위해서는
>>명령어 help
전체적이 명령어에 대한 설명이 뜬다면 부수명령어(subcommand)에 대해서도 알 수 있다.
>>명령어 help 부수명령어
라고 치면 설명을 찾을 수 있다.
ex) >>svnadmin help create

[권한별 프로젝트 접근 허용]

cd /home/javauser/svn/repos/conf
vi svnserve.conf
==> [general]항목에서
authz-db = auth의 주석처리를 해제
==> 이는 접속자들에게 어느 디렉토리까지만 접근 가능하도록 설정하는 옵션

★권한 설정하는 방법★
cd /home/javauser/svn/repos/conf
vi authz
==> [groups] 항목에
admin = javauser
u01 = odh,dengus

처럼 설정해준다.
(왼쪽에 있는 항목은 자신이 원하는 그룹을 설정한 이름, 오른쪽은 그 그룹에 포함시킬 아이디)

여기까지 작성이 완료되면 다음과 같이 아래쪽에 작성하여 해당 접속자가 접근할 디렉토리를 설정해준다.

[/]
@admin = rw

[/Bingo]
@u01 = rw

위 항목 중 대괄호([])내에 있는 슬러쉬(/)는 'svn://ip주소/repos/'다음에 나올 주소를 입력해주는 란이다.
(다음에 입력될 그 내용은 보통 프로젝트명으로 기입된다. (ex) [/WebProject_03] )
작성 후 바로 아래에 @admin은 @가 그룹을 뜻하면 @없이 아이디를 직접 입력하는 방식으로도 설정이 가능하다.
@admin 뒤에 나타나는 용어는 읽기,쓰기와 같은 권한을 부여하는 의미.

만약 자신이 대괄호 내에 위 내용처럼 슬러쉬만 작성하면 루트 경로(즉 repos폴더 내를 모두 간섭가능)에 접근하도록
하는 권한을 부여한다.

[출처] Linux - Tomcat, SVN|작성자 뚱이