1. Subversion 설치

# yum install subversion

 

2. Repository 생성

# mkdir /home/svn                 

# cd /home/svn

# svnadmin create --fs-type fsfs [저장소 이름]

   ex) svnadmin create --fs-type fsfs sampleRepo

# chmod –R g+w [저장소 이름]  or  # chmod 664 [저장소 이름]

   (그룹권한에 쓰기권하을 부여하겠다는 뜻)

3. Subversion 설정

# cd /home/svn/[저장소 이름]/conf

    ex) cd /home/svn/sampleRepo/conf

# vi svnserve.conf

    다음과같이 설정

 

[general]

anon-access = none (true : 누구나 읽기 가능, none : 안됨)

auth-access = write (인증된 사용자만 쓰기)

password-db = passwd (사용자 계정 정보 DB로 passwd 파일을 사용하겠다는 뜻)

authz-db = authz (사용자 계정 권한 정보 DB로 authz 파일을 사용하겠다는 뜻)

realm = sampleRepo (SVN 설명 또는 타이틀로 생각하면 됨)

 

[sasl] (SASL 암호화시 사용)

# use-sasl = true 

# min-encryption = 0
# max-encryption = 256

 

 

 

 

 

 (※ 각 설정값에 공백이 존재하면안됨, 즉, realm을 작성할경우 realm앞에 스페이스가 들어가면 오류남)

 

4. Subversion 사용자 계정 생성 

# vi passwd

아이디 = 비번

[user]

user01 = qwer1234

user02 = qwer1234

user03 = qwer1234

user04 = qwer1234

...

..

 

 

 

 

5. Subversion 사용자 권한설정

# vi authz

사용자별로 권한을 지정할 경우

[sampleRepo:/]

user01 = rw  

user02 = rw

...

 

 

모든사용자에 대한 공통권한 지정

[sampleRepo:/]

* = rw

 

5. Subversion 서버 시작 

# svnserve -d -r /home/svn

기본포트 3690이 아닌 다른 포트를 사용하면

# svnserve -d -r /home/svn --listen-port [포트번호]

 

6. 에디터 설정

subversion에서 사용할 기본적인 에디터 지정
지정하지 않으면 커밋등을 할수 없게 된다.
.bash_profile등에 추가
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR  

 

 

7.디렉토리 만들기 (안만들고 나중에 거북이 툴(TortoiseSVN)을 이용해서 생성해도 된다.)

     # svn mkdir svn://{Server domain or IP}/[저장소 이름]/trunk

# svn mkdir svn://{Server domain or IP}/[저장소 이름]/branches

# svn mkdir svn://{Server domain or IP}/[저장소 이름]/tags

ex) # svn mkdir svn://125.7.203.253/sample/trunk
vi가 실행되면 :q!로 빠져나간다.

 

Log message unchanged or not specified
a)bort, c)ontinue, e)dit, C를 누르고 엔터를 누르면

Committed revision 1. 메세지가 나온다.

      메시지가 나오지 않으면 계정관리및 디렉토리 권한 설정을 다시 확인한다

 

위 SVN 명령어 사용시에 svn 권한을 가진 리눅스 계정의 비밀번호를 물어볼수도 있습니다.

(저의 경우에는 root 계정으로 실행중이라 root 비밀번호를 물어봅니다.)

그리고 커밋을 위해 svn 사용자/비번을 입력하면됩니다.

예시

 

 [root@holictou svn]# svn mkdir svn://svn.matoker.com/test/trunk
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LANG is ko
svn: warning: please check that your locale name is correct
Authentication realm: <svn://svn.matoker.com:3690> test
Password for 'root':
Authentication realm: <svn://svn.matoker.com:3690> test
Username: matoker
Password for 'matoker':

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://svn.matokeri.com:3690> test

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes

Committed revision 1.

 

 

기타

 

레파지토리의 설정된 폴더의 내용

# svn list svn://{Server domain or IP}/[저장소 이름]

branches/

tags/

trunk/

 

10. SVN 서버 시작

 

# svnserve -d -r /home/svn

 

기본포트 3690이 아닌 다른 포트를 사용하면

# svnserve -d -r /home/svn --listen-port [포트번호]

 


11. svn 서버 확인 기본 포트는 3690

 

# netstat -ant | grep 3690 

 


12.  svn 서버 강제종료

 

# ps -ef | grep svnserve

# kill -9 {PID}

 

또는

 

# killall svnserve (svnserve 키워드가 들어간 프로세스 모두 강제 종료)

 

 

 

13. 거북이툴로 붙거나 이클립스로 붙어서 작업을 하려고하는것 이 최종 목표일것이다.

그떄 접속 Url은  svn://123.233.112.121/레파지토리명/ 으로 접속하면된다.

 

 


# 일부내용은 http://matoker.com/30180737519 (마토커)님의 블로그를 참고하여 작성되었습니다.

 

 

 

 

 

 


+ Recent posts