yoursyun

Apache, Subversion, TortoiseSVN 연동 본문

environment/java

Apache, Subversion, TortoiseSVN 연동

yoursyun 2013. 9. 4. 19:49

Apache, Subversion, TortoiseSVN 연동


1. 각각의 파일들을 다운로드 후 설치 한다.

설치 순서는 Apache Subversion TortoiseSVN 순 이며, 설치 파일은 아래 링크 참조

http://httpd.apache.org/download.cgi

http://www.collab.net/downloads/subversion 

http://tortoisesvn.net/downloads.html ( 이전 포스트 참조 하여 설치 )


2. 저장소를 설정한다.

subversion 명령어로 설정 할 수 도 있지만, TortoiseSVN 이 편하므로 이를 사용.


이하 "C:\svn\project1" 기준 으로 설명.


2-1. project1에서 마우스 우클릭 > TortoiseSVN > 현재위치에저장소 선택 > 폴더구조 생성 클릭

2-2. 이를 진행하면 다음과 같이 디렉토리가 생성 되어야 한다.


3. Apache 서버에 SVN 모듈 등록

서브버전의 설치 폴더로 들어가서 "C:/Program Files/Subversion/bin" 


위 두개 파일을 Apache 설치 폴더 

"C:\Program Files\Apache Software Foundation\Apache2.2\modules" 로 복사 합니다.


3-1. "C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf" 를 열어 다음을 편집 합니다.

# 아파치 모듈 설정중 아래 구문 주석해제

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so 

# 다음과 같은 SVN 모듈을 추가한다.

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so


# Virtual hosts 항목의 주석 해제 ( 가상 호스트 이용 )

Include conf/extra/httpd-vhosts.conf


3-2. "C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf" 를 열어 다음을 추가 합니다.

<VirtualHost 컴퓨터이름이나도메인(svn.hahaha.com):80>

    ServerAdmin admin@domain.com

    <Location /svn/project1> # 이는 브라우져에서 http://도메인/svn/project1 위치를 뜻합니다.

        DAV svn

        SVNPath "C:\svn\project1"

        #SVNParentPath "C:\svn\project1"

        #SVNListParentPath On

        AuthType Basic

        AuthName "SVN Test Repository"

        AuthUserFile "C:\svn\project1\conf\htpasswd"

        AuthzSVNAccessFile "C:\svn\project1\conf\authz"

        Require valid-user

    </Location>

</VirtualHost>


4. Apache 인증 파일 생성

Apache 명령어인 htpasswd 를 이용하여, 사용자 계정과 암호를 추가 합니다. 

단 3-2 항에서 AuthUserFile "C:\svn\project1\conf\htpasswd" 위치로 정했으므로 해당 위치"C:\svn\project1\conf\"로 이동하여, 

아래 예제와 같이 명령어 실행. ( htpasswd 명령어는 Aapche 용이므로 Path 설정 해서 사용 해야함 )

ex ) htpasswd -c htpasswd 사용자계정명 (-c 옵션은 신규 파일 생성 이후 사용자 추가시에는 빼고 입력)


5. Subversion 권한 설정

"C:\svn\project1\conf" 에서 authz 파일을 열어서 아래와 같이 편집합니다.

[groups]

group1 = kimsy # 4.에서 추가된 사용자 계정 입니다.


[repository:/]

@group1 = rw # 읽기쓰기 권한을 줌.

* = r # 그외 읽기 권한을 줌.


6. Apache 서버 재시작


7. 확인

웹 브라우져를 이용하여 올바르게 연동 되었는지 확인 합니다.

먼저, Aapche 의 올바른 구동 확인은 http://localhost/ 로 "it's Work!" 문구를 확인 합니다.

이후, "http://도메인/svn/project1" 을 주소로 들어가면, (크롬 화면임)



과 같이 인증 창이 나오게 되며, 올바르게 입력후, 올바르게 권한 설정(TortoiseSVN의 authz 파일)이 되었 다면, 


과  같이 나타납니다.


8. TortoiseSVN, Eclipse를 이용하여 버전 관리.

TortoiseSVN (이전 포스트 참조) 를 이용해 파일을 import > checkout 후. 이클립스에서 위 URL을 통해 연동 한다.


TortoiseSVN을 사용 하지 않고, Eclipse 에서의 연동은 위 설치 진행을 모두 완료 후 

이클립스의 마켓플레이스에서 SVN으로 검색하여, 아래 그림의 내용을 설치 한다.


SVN Connector 설치


설치를 하게 되면, 이클립스 프로젝트에서 SVN 을 선택하여,

URL과 설정된 계정을 통하여 접근하여 Checkout 받을 수 있다.


* CheckOut 전 확인 사항.

만일 SVN 설치후 CheckOut 후 소스 내의 파일이 깨진다면, eclipse.ini 를 열어 맨 마지막 줄에

-Dfile.encoding=UTF-8

을 추가 한다.


반응형