QNAP TS-110 SVN Server Install


 - 순서.
svn 설치.
Repository 생성.
svn 서버 설정.
자동 실행 설정.

 - 설치환경.
TS-110  ver. 4.0.5  2014/01/17

 - 필요한 지식.
터미널 접속.
리눅스 쉘 사용법.

 - 주의.
/share/HDA_DATA 는 기종마다 이름이 다르다.
자신의 폴더를 확인해 보고 HDA_DATA을 알맞게 수정한다.
vi 에디터를 사용할 수 있어야 한다.
i, :w, :q 등 몇개 쓰이지 않는다.
추가할 내용을 윈도우 편집기에서 복사해서 PuTTY에서 우클릭하면 붙여진다.


1. svn 설치.
App center >> 개발도구 >> Optware IPKG 를 설치

터미널에 접속하여 다음을 실행한다.
ipkg update
ipkg install svn


2. Repository 생성.
자신이 원하는 폴더명으로 변경하여도 된다.
mkdir /share/HDA_DATA/Repository
mkdir /share/HDA_DATA/Repository/svn

폴더를 파일스테이션에서 관리하려면 아래와 같이 한다. 보안상 좋지 않다.
제어판 -> 공유폴더 -> Repository 만들기.
파일스테이션 -> Repository -> svn 폴더 만들기.


3. svn 서버 설정.
svn 저장소 생성하면 svn 폴더에 각종 폴더와 파일이 생성된다.
svnadmin create /share/HDA_DATA/Repository/svn

Repository/svn/conf 이동.
svnserve.conf, passwd 파일을 편집기에서 아래와 같이 수정한다.
자신에게 필요한 설정이 있다면 자신에게 맞도록 편집하도록 한다.

svnserve.conf 파일.
[general]
anon-access=none
auth-access = write
password-db = passwd

passwd 파일.
svnUserID = password
svnUserID2 = password
아이디 = 패스워드 각자 알맞게 설정한다.

svn 서버를 실행한다.
svnserve -d -r /share/HDA_DATA/Repository/svn

svn 서버가 제대로 실행되어 있는지 확인.
ps | grep svnserve


4. 자동 실행 설정.
자동실행 설정을 하지 않는다면 nas가 리부팅 될때
svn 서버가 실행되지 않아 터미널로 접속하여 svn 서버를 실행하여야 한다.

qpkg.conf 파일을 편집한다.
vi /etc/config/qpkg.conf

아래의 내용을 추가한다.
[autorun]
Name = autorun
Version = 0.1
Author = neomilium
Date = 2013-05-06
Shell = /share/HDA_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/HDA_DATA/.qpkg/autorun
QPKG_File = autorun.qpkg
Enable = TRUE

폴더를 만든다.
/share/HDA_DATA/.qpkg 는 숨긴 폴더다. ls -a 로 볼수 있다.
mkdir /share/HDA_DATA/.qpkg/autorun

autorun.sh 파일을 만들거나 편집한다.
vi /share/HDA_DATA/.qpkg/autorun/autorun.sh

아래의 내용을 추가한다.
/opt/bin/svnserve -d -r /share/HDA_DATA/Repository/svn

실행권한을 변경한다.
chmod +x /share/HDA_DATA/.qpkg/autorun/autorun.sh

리부팅 후 확인 한다.


참고페이지.
http://wiki.qnap.com/wiki/Subversion
http://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup
http://www.study4you.kr/xe/pds/41560
http://ftvoid.com/blog/post/57

댓글

이 블로그의 인기 게시물

파이썬 vscode에서 자동 코드 정렬. Formatter.

Unity3D git 저장소에 올릴때 필요없는 파일 제외하기. gitignore

플러터(flutter) 개발 참고 사이트들.