IT관련 지식들 2021. 4. 30. 12:35

우분투에서 깃을 사용하다가 HDD가 깨지는 바람에 자료가 다 날라갔다. 이것저것 알아보다가 회사에서 가지고 있던 시놀로지 나스가 있어서 여기에 깃 서버를 설치하기로 했다.

 

1. 깃 서버 설치 및 기본 설정

1-1. 깃 서버 설치

설치된 화면이지만, '모든 패키지'에서 git으로 검색하면 'Git Server'를 쉽게 찾을 수 있다. '설치'버튼을 누르면 수동설정 없이 자동으로 설치를 완료한다.

 

1-2. ssh 서비스 활성화

ssh서비스를 활성화 하고, 보안을 위해 기본포트 22에서 숫자를 변경한다. 저기 밑줄에서 보듯 만약 ssh를 사용하려면 계정이 Administrators 그룹에 속해야 한다. 그리고 계정이 Administrators를 가진다면 ssh로 접근하여 무엇이든 변경할 수 있다. 만약 내부 보안을 지켜야 한다면 ssh를 통한 git 설정은 건너뛰고 GitLab 설치부터 보시길 권한다.

 

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

사용자 홈 서비스를 활성화 한다. 대여섯개의 사이트를 돌아다니며 필요하다고 한 설정을 다 한것이라 이걸 왜 해야하는지는 아직 정확하게 이해하지는 못했다.

 

웹으로 접속해서 하는 내용들이라 따라하기가 어렵지 않다.

 

2. 깃 레포지토리 생성

 레포지토리 초기화를 하고 클론을 해야 하는데 이걸 어떻게 시작해야하는지 몰라 구글에게 '시놀로지 나스 깃 설정'이란 검색어로 검색을 했다.

 

2-1. ssh로 접근

터미널을 통해 서버에 접속한다. 저는 putty를 사용했습니다. 생성한 ID/PW가 있으면 ID/PW를 입력하여 접속합니다. 생성한 것이 없다면 관리자 권한으로 접속합니다.

 

2-2. 폴더 생성 및 초기화

초기화 할 폴더를 생성하고 깃 초기화를 적용합니다.

 

cd /var/services/homes/gituser

==> 저장소를 생성할 위치로 이동. '/volume2/homes/gituser'로 이동해도 경로가 같다.

mkdir testGit

cd testGit

==> 폴더생성

==> 폴더로 이동

git init --bare

==> 깃 초기화

cd..

chown -R gituser:user testGit

==> 폴더 이동 후 폴더 내 파일의 권한 변경.  chown명령에 권한이 없다고 하면, sudo 를 앞에 붙인다.

 

3. 윈도우에서 tortoiseGit으로 접속.

tortoiesGit설치 (여기에서 다운로드)

설치는 원하는 폴더로 이동

우클릭하여 git->clone을 선택

경로는 ssh://gituser@192.168.1.2:22/var/services/homes/gituser/testGit

경로에 대해 간단히 설명하면 "ssh://유저ID@서버IP:서버포트 경로"

우분투에 설치했던 git에서는 ssh://를 생략했는데, 이부분을 쓰지 않아서 하루정도 고생했다.

 

다시 한 번 이야기하지만, 이 경우에는 시놀로지 나스의 보안정책에 의해 gituser란 사용자가 관리자 그룹에 속해야 한다. 이는 사용자가 ssh로 접속하거나, 웹으로 접근해서도 관리자 권한을 가지고 있기 때문에 보안에 취약해진다. 개인이나 소그룹의 경우는 괜찮지만, 기업이나 여러명이 접속해야하는 경우에는 아래의 Git Lab을 사용하길 추천한다.

 

4. Git Lab설치

4-1. 패키지 설치

시놀로지 웹으로 접속해서 패키지 센터에 접근하면, Git Lab이 있다. 설치를 누르면 도커(docker)에 설치를 하고 추가로 필요한 프로그램을 자동으로 설치한다. 설치를 하면서 필요한 설정들이 있는데 대부분 직관적으로 무슨 의미인지 알 수 있는 값이다. 혹시 이 과정에서 모르는 설정값이 많다면 구글에서 '시놀로지 나스 깃 랩 설정'으로 찾아서 화면 캡처가 많은 페이지를 참고하기 바란다.

 

4-2. 도커에서 확인

synology_gitlab을 설치했더니, postGresql과 redis란 컨테이너를 추가로 설치한다.

 

4-3. 접속 포트 확인

도커에서 컨테이너 -> synology_gitlab 우클릭 -> 세부사항을 누르면 위의 사진처럼 뜬다. 왼쪽 아래에 포트설정에 표시된 로컬포트를 기억한다.

 

5. Git Lab 접속 및 초기설정

5-1. Git Lab 웹페이지 접속

웹브라우저에서 'http://192.168.1.2(서버IP):30000(접속포트)'로 접속하면 접속화면이 나온다. 최초 접속시 비밀번호를 입력하는 화면이 나오고, 이 비밀번호와 초기 아이디(root)로 접속할 수 있다.

 

5-2. 프로젝트 생성

 

초기화면이 위와 같이 나오면 'Create a project'를 눌러 새로운 프로젝트를 만든다.

 

Project name

    -빈 프로젝트를 만들면서 프로젝트 이름을 적는다.

Project URL

    -프로젝트의 URL은 자동으로 생성된다. 

Project description

    -프로젝트의 설명을 간단히 적는다.

Visibility Level

    -직역을 해서 적어보기는 하는데, public을 하는게 제일 편하고, private를 선택해서 ssh key까지는 등록해봤다.

    -private : 접속에 권한이 필요하다. ssh key등록 등의 절차가 필요하다.

    -internal :  로그인한 사용자만 접속이 가능하다.

    -public : 권한 없이 접속이 가능한다.

Initaialize repository with a README

    -클론으로 저장소를 받은 후 push할 때, 데이터가 안 올라가는 경우가 있다. 정확한 원리는 잘 모르지만, 이 항목을 선택하면 데이터가 올라간다.

 

깃랩의 초기설정과 기능에 대해서는 조금 더 확인하고 검토 후 추가하고자 한다.

 

posted by 동글동글82
: