아파치 설치 사용자가 사용하는 패키지에 따라서 아파치를 설치합니다. $ yum install httpd # CentOS 7 linux 환경 아파치 설정 변경 설치 후 /etc/httpd/conf에서 설정 파일을 수정해줍니다. User git Group git SetEnv GIT_PROJECT_ROOT /home/git SetEnv GITHTTP_EXPORT_ALL ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/ AuthType Basic AuthName "Git Access" AuthUserFile /home/git/httpd.git/.htpasswd Require valid-user GITHTTP_EXPORT_ALL이 없으면 git-daemon-e..
Git 데몬 실행 Git 데몬은 간단하게 설정하여 사용할 수 있습니다. 이것은 Git 프로토콜로 동작하며 인증 없이 누구나 접근할 수 있는 저장소를 제공합니다. $ git daemon --reuseaddr --base-path=/git --reuseaddr : 서버가 기존 연결이 타임아웃될 때까지 기다리지 않고 바로 재시작하도록 합니다. --base-path : 프로젝트를 Clone 할 때 전체 경로를 사용하지 않아도 되도록 지정하는 옵션입니다. Git 데몬이 사용하는 포트는 9418입니다. 방화벽이 활성화되어 있다면 해제를 해야 됩니다. Git 데몬 서비스 구성 (systemd) /etc/systemd/system/git-daemon.service 파일을 생성합니다. [Unit] Description=..
sudo chsh git -s $(which git-shell) # git-shell 경로 입력 GIT 계정 생성 git 계정을 생성하고 해당 사용자의 홈 디렉토리에 .ssh 디렉토리를 만들고 권한을 설정합니다. $ sudo adduser git $ su git $ cd ~ $ mkdir .ssh && chmod 700 .ssh $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys SSH 공개키 추가 git 계정을 이용할 사용자의 공개키를 authorized_keys 파일에 추가합니다. $ cat /tmp/idrsa.pub >> ~/.ssh/authorized_keys Bare 저장소 생성 서버에 새로운 Bare 저장소를 생성합니다. $ cd ~..
SSH 공개키 생성 SSH 공개키를 생성하기 위해서는 ssh-keygen 명령어를 사용합니다. ssh-keygen Enter file in which to save the key (/home/your_username/.ssh/id_rsa): # 이때, 그냥 엔터를 누르면 기본 경로에 `id_rsa` 파일로 키가 저장됩니다. # 암호를 설정하고 싶다면 암호를 입력하고 엔터를 누르세요. # 암호 없이 엔터를 누르면 암호 없이 키가 생성됩니다. 새로운 키가 생성되면, 공개키와 개인키가 각각 id_rsa.pub 및 id_rsa 파일로 저장됩니다. SSH 공개키 확인 생성된 공개키를 확인하려면 아래와 같이 명령어를 실행합니다. cat ~/.ssh/id_rsa.pub Git 서버에 SSH 공개키 등록 공개키를 생성..
Git 설치 서버에 Git을 설치합니다. $ sudo yum install git Git Bare 저장소 생성 Git 저장소를 만들 때, 일반적으로 서버에서는 Bare 저장소를 사용합니다. Bare 저장소는 워킹 디렉토리가 없는 저장소입니다. $ mkdir bare.git $ cd bare.git $ git init --bare $ --shared 옵션을 통한 그룹 쓰기 권한을 추가할 수 있습니다. Local 에서 Remote 추가 후 push $ mkdir localRepo $ git init $ git remote add origin user@IP:[bare repository 위치] $ git remote show origin # 위에 명령어로 remote 확인 $ vim index.html $ g..
Git 서버 프로토콜 소개 Git 서버를 운영하기 위해 다양한 프로토콜을 사용할 수 있습니다. Local 프로토콜, HTTP/HTTPS 프로토콜, SSH 프로토콜, Git 프로토콜이 있습니다. Git 호스팅 서비스 서버를 직접 설치하고 운영하기 어려운 경우 Git 호스팅 서비스를 활용할 수 있습니다. GitHub, GitLab, Bitbucket 등은 Git 호스팅 서비스의 대표적인 예시입니다. Bare 저장소 리모트 저장소는 보통 워킹 디렉토리가 없는 Bare 저장소로 설정됩니다. Bare 저장소는 단순히 Git 데이터만 가지며, 체크아웃이 필요하지 않습니다. 로컬 프로토콜 같은 시스템의 다른 디렉토리에 있는 리모트 저장소를 다룰 때 사용되는 Git의 기본 프로토콜 중 하나입니다. $ git clone..