CVS와 같은 버전 관리 서비스인 Subversion에 대한 전반적인 사항을 정리한다.


Subversion 1.6.1 설치 가이드



설치전 사전 준비 사항

  • [Apache HTTP Server 2.2.8 with OpenSSL 0.9.8g](Apache HTTP Server 2.2.8.md) 설치
    • [HTTPS 서비스 설정](Apache HTTP Server 2.2.8.md#HTTPS 서비스 설정.md)

Subversion 설치

  • 다운로드 사이트에서 svn-win32-1.6.1.zip 파일을 다운로드 한다.

    • "windows has moved; please try here instead." 에 있는 here 링크 선택
    • "Tigris.org: Apache 2.0 or Apache 2.2"에 있는 Apache 2.2 링크 선택
  • 다운로드한 파일의 압축을 풀어 c:/app/Subversion/ 폴더를 생성 한다.


  • Subversion 사용을 위해 환경 변수를 설정 한다.

 PATH 환경 변수에 c:/app/Subversion/bin 추가
 ###--- 한글 변환 등의 처리를 위해 iconv를 환경 변수에 설정 한다.
 APR_ICONV_PATH=c:/app/Subversion/iconv

  • 도스창을 띄워 svnversion --version 명령으로 버전을 확인 한다.
 svnversion, 버젼 1.6.1 (r37116)
     Apr 10 2009, 19:06:38에 컴파일 됨
 
 Copyright (C) 2000-2009 CollabNet.
 Subversion is open source software, see http://subversion.tigris.org/
 This product includes software developed by CollabNet (http://www.Collab.Net/).


Subversion 저장소 생성

  • 저장소 폴더와 샘플 프로젝트를 생성 한다.
 c:/svn_repository 폴더를 생성 한다.
 cd c:/svn_repository
 svnadmin create --fs-type fsfs sample
  • 프로젝트 접속에 사용할 계정을 생성 한다.
    • 생성된 사용자 계정 정보는 c:/svn_repository/sample/svn_passwd 파일에 저장 된다.
 cd c:/svn_repository/sample
 $APACHE_HOME/bin/htpasswd -c svn_passwd guest   #--- -c는 svn_passwd 처음 생성시
 $APACHE_HOME/bin/htpasswd -m svn_passwd manager #--- -m은 svn_passwd이 있을 경우

Apache와 연동

Apache HTTP Server와 연동할 경우에 사용 한다.

  • 연동 모듈 복사

    • $SUBVERSION_HOME/bin/mod_dav_svn.so 파일을 $APACHE_HOME/modules 로 복사 한다.
    • $SUBVERSION_HOME/bin/mod_authz_svn.so 파일을 $APACHE_HOME/modules 로 복사 한다.
  • $APACHE_HOME/conf/httpd.conf 파일에 다음을 추가 한후 재기동 한다.

 LoadModule dav_module modules/mod_dav.so
 LoadModule dav_fs_module modules/mod_dav_fs.so
 LoadModule dav_lock_module modules/mod_dav_lock.so
 LoadModule dav_svn_module modules/mod_dav_svn.so
 LoadModule authz_svn_module modules/mod_authz_svn.so
 
 
     DAV svn
     SVNPath "c:/svn_repository/sample" 
 
     AuthType        Basic
     AuthName        "subversion"
     AuthUserFile    "c:/svn_repository/sample/svn_passwd"
 
     #등록된 사용자만 읽기 가능.
     
         Require     valid-user
     
 
     #등록된 사용자중 특정 사용자만 쓰기 가능토록 설정.
     
         Require     user    manager
     
 

  • Apache HTTP Server가 정상적으로 재기동 되지 않을 경우 dll 파일을 복사 한다.

    • $SUBVERSION_HOME/bin/*.dll 파일을 $APACHE_HOME/bin 폴더로 복사 한다.
  • http://localhost/svn/sample/ 로 접속하여 사용 한다.



Subversion Python 모듈 설치

  • Python을 사용할 경우 Subversion Python 모듈을 설치 한다.


  • 다운로드 사이트에서 svn-python-1.6.1.win32-py2.5.exe 파일을 다운로드 한다.

    • "windows has moved; please try here instead." 에 있는 here 링크 선택
    • "Tigris.org: Apache 2.0 or Apache 2.2"에 있는 Apache 2.2 링크 선택
  • 다운로드 받은 파일을 실행하여 "다음(N)" 버튼만 눌러 주면 아래 폴더에 설치가 된다.

 $PYTHON_HOME/Lib/site-packages/'''svn'''


Subclipse 설치


설치 가이드


아래 설치 가이드는 Windows Server 2003을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요.


설치전 사전 준비 사항

  • [Apache HTTP Server 2.2.8 with OpenSSL 0.9.8g](Apache HTTP Server 2.2.8.md) 설치
    • [HTTPS 서비스 설정](Apache HTTP Server 2.2.8.md#HTTPS 서비스 설정.md)

Subversion 설치

  • 다운로드 사이트에서 "Win32 packages built against Apache 2.2"를 선택하여 "svn-1.4.6-setup.exe"을 선택하여 다운로드 한다.
    다운로드


  • 설치 파일("svn-1.4.6-setup.exe")을 실행한다.


  • "예"를 선택하여 설치를 시작한다.
    설치 시작


  • "Next"를 선택하여 설치를 계속 한다.
    설치 계속


  • 제공하는 정보를 읽고 "Next" 버튼을 누른다.
    정보 확인


  • 설치할 디렉토리를 선택하고 "Next" 버튼을 누른다.
    설치 디렉토리


  • 메뉴 폴더 명을 선택하고 "Next" 버튼을 누른다.
    메뉴 폴더


  • 추가 작업을 확인하고 "Next" 버튼을 누른다.
    추가 작업


  • "Install" 버튼을 눌러 설치를 진행한다.
    설치 진행


  • 추가 설정 정보를 읽고 그대로 작업한 후 "Next" 버튼을 누른다.

    • 환경 변수에 APR_ICONV_PATH=d:/OpenBiz/11_tools/subversion146/iconv 를 추가한다.
      추가 설정
  • "Finish" 버튼을 눌러 설치를 종료한다.
    설치 종료



Subversion 환경 설정 (Apache 연동)

  • d:/OpenBiz/32_application_data/svnRepo 저장소 폴더를 생성한다.


  • Apache HTTP Server에서 Subversion에서 사용할 사용자 아이디와 암호를 생성한다.

 cd d:/OpenBiz/31_application/Apache228/conf
 d:/OpenBiz/31_application/Apache228/bin/htpasswd.exe -c htpasswd svnuser
     Automatically using MD5 format.
     New password: ********
     Re-type new password: ********
     Adding password for user svnuser
  • %APACHE_HOME%/conf/htpasswd 파일이 생성된다.

  • "-c" 옵션을 새 파일을 만드는 옵션이므로 이후 실행에서는 "-c" 옵션을 빼고 실행한다.


  • HTTPS를 사용하기 위해 %APACHE_HOME%/conf/httpd.conf에 다음과 같이 설정한다.

    • <VirtualHost *:443>의 맨 아래 부분에 다음을 포함 시킨다.
 
     DAV svn
     SVNParentPath "d:/OpenBiz/32_application_data/svnRepo"
 
     AuthType Basic
     AuthName "Subversion Repository"
     AuthUserFile "d:/OpenBiz/31_application/Apache228/conf/htpasswd"
     Require valid-user
 
  • SVNParentPath는 각 프로젝트의 저장소 디렉토리가 아닌 그 바로 위의 디렉토리를 뜻합니다. 이렇게 설정하면 https://www.jopenbusiness.com/svn/sample로 접속할 수 있고 sample 대신에 각 프로젝트 저장소 디렉토리 이름으로 접근할 수 있습니다.
  • 프로젝트의 저장소를 바로 지정하려면 SVNPath "d:/OpenBiz/32_application_data/svnRepo/sample"로 설정해야 합니다. 이렇게 설정하면 https://www.jopenbusiness.com/svn/에서 그 저장소의 내용이 표시되게 됩니다.
  • 모든 사용자가 사용할 수 있지만 커밋은 인증된 사용자만 사용하도록 하려면 Require valid-user 대신 아래 부분을 추가하세요.
 
     Require valid-user
 

  • HTTP를 사용하기 위해 %APACHE_HOME%/conf/httpd.conf에 다음과 같이 설정한다.
    • HTTPS 설정과 동일하면 다만 <VirtualHost *:443> 대신 <VirtualHost *:80>을 사용하면 된다.
 
     
         DAV svn
         SVNParentPath "d:/OpenBiz/32_application_data/svnRepo"
 
         AuthType Basic
         AuthName "Subversion Repository"
         AuthUserFile "d:/OpenBiz/31_application/Apache228/conf/htpasswd"
         Require valid-user
     
 


사용자 가이드



폴더별 의미

  • trunk : 주 개발 작업을 진행하는 폴더
  • branches : 소스의 실험적인 작업을 진행하는 폴더, 차기 버전을 개발할 경우 이 폴더를 이용
  • tags : 릴리즈된 소스를 관리하는 폴더

관리자 가이드



유용한 도구



참고 문헌


분류: 오픈소스 Repository DevOps

최종 수정일: 2022-10-24 19:17:28

이전글 :
다음글 :
상단 menu
arrow_back_ios
arrow_forward_ios