시놀로지 나스와 함께하는 git server

시놀로지 4베이짜리 나스에 git server를 설치해보고자 한다!

시놀로지와 함께하는 깃 서버

갑자기 시놀로지 나스에 git server를 설치하게됐다. 평소 깃허브는 자주 사용해왔지만 이번기회에 조금 더 알아보기로 했다.

비슷한 서비스로는 gitgithub 그리고 gitlab이 있다. 모두 저장소를 public 하게 사용한다면 무료로 사용할 수 있고, gitlab의 경우에는 저장소당 1GB의 제한이 있다.

본격적으로 시작해보자

1. 시놀로지에 git server 패키지 설치

패키지 센터를 통해서 설치하면 된다.

2. SSH 서비스 활성화

이동경로: 제어판 > 터미널 및 SNMP > SSH 서비스 활성화
SSH 서비스 활성화를 체크해 활성화한다. 아마도 기본적으로 22번 포트로 설정되어 있을텐데 취향에 따라 고르면된다.

3. 사용자 홈 서비스 활성화

이동경로: 제어판 > 사용자 > 고급 > 사용자 홈 서비스 활성화
2번과 마찬가지로 체크하여 사용자 홈 서비스 활성화 해준다.

4. git server 접근 허용

깃 서버를 설치했다면 바탕화면에 아이콘이 있을 것이다. git을 사용할 수 있는 사용자를 설정할 수 있는데 해당하는 계정을 체크해준다.

5. 시놀로지 접속

1
ssh -p PORT USERNAME@ADDRESS

로그인 할 유저네임과 나스 주소를 입력하여 접속한다.
나스에 접속하여 원하는 폴더로 이동한 후 원격저장소를 만들어주면 된다. 나의 경우 원격 저장소를 만드는 것과 테스트하기 위해 로컬에서 git remote add 하는 것에 어려움을 겪었다.

구성

시놀로지 나스에 git server를 설치하고 이용할때 다음과 같은 구성으로 사용하는 게 일반적인듯 샆다.

계정 생성

  1. git-admin
    • git user 관리
    • 저장소별 권한 관리
  2. git-repo
    • git 저장소 관리

git server에 각 각의 아이디로 로그인하려면 다음과 같이 한다.

1
ssh <USERNAME>@<IP_ADDRESS>

서버에 ssh로 로그인 후 여러 프로젝트를 관리할 디렉터리(repos)를 원하는 경로에 생성한다.

repos 디렉터리 안에 저장소를 생성한다. 일반적으로 저장소의 이름은 PROJECT_NAME.git 으로 작성한다.

1
2
# repos/
mkdir test.git

원격(remote) 저장소는 워킹 디렉터리(working directory)가 없다.
일반적인 로컬 저장소를 생성하는 명령어(git init)에 --bare 옵션을 줌으로써 워킹 디렉터리가 없는 원격 저장소를 생성한다.
이때에 --shared 옵션을 주면 자동으로 그룹 쓰기 권한을 추가해준다.

Share