Welcome to My World (www.dgmayor.com)

소프트웨어 (과거)/웹 서버 등 개발 환경 세팅

21. 우분투 Git 서버 만들기

dgmayor 2022. 3. 11. 16:21
728x90

Ubuntu에 Git Server 설치

local git server 만들기

1. git 설치 & 버전 확인

sudo apt install git
git --version
git 버전 확인

git 버전은 어느 것을 설치해도 상관 없습니다.

 

2. 레파지토리 디렉토리 생성 & 초기화

// `/project/git` 디렉토리 생성
sudo mkdir -p /project/git// 생성한 디렉토리에 test.git 레파지토리 생성하고 초기화
sudo git init --bare /project/git/test.git
생성된 test 레파지토리
 

3. 레파지토리에서 사용할 그룹 생성 & 그룹에 계정 추가

// `gitProjectGroup` 이라는 그룹 생성
sudo groupadd gitProjectGroup// 위에서 생성한 그룹에 treejun64 계정을 추가
sudo gpasswd -a treejun64 gitProjectGroup
teejun64 계정 gitProjectGroup 그룹에 등록
 

4. 레파지토리 permission 설정

// permission을 설정할 파일이 있는 디렉토리로 이동
cd /project/git// test.git 레파지토리에 대한 소유 그룹을 gitProjectGroup으로 변경
sudo chgrp gitProjectGroup test.git
// test.git 레파지토리에 대한 그룹 권한 rwx로 변경
sudo chmod g+rwx test.git
test 레파지토리 소유 gitProjectGroup 그룹
test 레파지토리에 대한 그룹의 권한 설정
 

5. 새로운 계정 추가 & 그룹에 추가

// test 계정 생성
sudo useradd test
sudo passwd test// 위에서 생성한 그룹에 test 계정 추가
sudo gpasswd -a test gitProjectGroup
test 계정 생성 & gitProjectGroup 그룹에 추가
 

6. 사용자 shell 변경 (서버에 접속하지 못하도록)

// git-shell 위치 확인
which git-shell// test 계정 ssh 접속하지 못하도록 git-shell로 변경
sudo chsh test -s /usr/bin/git-shell// test shell 변경 확인
cat /etc/passwd | grep test
test 계정의 shell을 git-shell로 변경
 

**** ssh 접속 허용하도록 변경 ****

// 다시 ssh 접속할 수 있도록 변경
sudo chsh test -s /bin/sh
shell 변경 Error

위에서 처럼 error 발생 시 아래와 같이 실행

// chsh 파일 읽어오기
sudo nano /etc/pam.d/chsh
chsh 파일 내용

- 빨간색으로 표시된 부분을 주석처리하고 저장
- 다시 위의 명령어를 실행하여 ssh 접속할 수 있도록 실행

test 계정으로 ssh접속

 

로컬로 git을 사용해도 되고.... 서버 하나 만들어서 써도 되고...

git, git 그래서 엄청 좋은 거라 생각했는데.... 그냥 브랜치 등 개념만 좋다.

또 막상 써보면.... 그냥 자바로 하루마다 날짜별로 폴더에 있는 거 자동 백업해주는 프로그램 만드는 게 낫겠다.

시작 프로그램에 프로그램 하나 넣어 놓고..... 특정 시간 되면.....

기존의 소스 파일을, 그대로 읽어서 특정 폴더에 날짜 별로 하나 더 만들면 되는 거 아닌가? 싶은데.....

백신 프로그램에 걸리는게 아닌지 모르겠다;;

728x90