CentOS에 SVN 설치하기
- 꼬반
- 2015. 6. 9. 09:42
http://firejune.com/1682/CentOS%EC%97%90+Subversion+%EC%84%A4%EC%B9%98%ED%9B%84+%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0
====== Cent OS 에 SVN 설치하기 ======
===== Subversion 설치하기 =====
> yum install subversion
===== Repository 생성하기 =====
> mkdir /home/svn
여기서 다른 포스트의 경우 svn이라는 사용자를 추가하여 진행하였는데 사용자를 꼭 추가할 필요는 없다.
> cd /home/svn
> svnadmin create --fs-type fsfs {reponame}
여기서 {reponame}은 원하는 저장소 명. 예) fsfs repos
> chmod g+w {reponame}
===== SVN 서버 설정하기 =====
vi를 이용하여 환경설정 및 사용자를 추가한 후 수정하고 저장(:wq)합니다.
<code>
# cd /home/svn/{reponame}/conf
# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = {message Repository}
# vi passwd
[users]
user = {password}
# vi authz
[{reponame}:/]
user = rw
</code>
===== SVN 서버 시작하기 =====
SVN서버의 기본 포트는 3690입니다. –listen-port {port_num} 옵션으로 변경할 수 있습니다.
# svnserve -d -r /home/svn
===== SVN 체크아웃하기 =====
지금까지 설정한대로 작동하는지 확인합니다. {firejune.io}에는 서버의 도메인 또는 아이피를 입력합니다.
# svn co svn://{firejune.io}/{reponame}
이때 아래와 같은 현상 발생할 수 있습니다.
<code>
인증 영역(realm): <svn://firejune.io:3690> Firejune Repository
'root'의 암호:
인증 영역(realm): <svn://firejune.io:3690> Firejune Repository
사용자명:firejune
'firejune'의 암호:
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:
<svn://firejune.io:3690> Firejune Repository
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
'/var/www/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
Please type 'yes' or 'no': yes
Please type 'yes' or 'no': yes
Please type 'yes' or 'no': y
Please type 'yes' or 'no': yeah
Please type 'yes' or 'no': no
Please type 'yes' or 'no': 'yes'
Please type 'yes' or 'no': YES
Please type 'yes' or 'no':
Please type 'yes' or 'no': wtf
Please type 'yes' or 'no': shit
Please type 'yes' or 'no':
Please type 'yes' or 'no': 18
</code>
여기서 한참 삽질하다가 포기할 뻔 했습니다. locale이 한글로 되어있던게 원인이더군요. "예" 또는 "아니오"로 입력해야 됩니다.
> locale이 한글이 아니라면 처음에 yes로 바로 됨.
===== 기본 폴더 생성하기 =====
기본으로 사용될 폴더를 생성합니다. 코멘트가 있으면 작성하고 저장후 닫습니다. 없으면 ":q!" 눌러서 종료하고 계속(C) 눌러줍니다.
<code>
# export SVN_EDITOR=/usr/bin/vim
# svn mkdir svn://firejune.io/{reponame}/trunk
# svn mkdir svn://firejune.io/{reponame}/branches
# svn mkdir svn://firejune.io/{reponame}/tags
</code>
===== 기본 폴더 생성확인 =====
폴더가 생성되었는지 확인합니다.
<code>
# svn list svn://firejune.io/{reponame}
branches/
tags/
trunk/
</code>
===== SVN 서버 살아있는지 확인 =====
SVN 서버가 사용중인 포트가 살아있는지 봅니다.
# netstat -ant | grep 3690
===== SVN 서버 죽이기 =====
ps 명령으로 svnserve의 프로세서 ID를 알아낸 후 kill 명령으로 죽여버립니다.
<code>
# ps -ef | grep svnserve
# kill -9 {PID}
</code>
====== 이클립스에 SVN 플러그인 설치하기 ======
http://forum.falinux.com/zbxe/?document_srl=553967
Help >> Install New Software 선택
Add 버튼 클릭
Repogitory사이트 등록
Name : subclipse
Location : http://subclipse.tigris.org/update_1.8.x/
Subclipse 를 체크
이후 계속 OK로 진행
워크벤치에 SVN repository 를 배치
메인 메뉴 >> Windows >> Show View >> Other...
SVN Repositories를 선택한다.
화면 하단에 SVN repositories 패널 추가됨
Svn Repositories에 SVN 공유 디렉토리 등록
URL에 SVN 디렉토리 등록
ex) svn://localhost/repos