참고사이트
http://okkks.tistory.com/1048
설치 확인
]# svn
또는
]# svn –version
또는
]# rpm –qa | grep subversion
설치
yum을 이용해서 설치한다.
]# yum install subversion
<생략>
설치 중 질문이 나오면 y를 입력하고 엔터
<생략>
설치 확인
]# svn
또는
]# svn –version
또는
]# rpm –qa | grep subversion
저장소(repository) 만들기
저장소들을 한 디렉토리에서 관리하기 위해 최상위 디렉토리 /svn 만들기
- /svn 이름 및 위치는 변경 가능
- /svn 아래에 여러 개의 저장소를 만들 수 있다.
]# mkdir /svn
]# cd /svn
/svn 디렉토리 내에 저장소를 만든다.
svnadmin create --fs-type fsfs 저장소명
]# svnadmin create --fs-type fsfs okkks.tistory.com
svnserve 서비스 데몬 만들기
저장소(repository)를 만들지 않았다면 svn 저장소(repository) 만들기 참고.
/etc/sysconfig/svnserve 파일 만들기
- yum으로 설치해도 위 파일이 생성되지 않으므로 직접 만든다.
- service svnserve start/status/stop 등의 명령어를 사용할 수 있다.
echo 'OPTIONS="--threads --root 저장소의 최상위 디렉토리"' > /etc/sysconfig/svnserve
]# echo 'OPTIONS="--threads --root /svn"' > /etc/sysconfig/svnserve
]# ll / etc/sysconfig/svnserve
]# cat /etc/sysconfig/svnserve
또는
]# vi /etc/sysconfig/svnserve
OPTIONS="--threads --root /svn"
svnserve.conf 설정
/svn/저장소 디렉토리/conf/svnserve.conf
- svnserve.conf 파일은 모든 내용이 주석으로 처리되어있다.
- 원본은 보관하고 새로 만든다.
]# cat /svn/okkks.tistory.com/conf/svnserve.conf
<생략>
]# cd /svn/okkks.tistory.com/conf/
]# ll
]# mv svnserve.conf svnserve.conf.old
]# ll
]# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = okkks.tistory.com repository
]# cat svnserve.conf
설명
- anon-access = none => 비인증 계정 : 접근 권한 없음
- auth-access = write => 인증 계정 : 쓰기 권한
- password-db = passwd => 인증 계정 정보
- authz-db = authz => 인증 계정의 저장소 권한 설정 파일
- realm = okkks.tistory.com repository => 인증할 때 보여주는 간단한 저장소 설명이다.(생략 가능)
권한
- none : 없음, read : 읽기, write : 쓰기
passwd 설정 : 계정(users/passwd)
/svn/저장소 디렉토리/conf/passwd
- 원본은 보관하고 새로 만든다.
]# cd /svn/okkks.tistory.com/conf/
]# ll
]# cat passwd
]# mv passwd passwd.old
]# vi passwd
[users]
user1 = 1234
user2 = 1234
설명
- 2명의 계정 생성(user1/1234, user2/1234)
authz 설정 : 권한
/svn/저장소 디렉토리/conf/authz
- 원본은 보관하고 새로 만든다.
]# cd /svn/okkks.tistory.com/conf/
]# mv authz authz.old
]# vi authz
[/]
user1 = rw
user2 = rw
]# cat authz
방화벽 설정(svn 외부 접속) - 3690 port 오픈
svnserve 서비스 데몬 시작
/etc/sysconfig/svnserve 파일 설정을 했으면 service 명령어로 서비스를 시작/중지할 수 있다.
- svn은 3690 포트를 사용한다. (netstat 명령어로 확인)
]# service svnserve start
]# ps –ef | grep svnserve
]# netstat –anp | grep svnserve
svn 자동 시작 설정
(재)부팅시 svnserve 서비스를 자동으로 시작한다.
]# chkconfig --list svnserve
]# chkconfig svnserve on
]# chkconfig --list svnserve
svn에 접속이 되는지 인증 확인을 한다.
- svn co svn://ip 또는 도메인 주소/저장소
]# svn co svn://127.0.0.1/okkks.tistory.com
또는
]# svn checkout svn://127.0.0.1/okkks.tistory.com
진행되면서 root 암호, 사용자명, 사용자명의 암호를 입력한다.
(svnserve.conf 설정 : realm 생략)
(svnserve.conf 설정 : realm = okkks.tistory.com repository)
(svn 인증 성공)
“체크아웃된 리비전 0”이 나오면 성공 (checked out revision 0.)
참고> 비밀번호(암호화되지 않은)를 저장할지 물어보면
Store password unencrypted (yes/no)?
"yes" 또는 "no"를 입력해도 안되는 경우 한글로 "예"를 입력한다.
linux 언어 설정이 한글로 되어 있기 때문이다.
]# echo $LANG
“svn 인증 실패”이면 svnserve.conf, passwd, authz 설정 부분을 다시 확인한다.
기본 디렉토리 만들기
svn mkdir 명령어를 이용해서 trunk, tags, branches 디렉토리를 만든다.
]# svn mkdir svn://127.0.0.1/okkks.tistory.com/trunk
svn mkdir 명령어를 사용할 수 없는 경우 나오는 내용이다.
svn mkdir 명령어를 사용하기 위한 설정
- ~/.bash_profile 맨 아래에 추가한다.
- source 명령어를 이용해서 .bash_profile에 추가한 내용을 적용한다.
]# cd ~
]# vi .bash_profile
<생략>
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
]# source .bash_profile
svn mkdir 명령어로 trunk, tags, branches를 각각 만든다.
저장 후 빠져나온다(:wq 입력)
“c”를 입력한다.
]# svn mkdir svn://127.0.0.1/okkks.tistory.com/trunk
A svn://127.0.0.1/okkks.tistory.com/trunk
~
~
<생략>
:wq 입력해서 저장 후 빠져나온다.
c 입력한다.
#] svn mkdir svn://127.0.0.1/okkks.tistory.com/tags
#] svn mkdir svn://127.0.0.1/okkks.tistory.com/branches
디렉토리(trunk, tags, branches)가 만들어졌는지 확인
]# svn list svn://127.0.0.1/okkks.tistory.com
branches/
tages/
trunk/
저장소 삭제
삭제할 저장소의 디렉토리를 삭제하면 된다.
]# service svnserve stop
]# cd /svn
]# rm –rf okkks.tistory.com
]# ll