- Subversion 1.6.1 설치 가이드
- 설치전 사전 준비 사항
- Subversion 설치
- Subversion 저장소 생성
- Apache와 연동
- Subversion Python 모듈 설치
- Subclipse 설치
- 설치 가이드
- 설치전 사전 준비 사항
- Subversion 설치
- Subversion 환경 설정 (Apache 연동)
- 사용자 가이드
- 폴더별 의미
- 관리자 가이드
- 유용한 도구
- 참고 문헌
CVS와 같은 버전 관리 서비스인 Subversion에 대한 전반적인 사항을 정리한다.
홈페이지 : http://subversion.tigris.org/
CollabNet Subversion 홈페이지 : http://subversion.open.collab.net/
다운로드 : http://subversion.tigris.org/project_packages.html
CollabNet Subversion 다운로드 : http://www.collab.net/downloads/subversion/
라이센스 : Subversion License
플랫폼 : Windows, Unix, Linux, Mac OS X
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 : 릴리즈된 소스를 관리하는 폴더
관리자 가이드
유용한 도구
Subclipse : Eclipse용 Subversion Plugin
참고 문헌
분류: 오픈소스
Repository
DevOps