FreeNAS가 FreeBSD기반이지만
여러 검색을 통해 나오는 FreeBSD에 subversion설치하기...는 FreeNAS에서 잘 되지 않는다.
FreeNAS에서 svn서버를 설치하는 방법을 소개한다.
원문 : http://sourceforge.net/apps/phpbb/freenas/viewtopic.php?f=13&t=3026
설치를 진행하려면 쉘을 써야 한다. FreeNAS자체에서 쉘을 들어가거나, SSH서비스를 열어두어야 하고,
나같은 경우엔 설정파일을 수정하기 용이하게 vim 패키지도 설치를 해 놓은 상태이다.
vim이 없다면 FreeNAS 웹 설정 페이지에서 파일 수정 기능을 사용해도 무방.
일단 subversion 패키지를 설치한다.
[code shell]
pkg_add -r subversion
[/code]
pkg_add에서 에러가 난다면 이전에 올린 포스팅을 참고하기 바람.
pkg_add를 하게 되면 의존성에 따라 여러 패키지가 설치된다.
subversion설치가 끝나면 repository로 사용할 디렉토리를 하나 만든다.
디렉토리 위치는 상관 없고, 난 NAS로 사용중인 파일시스템, /mnt/Data 아래에 만들었다.
[code shell]
mkdir -p /mnt/Data/subversion/repositories
[/code]
다음으로 svn데몬을 시작시킨다.
[code shell]
/usr/local/bin/svnserve -d --listen-port 3690 --listen-host 192.168.123.150 -r /mnt/Data/subversion/repositories
[/code]
각 옵션의 의미는 다음과 같다.
-d : 데몬 모드로 실행
--listen-port : svn 접속 포트
--listen-host : svn 호스트. 현재 서버의 ip나 호스트를 넣어주면 된다.
-r : repository로 사용할 디렉토리 위치
데몬이 실행되면, 이제 svn을 사용할 수 있다.
svn repository는 다음과 같이 만들 수 있다.
[code shell]
/usr/local/bin/svnadmin create /mnt/Data/subversion/repositories/hir-test/
[/code]
물론, hir-test라는 디렉토리명은 변경 가능하다.
repository가 만들어지면 기본 설정파일이 생성되는데, 접속을 위해서는 이 설정파일을 수정해주어야 한다.
설정파일의 위치는 [repository]/conf/svnserve.conf 이다.
이 파일을 에디터로 열어서 다음 줄에 대해서 주석을 풀어준다.
[code]
anon-access = read
auth-access = write
password-db = passwd
[/code]
anon-access : 인증되지 않은 유저(anonymous)에 대한 접근권한. 현재로서는 읽기권한만 준다.
auth-access : 인증된 유저에 대한 접근권한. 쓰기가 가능하다.
password-db : 인증 유저에 대한 정보가 담긴 파일
그리고 인증유저를 추가하기 위해 같은 디렉토리 내의 passwd 파일을 에디터로 열어 id와 pass를 추가한다.
[code]
test = test
[/code]
이 줄을 추가하면 test계정에 대해 test라는 패스로 유저가 추가된다.
이로써 서버 설정은 끝이다. 추가 repository에 대해서도 동일한 작업을 수행해 주면 된다.
클라이언트쪽 사용 방법은 생략.
서버 재부팅시에도 svn서버를 구동하고자 한다면
/etc/rc.d/ 디렉토리 아래에 데몬 구동 스크립트를 만들어 넣어두면 된다.
1. subversion.sh 작성
[code]
#!/bin/bash
/usr/local/bin/svnserve -d --listen-port [포트] --listen-host [호스트] -r [repository]
[/code]
2. 실행권한 부여
[code shell]
chmod 755 /etc/rc.d/subversion.sh
[/code]
'Knowledge > 기타' 카테고리의 다른 글
백업용 간단한 쉘스크립트 (0) | 2011.07.14 |
---|---|
아이폰 백업파일의 구조 (0) | 2011.04.25 |
FreeNAS에 추가 패키지 설치하기 (0) | 2011.03.23 |
구글 캘린더, 데스크탑과 아이폰에 동기화하기 (0) | 2010.12.22 |
문자셋, 인코딩, 그리고 프로그래밍과 관계된 것들. (0) | 2010.12.11 |