Peter .WEB2

1월 1, 2008

OSX Leopard를 Subversion 서버로 사용하기

밑에 신청: IT-PM Skill, System Architecture — Peter Kim @ 10:24 오전

Leopard에는 subversion이 기본적으로 설치되어있다.

Tiger때에는 무척이나 복잡 (Getting Control with Subversion and Xcode) 했었는데, Leopard에서는 그리 어렵지 않게 Subversion 서버를 사용할 수 있게 되었다.

집의 Leopard를 홈서버 격으로 Subversion 서버로 설정하였고, Know-How를 공유하고자 한다.

1) root 계정 활성화

2) Subversion Repository 생성

3) 자동실행 Script 작성

4) Start-up Item 등록

5) Client 사용

1. root 계정 활성화

- Application > Utilities에서 “Directory Utility”를 실행하여, “Edit > Enable Root Password” 를 클릭하여 root 패스워드를 등록한다.

- Terminal을 열어서 “su” 명령어를 통해 root 계정으로 login한다.

$su

 

앞서 등록한 root 패스워드를 입력하여 root 계정으로 로그인 한다.

2. Subversion Repository 생성

1) Repository 생성

우선 Root Repository를 생성해야 한다. (여기서는 /data1/svn을 Repository root로 설정한다. 사용자 환경에 맞추어 변경하세요.)

#mkdir /data1/svn

#cd /data1/svn

#svnadmin create –fs-type fsfs project

 

이렇게하면 /data1/svn에 project directory 및 기본적으로 하위 디렉토리들이 만들어 진다.

인증/보안을 위한 몇가지 옵션을 설정해 주어야 한다.

 

2) 기본적인 환경 설정

#vi /data1/svn/project/conf/svnserve.conf

 

[general]

anon-access = none

auth-access = write

password-db = passwd

 

기본적으로 anonymous access 불가, 인증 성공한 사람만 write권한, 인증방식은 passwd 파일 방식

 

#vi /data1/svn/project/conf/passwd

 

[users]

userid1=password1

userid2=password2

 

접속을 허용할 userid 및 password를 기재해주면 된다.

3. Subversion서버 자동실행 Script 작성

- Subversion Daemon을 실행시키기 위한 초기 작업으로 구동 script 작성

#mkdir /data1/script

#vi /data1/script/subvershion.sh

————————————————————————————————–

 

/usr/bin/svnserve -d -r /data1/svn

————————————————————————————————–

#chmod 755 /data1/script/subvershion.sh

4. Start-up Item 등록

- Leopard가 재부팅될 시 자동으로 Subversion Daemon 구동 script를 실행시키기 위해 Start-up Item 등록

 

#vi /Library/LaunchDaemons/com.subversion.launchd.plist

 

 

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
        "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.subversion.launchd</string>
        <key>ProgramArguments</key>
        <array>
                <string>/data1/script/subvershion.sh</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

 

#chown root:wheel /Library/LaunchDaemons/com.subversion.launchd.plist

이후 Rebooting 하면 Subversion이 떠 있는걸 확인할 수 있다. ( ps -ef | grep svnserve )

5. Client 사용

1) OSX terminal

Terminal명령어로 Subversion을 사용하기 위해서는 환경 변수 설정이 필요한데 다음과 같다.

$cd ~

$vi .bash_profile

————————————————————————————————–

 

SVN_EDITOR=/usr/bin/vim

export SVN_EDITOR

————————————————————————————————–

 

2) OSX GUI

- zigVersion : http://zigzig.com/

- svnX : http://www.apple.com/downloads/macosx/development_tools/svnx.html

- Versions : 아직 출시되지 않았지만 Disco를 제작한 madebysofa에서 Versions라는 SVN GUI client 제품을 개발하고 있고, 조만간 출시될 예정이라고 함.

3) Windows version

- Tortoise : http://blog.empas.com/mcchae/19118563 에 설명된 Tortoise 참조.

Subversion 참고 Reverence

- http://svnbook.red-bean.com/

- KLDP Subversion

Blog at WordPress.com.