컴퓨터

SVN을 카페24 웹호스팅에서 이용하기

최근에 버전관리도구인 SVN을 접할 기회가 있어서, 이번 기회에 몇가지 작업을 SVN으로 관리하기로 하였습니다. 회사 내에서는 우분투 서버에 설치해서 쓰고 있는데, 장소에 구애받지 않고 집에서나 회사에서나 사용할 수 있는 방법이 없을까 고민하던 중에, 카페24 웹호스팅에서 SVN, GIT를 지원하는 것을 알게 되어, 사용법을 소개하고자 합니다.

참고

  1. 제가 현재 사용하는 카페24 서비스 : 10G 광아우토반 FullSSD 일반형
  2. 서버에 설치된 SVN 버전: svn, version 1.4.2 (r22196)

1. 저장소 만들기

TortoiseSVN 로도 만들 수 있지만, 제 경우는 GUI 메뉴가 이상하게 더 어려워서(?) 시킴말(명령어) 방식으로 알려드리겠습니다.

만드실 프로젝트 이름이 예를 들어 sample이라면, putty로 계정에 접속하여 www 디렉터리에 아래와 같이 저장소를 만듭니다.

mkdir svn_repos
cd svn_repos
svnadmin create --fs-type fsfs sample

2. 저장소 설정

sample의 conf 디렉터리에 보면 svnserve.conf, passwd, authz 파일이 들어 있는데 각각 아래와 같이 수정합니다.

svnserve.conf

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

하이라이트 된 3, 4번은 파일명이므로 특별한 경우가 아니면 고치지 않습니다.

passwd

[users]
sampleuser = 123456

사용자 ID와 암호입니다.

authz

[/]
sampleuser = rw

passwd에 입력된 사용자의 파일에 대한 권한 설정입니다. 읽기, 쓰기 허용(rw)으로 해야겠지요.

저장소 설정이 다 되었으면 subversion 서버를 실행합니다. putty에서 아래의 명령어를 실행합니다.

 svnserve -d -r /home/hosting_users/카페24아이디명/www/svn_repos

여기서 경로는, 꼭 절대 경로를 입력하셔야 합니다.

참고 : 절대 경로를 모르시면 아래의 path.php을 계정에 만들어서 웹 브라우저에서 실행해보세요


"; echo " 홈 주 소 : http://".$HTTP_HOST."/"; ?>

(첫 줄의 <!--?php에서 !--는 지워주세요)

SVN 서버 실행을 멈추고 싶으시면>

 pkill svnserve

하시면 됩니다.

3. 기본 디렉터리 생성

이제, 막 생성되서 텅빈 저장소에 branch, tag, trunk등의 디렉터리를 만들어주셔야겠지요? 이 부분은 시킴말(명령어)로 하기에는 좀 어려운 감이 있는데, 그냥 4번 단계로 넘어가서 TortoiseSVN의 [저장소 브라우저] 기능에서 [폴더 생성]으로 하셔도 됩니다.

putty에서 아래와 같이 입력하면

svn mkdir svn://도메인명/sample/trunk
svn mkdir svn://도메인명/sample/branch
svn mkdir svn://도메인명/sample/tag

svn: 로그 메시지를 구하기 위해 외부 프로그램을 사용할 수 없습니다. SVN_EDITOR 환경변수를 설정하시거나 --message (-m) 또는 --file (-F) 옵션을 사용하세요. svn: 환경변수 SVN_EDITOR, VISUAL, EDITOR 중 하나는 설정하거나, 'editor-cmd' 를 구성화일에 명시해야합니다.

이런 에러를 뱉어내므로 다른 설정을 좀 해줘야 합니다.

putty에서 www 디렉터리의 전 단계인 루트 디렉터리로 가서>

vi ./.bash_profile

보이지 않게 숨겨진 .bash_profile를 vi로 열어서 맨 끝 줄에 아래의 2줄을 추가합니다.

SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR

저장하고 빠져나오고, 바로 적용을 위해 아래의 명령을 실행

source ~/.bash_profile

다시 기본 디렉터리를 생성해보면

svn mkdir svn://도메인명/sample/trunk
svn cafe24

로그 메시지를 위와 같이 입력하고 저장하고 나오면, 아래와 같이 사용자명과 암호를 묻습니다.

첫번째 호스팅 계정명으로 묻는 암호도 passwd파일에 지정한 암호로 똑같이 입력하니깐 넘어가더군요

svn cafe24

나머지 branch와 tag 디렉터리 또한 같게 만드시면 됩니다.

4. TortoiseSVN에서 체크아웃하기

처음부터 TortoiseSVN에서 1번부터 3번까지의 작업을 할 수 있지만, 편의상 생략하였습니다. 저장소에서 소스 가져오기(체크아웃)부터는 TortoiseSVN에서 사용해보도록 하겠습니다.

사용하는 윈도우 데스크톱의 적당한 폴더(예:sample)를 만들어서 오른쪽 클릭을 해보면, [SVN 체크아웃] 메뉴가 있습니다.

svn cafe24

저장소 URL에 svn://도메인명/만든 프로젝트명을 입력하고 확인을 누릅니다. ex.) svn://abc.com/sample

svn cafe24

체크아웃이 완료되었으면 완료 불쑥 창이 뜨고 확인을 누르면 폴더 내에 위에서 만들었던 branch, tag, trunk가 내려받기 되어 있을 것입니다. (3번 단계를 안 하셨다면 텅 비어있겠지요?) 이제 trunk내에 자신의 문서를 만들어, 변경 사항이 중요한 시점에 이르면 커밋해주시면 됩니다.

남은 이야기

카페24 호스팅에서 SVN을 사용하는 방법을 소개한 것이므로, SVN의 자세한 사용법은 다루지 않았습니다. (자세한 내용을 알고 싶으시면, 밑에 두 링크를 참조) GitHub, BitBucket, 네이버 개발자센터도 같은 서비스를 제공하지만, 텍스트큐브 플러그인이나 스킨 등의 간단한 수정 같은 것에는 SVN이 더 쉽고 편한 것 같습니다.^^

참고 링크

ssk

이 글보고 cafe24 일년결제했는데, 지금 장난하십니까
고객센터에 문의해보니 가상호스팅이나 단독호스팅 신청해야 svn된다는데
열받게하네

미니

되는줄 알고 cafe24결재까지 했어요ㅠ

명건

^^ 안되는 거면 글을 내려주시는게 맞는거 같은데요...

석구

svnserve -d -r /home/hosting_users/카페24아이디명/www/svn_repos
이명령어를 치면 권한이 없다고 나옵니다
cafe24환경 똑같이 따라했는데요 ㅜㅜ

아르

단독 호스팅 외에는 SVN 사용할 수 없는데, 착오가 있어서 제 서버에는 열어두었다고 CAFE24로부터 연락이 왔네요. 좀전에 제 svn가 kill되었습니다. ㅠㅠ