[Subversion] 다양한 방법의 SVN 저장소 서비스 운영

SVN은 매우 추천할만한 Version Control 시스템입니다. 실제로 학교에서 프로젝트를 운영할때도 사용했었고 실무에서도 많이 접해오게 된 다방면으로 쓰이는 녀석입니다. 우선 SVN을 사용할때는 통합적으로 소스의 버젼관리를 위해 저장소(Repository)를 운영하게 되는데 24시간 운영되는 서버에서 데몬형식으로 서비스 되는 것이 일반적입니다. 가장 많이 쓰이게 되는 3가지 방법에 대해 알아보도록 하겠습니다.

* 일반 단일 데몬 형태

[code]/usr/bin/svnserve -d -r [저장소경로][/code]
일반적으로 가장 단순한 방법입니다. -d는 daemon의 약자로 데몬형태로 작동시키라는 말이됩니다. 곧바로 하나의 백그라운드 프로세스가 실행되어 svn:// 프로토콜로 접근할 수 있게 됩니다.

* inetd 형태

일반적으로 슈퍼데몬이라고 불리는 inetd(xinetd)에 얹혀 작동하게 되는 방식입니다. 서비스 운영을 슈퍼데몬에 위임하게 되므로 어찌보면 가장 간단하고 깔끔한 방식입니다.

[code]vi /etc/xinetd.d/svn[/code]
위와 같이 svn이라는 서비스를 추가해 줍니다. 파일안에는 다음의 내용을 작성하면 됩니다.

[code]service svn
{
        disable = no
        port = 3690
        socket_type = stream
        protocol = tcp
        wait = no
        user = root
        server = /usr/bin/svnserve
        server_args = -i -r [저장소경로]
}[/code]
user에는 적절히 원하는 사용자를 넣어주시면 됩니다. 보안상 root는 피하시는것이 좋습니다.
xinetd 데몬을 재시작해주시면 바로 사용이 가능해 집니다.

[code]service xinetd restart[/code]
* Apache(mod_dav_svn) 모듈 형태

어찌보면 가장 추천할만한 좋은 방법입니다. 그리고 가장 설정하기가 번거롭습니다. 이 작업은 아파치 웹서버를 직접 컴파일하여 사용하지 않고 기본 패키지에 들어있는 httpd-*.rpm을 사용하는 시스템으로 가정하겠습니다.

우선 httpd가 정상적으로 설치가 되어있는지 확인해 봅시다. 저의 테스트 머신은 엔터프라이즈리눅스 4입니다.
[code]rpm -qa | grep httpd
httpd-manual-2.0.52-41.ent.4
httpd-suexec-2.0.52-41.ent.4
httpd-devel-2.0.52-41.ent.4
httpd-2.0.52-41.ent.4[/code]
[이곳]에 접속하셔서 자신의 머신에 가장 적절한 버젼을 받도록 합니다. 될수 있는한 제공되는 rpm패키지들을 모두 다 설치하는게 좋습니다. subversion뿐만 아니라 mod_dav_svn 패키지를 설치하는 것이 이 작업의 키포인트 입니다.

/etc/httpd/conf.d 위치에 subversion.conf 파일이 생성됩니다. 해당 파일을 설정해 줍시다.
[code]LoadModule dav_svn_module     modules/mod_dav_svn.so

<Location /svn>
   DAV svn
   SVNPath [저장소경로]


   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL


      AuthType Basic
      AuthName “Authorization Realm”
      AuthUserFile /home/.htpasswd
      Require valid-user
   </LimitExcept>
</Location>[/code]
위에서 참고하실점은 AuthUserFile옵션입니다. htpasswd파일은 아파치 패키지에 포함되어있는 htpasswd명령으로 만들 수 있습니다. (자세한건 구글링 해보시길)

이제 해당 서버에 http://[호스트아이피]/svn 으로 웹브라우저로 접속해 보시면 바로 탐색이 가능하다는 것을 알 수 있습니다. 또한 같은 주소로 SVN 체크아웃을 할 수 있습니다.

– 여러개의 저장소를 묶어서 사용할 시
다음의 두개의 저장소가 있다고 가정해 봅시다. 둘 다 /svn 하위에 존재하고 있습니다.


/svn/repo1

/svn/repo2
이경우 다음과 같은 설정을 사용하여 모두 묶어서 서비스 할 수 있습니다.

[code]<Location /svn>
   DAV svn
   SVNParentPath /svn
   SVNListParentPath on
</Location>[/code]

스타크래프트2 싱글플레이 크랙 + AI패치(난이도 조절 포함) + 종족 선택

사용자 삽입 이미지
스타크래프트 싱글플레이 크랙 + 적과 함께 싸울 수 있는 AI패치입니다.


– 1대1 혹은 1대3의 컴퓨터와의 플레이를 할 수 있습니다.
– 다양한 맵을 플레이 해볼수 있습니다.
– LazyLauncher를 사용합니다.
– 9가지 레벨의 AI 난이도를 선택할 수 있습니다.

* 설치 방법

– Starcraft 2 베타를 설치합니다. 설치경로는 “Program Files/ Starcraft II Beta”를 지켜야 합니다.
– 설치후에 1회 실행하여 최신버젼으로 업데이트 합니다.
– 크랙을 설치한 폴더에 덮어 씌웁니다.
– 맵의 압축을 해제합니다. 어느 위치던지 상관없습니다.
– 난이도를 변경할려면 Difficulty안의 파일을 “StarCraft II Beta\Mods\Liberty.SC2Mod” 위치에 덮어 씌웁니다.
– LazyLauncher를 실행합니다. 좀전에 압축푼 맵 파일을 선택하면 됩니다.

1047067728.zip1138309485.zip

1025663255.rar1116386776.rar1355607974.rar1045671826.rar1155568635.rar
* 추가 (AI 패치 5.5)
1273814673.xxx
* 추가 (새로운 맵들)
http://www.nibbits.com/sc2/maps/

* 추가 (AI  패치 6.1 – 일반모드/치팅모드)
1052999916.zip
* 추가 (베틀넷 로그인 우회 크랙 – 리플레이 감상용)
1039762747.zip
* 추가 (USMC23 런쳐 – 종족 선택 가능)
C:\users\<yourname>\AppData\Local\Blizzard Entertainment\Battle.net\cache
위치의 맵 파일을 다음으로 옮긴 후에 사용합니다.
C:\Users\<yourname>\Documents\StarCraft II Beta\Maps

1205966653.zip