yoursyun
Apache, Subversion, TortoiseSVN 연동 본문
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
을 추가 한다.