리눅스 SVN 설정 └ Server

출처 : http://artyst.egloos.com/2694844

1. 설치 및 설정
(1) 확인하기
SVN이 이미 설치되어 있는지 확인한다.
[root@localhost ~]# rpm -qa subversion
subversion-1.4.2-4.el5_3.1
위와 같이 필자의 OS에는 svn 1.4.2 버전이 설치되어 있다.

(2) 설치하기
- 생략 -

(3) 설정하기
[root@localhost] vi ~/.bash_profile
------------------------ .bash_profile ----------------------------
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
----------------------------------------------------------------------
위와 같은 내용의 2줄을 추가해준다.
* 설명 : svn 프로그램을 컨트롤 하기 위한 환경변수


2. 저장소(Repository) 만들기
[root@localhost] svnadmin create /svn경로/저장소이름


3. 저장소 설정
[root@localhost] vi /svn경로/저장소이름/conf/svnserve.conf

------------------------ svnserve.conf ----------------------------
[general]
#익명 사용자 읽기 여부 (write = 쓰기가능, read = 읽기만가능, none=권한없음)
anon-access = read

#인증 사용자 쓰기 여부 (write = 쓰기가능, read = 읽기만가능, none=권한없음)
auth-access = write

#저장소의 사용자 및 비밀번호 설정하는 파일명
#svnserve.conf설정파일의 상대경로 예) ../../passwd
password-db = passwd
----------------------------------------------------------------------


4. 저장소 사용자 및 비밀번호 설정
[root@localhost] vi /svn경로/저장소이름/conf/passwd

--------------------------- passwd -------------------------------
[user]
#예 : abcdef = 123456
사용자 = 비밀번호
----------------------------------------------------------------------


5. SVN 서비스 시작
[root@localhost] svnserve -d -r  /svn경로/
* 주의 : svn 최상위경로를 지정, 저장소 이름으로 하면 안됨
* 설명 : -d 는 데몬으로 실행한다는 옵션, -r 은 svn경로를 지정한다는 옵션


6. 확인
(1) 서비스 확인
[root@localhost] ps -ef | grep svnserve
root      5846  3288  0 Sep29 ?        00:00:00 svnserve -d -r /data/svn/

(2) 네트워크포트 확인
[root@localhost] netstat -ant | grep 3690
tcp        0      0 :::3690                     :::*                        LISTEN


7. SVN 저장소의 기본 구조
(1) 디렉토리 생성
[root@localhost] svn mkdir svn://localhost/저장소이름/trunk
[root@localhost] svn mkdir svn://localhost/저장소이름/branches
[root@localhost] svn mkdir svn://localhost/저장소이름/tag

디렉토리를 생성하는 순간, 해당 디렉토리 관리 파일이 vi로 열린다.
:q 입력하여 vi 종료
변경되지 않았거나 지정되지 않았다며 취소(A), 계속(C), 수정(E) 로 물어보면 C를 누른다.
root 계정의 암호 입력
svn 사용자 및 비밀번호 입력

(2) 확인
[root@localhost] svn list svn://localhost/저장소이름
생성한 디렉토리 목록이 출력된다.

trunk : 기본적으로 개발을 시작할 때 사용
branches : release 버전과 유지보수 버전을 분리할 때 사용
tag : 한번 만들면 수정하지 않음


8. SVN 체크아웃
[root@localhost] svn checkout svn://localhost/저장소이름
클라이언트에서 commit 하여 SVN에 저장된 파일의 목록이 출력된다.


9. SVN 종료
[root@localhost] killall svnserve
svnserve 라는 데몬을 모두 종료한다.

[root@localhost] ps -ef | grep svn
프로세스가 존재하는지 다시 확인해본다.



@ 참고
기본 디렉토리 생성하려고 하는데 아래와 같은 메시지가 나오는 경우
------------------------------------------------------------------------------------------------------------------------------------
svn: 로그 메시지를 구하기 위해 외부 프로그램을 사용할 수 없습니다.
SVN_EDITOR 환경변수를 설정하시거나 --message (-m) 또는 --file (-F) 옵션을 사용하세요.
svn: 환경변수 SVN_EDITOR, VISUAL, EDITOR 중 하나는 설정하거나, 'editor-cmd' 를 구성화일에 명시해야합니다.
------------------------------------------------------------------------------------------------------------------------------------
환경변수 설정이 적용되지 않은 상태이므로

[root@localhost] SVN_EDITOR=/usr/bin/vim
[root@localhost] export SVN_EDITOR
위와 같이 SVN_EDITOR 를 지정해준다

핑백

덧글

댓글 입력 영역