NAS를 살 때 많은 고민을 하고 Synology 제품을 선택했다.
FTP 같은 기능은 당연한 것이고,
CloudStation 은 참 만족스러운 기능으로 사용을 했다.
최근에 주변 사람을 통해서 소스 형상관리툴 Git을 알게 되었다.
나의 NAS에서 Git을 설치할 수 있다는 것을 알게 되고는
구글링등의 많은 방법을 통하여 설치하는 방법을 알게 되었다.
이걸 정리를 해 놓아야지 다음에 다시 설치하더라고 유용할꺼 같아서 정리를 해 보았다.
● 설치 환경
Synology NAS DS212J
DSM 5.2
● 사용환경
Visual Studio 2013
● 설정방법
1.NAS에서 SSH서비스를 활성화해야 한다.
제어판에 들어가서 응용 프로그램란에 [터미널 및 SNMP]를 선택한다.
SSH 서비스를 활성화 시켜준다.
2.Git Server 설치
NAS바탕화면에 있는 패키지 센터를 실행해서, [모두] 또는 [유틸리티]화면을 열어보면 아래와 같이 Git Server라는게 보인다.
서버가 설치되기 전에는 버튼이 [설치]라고 되어 있어 설치하고 나서 보면 아래와 같이 [열기]로 보여진다.
Git Server 설치 후 설치됨 메뉴를 선택해보면 아래와 같이 설치가 되었음을 알 수가 있다.
Git Server를 선택하여 들어가서 Git Server 서비스를 활성화 시켜준다.
3.NAS에 사용자 계정을 추가해야 한다.
다시 제어판에 가서 사용자 메뉴를 선택한다.
사용자 메뉴에서 [생성] 버튼을 클릭한다.
사용자 정보를 입력한다.
사용자 계정을 gituser라고 했다.
gituser의 그룹은 users로 선택한다.
gituser는 homes만 접근권한을 줬다.
그 이후는 모두 다음 .. 다음 넘어가면 되고 혹시나 싶어서 WebDav는 허용하였다.
4.Repository 생성
NAS에서의 작업은 끝이 난거 같다.
Windows 를 사용하는 관계로 PuTTY를 이용해서 Repository를 생성해야 되겠다.
PuTTY를 실행하고 root로 로그인을 한다.
키보드를 두드릴 시간이 왔다.
NAS에 disk가 하나가 있어 그 놈은 volume1인데 그 놈의 이름이 /var/services 이라는것 같다.(리눅스를 잘 모름)
아뭏튼 gituser라고 만든 계정의 홈은 /var/services/homes/gituser가 된다.
여기에 project.git 이라는 폴더를 생성고
그 폴더로 들어가서 Repository 초기화(?)라나 뭐 그렇게 해준다.
그리고 cd .. 하여 상위 폴더로 올라와서
project.git 이란 폴더의 하위 전체의 권한을 gituser에 넘긴다.
chown -R (git사용자 계정):(git 사용자가 속한 그룹) (사용자 디렉토리)
여기까지 하면 Git Server의 설정이 끝이다.
5.Windows 에서의 설정
이것도 참 고생을 했다.
개념 모르고 덤비니 가시밭길이 이만 저만이 아니다.
그래도 다 왔다.
참고로 Windows에서의 Git 에 대한 사용법은 http://backlogtool.com/git-guide/kr/ 여기를 참고했다.
TortoiseGit 프로그램을 설치를 한다.
그리고 나서 Windows 원하는 경로에 repository를 생성한다.
그리고는 다시 TortoiseGit의 Settings 화면에서 사용자를 저장한다.
이 때 사용자는 NAS에 만든 gituser가 아닌 개발자를 의미한다.(개발자마다의 개별 설정)
제일 중요한 마지막 설정이다.
URL 은 http로는 성공을 못했다. 그래서 ssh로 했다.
ssh://(NAS에 생성했던 계정)@(NAS의 DNS):(포워딩한 port)/volume1/homes/(사용자 계정 폴더)/(Repository 폴더 명)
(예 ssh://gituser@nas.familyds.com:9112/volume1/homes/gituser/project.git)
- ssh의 표준 포트는 SSH 서비스 활성화에서처럼 22이다.
세상이 무서워서 port forwading을 하는게 좋을꺼 같다. 임의의 숫자로
- /volume1 대신 /var/services 라고 써도 되는거 같은데 다음에 설정할 일이 있으면 그렇게 해 보아야겠다.
이렇게 해서 NAS에서의 Git 사용에 관련된 모든 설정을 완료한거 같다.
많은 시간을 들여서 해 놓은 삽질을 잊어버리기 전에 이렇게 정리한 번 해 보았다.
[출처] http://kongzz.tistory.com/14