FreeNAS에 SVN서버 설치하기

|

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]
And