OSX Leopard를 Subversion 서버로 사용하기

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

Peter Kim에 대하여

김태영 PMP 010-9344-7505 프로젝트리서치(주) 대표/설립 peterkim@projectresearch.co.kr http://www.ProjectResearch.co.kr

4개의 답글 to “OSX Leopard를 Subversion 서버로 사용하기”

  1. 한가지 질문을 들려도 될까요
    저렇게 설정을 하면
    접근할 주소가 어떻게 되는지요
    http://localhost/…..
    이런식으로 될 것 같은데요
    체크아웃 할 때 필요한 정확한 좀 알 수 있을까요

    감사합니다.

    • 위의 명령 대로라면 “svn://localhost/project” 주소로 Access 하시면 간단하게 해결 됩니다. ID/PASS는 /data1/svn/project/conf/passwd 파일을 vi 에디터로 수정하시면 되구요.

      http:// 주소로 연결하실려면 별도의 Apache / 관련 component를 따로 설치해야하는데.. 좀 복잡해요.

  2. 항상 좋은글 잘읽고 있습니다. 그런데 위의 1번에 루트계정 활성화부터 안되서요..
    application -> utilities 밑에 아무리 찾아봐도 directory utility가 없던데요..
    제가 뭘 잘못했나요?

    감사합니다.~

    정말 DevonThink는 제가 찾던 유용한 프로그램이었어요..^^

    • sudo를 사용하시면 됩니다.

      예를 들어

      “vi /data1/svn/project/conf/svnserve.conf”
      root 권한이 필요해서 편집이 안되는 경우

      “sudo vi /data1/svn/project/conf/svnserve.conf”
      이렇게 vi를 구동하면, 실행 전에 root 비밀번호를 확인한 후 root 권한을 갖고 실행할 수 있습니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: