이전까지 멍청하게 일일히 소스 통합을 하였던 방식 대신에 Subversion(svn)을
사용하는 방법에 대해서 알아보자.
svn을 처음 사용하고 감격의 눈물을 흘릴 뻔 했다. 자동으로 소스를 관리해주는 편리함에
로그 관리를 통해 이전 소스와의 비교까지 가능하고, 윈머지를 같이 사용할 수도 있다.
확실히 머리가 좋아야 몸이 덜 고생하는 법인데..
리눅스 설치하는 실습 후에 원래는 apache2와 svn을 통합하여 사용하는 방법으로
설치 하였으나 굳이 그럴필요 없다는 말에 새로 설정하는 서버에는 svn만 설치.
apache와 함께 사용할 수 있으나 http를 사용하는 것보다 svn이 좀 더 빠르다고 한다.
subversion 설치 리눅스 명령어
sudo apt-get install subversion
자동으로 svn 설치를 마쳐준다.
svn의 설치를 마쳤다면 저장소를 설정하는 명령을 한다.
home 밑에 svn폴더를 만들고 그 안에 사용하고 싶은 저장소의 명을 명령어에 넣고 실행한다.
저장소 생성 명령어
sudo svnadmin create --fs-type fsfs (저장소명)ex)AMT
* --fs-type 뒤의 fsfs는 저장소의 타입을 의미한다.
버클리DB 타입인 bdb를 쓸 수 있고 현재 사용한 것과 같은
파일시스템 형식인 fsfs 또한 사용가능하다.
위와 같은 명령어를 실행하면, AMT라는 폴더가 생성되고 하부 폴더로 각종 설정이
가능한 폴더 및 파일이 생성된다.
그 중 conf폴더의 authz, passwd, svnserve.conf 파일은 설정이 필요한 파일이다.
#authz
이미 존재하는 부분을 제외하고
[groups]에는 설정하고 싶은 그룹이름을 적고 그 안에 구성원의 아이디를 작성하면 된다.
ex) admin = kjk3071
[/], [/home/svn/AMT]
다음 폴더들은 위에서 설정한 그룹이 어떠한 권한을 가질 수 있는지 설정하는 곳이다.
ex) @admin = rw
ykjk321 = rw
그룹일 경우 앞에 @를 붙이고 아이디에 직접 권한을 할당할 경우 아이디만 적으면 된다.
아이디 혹은 그룹명에 할당한 r 은 read, w는 write를 의미한다.
#passwd
[users] 밑에는 설정하고 싶은 사용자의 아이디와 패스워드를 설정할 수 있다.
ex) kjk3071 = 123
#svnserve.conf
처음에는 파일 전체가 주석처리 되어있고, 이 중 필요한 부분의 주석을 제거한다.
[general]에서
anon-access = none //인증되지 않은 사용자의 권한
auth-access = write //인증된 사용자의 사용권한
password-db=passwd //패스워드 정보를 가져오는 파일
authz-db=authz //사용자 정보를 가져오는 파일
현재까지 필요한 내용은 이렇게 수정을 해주면 된다.
#svn 명령어
sudo svnserve -d -r /home/svn/ >> svn을 가동시키는 명령어
sudo killall svnserve >> svn을 중지하는 명령어
서버 재가동시에는 svn을 켜줘야 한다.
svn 가동 명령어를 수행 한 후 svn 클라이언트 프로그램을 통해 checkout을 실행하면 완료.
'리눅스' 카테고리의 다른 글
[리눅스] VIM에서 블록지정 및 기타기능 (0) | 2011.10.11 |
---|---|
[리눅스] VIM에서 문서를 다중으로 작업하기 (0) | 2011.09.01 |
[리눅스] ip forwarding 하기 (0) | 2010.12.15 |
[리눅스] adduser와 useradd (0) | 2010.12.01 |
[리눅스] 개인을 위한 설정 (0) | 2010.11.24 |