우분투 리눅스에서 Subversion을 설치하는 방법입니다.
우분투를 SVN 서버로 사용하고 사용자는 윈도우 환경에서 사용한다는 가정하에 진행합니다.
(tested : Ubuntu 12.04)

 

1. Subversion 설치
root@ruo91:~# apt-get install -y subversion

 

2. SVN 사용자 계정 생성
root@ruo91:~# adduser svn
'svn' 사용자를 추가 중...
새 그룹 'svn' (1002) 추가 ...
새 사용자 'svn' (1002) 을(를) 그룹 'svn' (으)로 추가 ...
'/home/svn' 홈 디렉터리를 생성하는 중...
'/etc/skel'에서 파일들을 복사하는 중...
새 UNIX 암호 입력:
새 UNIX 암호 재입력:
passwd: password updated successfully
Changing the user information for svn
Enter the new value, or press ENTER for the default
Full Name []: SVN
Room Number []:
Work Phone []:
Home Phone []:
Other []:
chfn: name with non-ASCII characters: '▒SVN'
정보가 올바릅니까? [Y/n] y

 

3. 저장소(repository) 생성
root@ruo91:~# svnadmin create --fs-type fsfs /home/svn/repos

 

4. SVN 설정
general 부분에 필요한것만 주석을 풀어 저장하고 나갑니다.
root@ruo91:~# nano /home/svn/repos/conf/svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = passwd
realm = ruo91 repository

 

Commit시 사용할 비밀번호 설정입니다. 간단하게 user = passwords 로 구성 하시고 저장하고 나가면 됩니다.

root@ruo91:~# nano /home/svn/repos/conf/passwd
[users]
ruo91 = 123456

 

설정파일에 svn 계정의 권한을 줍니다.
root@ruo91:~# chown -R svn:svn /home/svn/repos/

 

5. SVN 서버 실행
SVN 서버를 데몬형태로 띄워 사용합니다. (-r 옵션은 서비스될 SVN 저장소를 지정하시면 됩니다.)
root@ruo91:~# svnserve -d -r /home/svn/repos
프로세스 확인 해보시구요..
root@ruo91:~# ps -ef | grep svnserve
root 2341 1 0 20:54 ? 00:00:00 svnserve -d -r /home/svn/repos/

 

6. trunk, branches, tags 생성
root@ruo91:~# svn mkdir --parents svn://localhost/repos/trunk --username=ruo91

위 그림에서 Ctrl + X를 눌러 저장하고 나오시면 됩니다.

그후 아래와 같이 C를 눌러 줍니다.
로그 메시지가 변경되지 않았거나 지정되지 않았습니다
취소(A), 계속(C), 수정(E):
C

 

4번에서 passwd파일에서 설정한 계정의 비밀번호를 입력 하시면 됩니다. (보안상 비밀번호 입력시 보이지 않습니다. 입력 안되는게 아닙니다.)
인증 영역(realm): <svn://localhost:3690> 8996098a-a965-4b8a-9330-acdbf70c69e8
'ruo91'의 암호:

 

Please type ‘yes’ or ‘no’: 부분에서 “yes or no ,y ,n” 별짓을 다해도 계속 묻는데..
이 경우 svn 버그로 시스템 로케일이 ko_KR.UTF-8 일 경우에 발생된다네요..
따라서, 한글로 “예”로 대답하시면 됩니다.  (ko_KR.UTF-8 로케일 사용자만  해당 되는 내용입니다.)
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:
<svn://localhost:3690> ruo91 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
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
Please type 'yes' or 'no':
커밋된 리비전 1.

 

trunk와 마찬가지로 branches, tags도 생성 해주세요.
root@ruo91:~# svn mkdir --parents svn://localhost/repos/branches --username=ruo91
root@ruo91:~# svn mkdir --parents svn://localhost/repos/tags --username=ruo91

 

7. 윈도우용 SVN 클라이언트(TortoiseSVN)
TortoiseSVN를 다운로드해서 빠르게 설치해줍니다.
http://tortoisesvn.net/

TortoiseSVN 설치가 완료 되면 윈도우의 빈공간 오른쪽 마우스를 눌러 아래와 같이 SVN Checkout 를 눌러줍니다.

 

 

 

svn 서버와 저장소를 적어줍니다.

 

 

 

정상적으로 Checkout 되었습니다.

 

 

commit을 테스트하기 위해 trunk 폴더로 들어갑니다.

 

 

몇가지의 파일을 생성후 SVN Commit을 눌러줍니다.

 

 

Commit 할 파일을 선택 합니다.

 

 

passwd에서 설정했던 사용자의 아이디와 비밀번호를 가지고 인증을 합니다.

 

 

인증이 완료 된후 Commit이 정상적으로 되었습니다.

 

 

SVN 서버에서도 잘 나오네요. 수고하셨습니다. 😀