Cafe24 가상 호스팅 사용시 Git 을 설치하고 설정하는 방법에 대해서 설명합니다.
[설치환경]
– OS : Ubuntu 16.04.2 LTS
– 호스팅 : cafe24, 가상 호스팅
[공통 사항]
– super user권한자(root등)로 접속하지 않았을 경우, 명령어앞에 sudo를 붙여 준다.
ex) sudo apt-get update
– <> 또는 {}로 표현된것은 임의 문자열 입력이다.
ex) adduser <username> => adduser test_user
ex) git-repo@{your domain or ip}:/home/git-repo => git-repo@127.0.0.1:/home/git-repo
[perl 실행 권한 변경]
* gitolite 설치 명령등 perl 실행 명령시 아래와 같은 오류 발생시 perl 실행 권한을 변경한다.
-su: ./gitolite/install: /usr/bin/perl: bad interpreter: Permission denied
– 권한 변경 : chmod 711 /usr/bin/perl
[https 방화벽 해제]
– sudo firewall-cmd –add-service=https –permanent
– sudo firewall-cmd –reload
– cafe24 관리 화면에서 방화벽 해제 추가 : https, 443 port
[Git 설치]
– 순서
1. apt-get update
2. apt-get install git
– 설치 확인 : git version
[계정 생성]
– adduser gitolite
– adduser git-repo
* 암호만 입력, 나머지 항목은 skip
* gitolite : 사용자(user) 관리,
git-repo : 저장소(repository) 관리
* 계정 생성 확인 : cat /etc/passwd
[gitolite 설치]
– 순서
1. su – git-repo
2. git clone https://github.com/sitaramc/gitolite.git
3. ./gitolite/install
* ./gitolite/install 명령 실행시, 아래와 같은 오류 메시지가 표시되면 perl 실행 권한을 확인한다.
-su: ./gitolite/install: /usr/bin/perl: bad interpreter: Permission denied
* perl 실행 권한 조정.
1. su root
2. chmod 711 /usr/bin/perl
[gitolite ssh key 등록]
– 순서
1. su – gitolite
2. ssh-keygen
> 입력항목 skip 가능.
3. scp ~/.ssh/id_rsa.pub git-repo@{your domain or ip}:/home/git-repo/gitolite.pub
> Are you sure you want to continue connecting (yes/no)? yes
> 암호 입력
4. su – git-repo
5. ./gitolite/src/gitolite setup -pk ./gitolite.pub
[gitolite-admin 설치 및 등록]
– 순서
1. su – gitolite
2. git clone git-repo@{your domain}:gitolite-admin.git
3. git config –global user.email “gitolite@{your domain}”
4. git config –global user.name “gitolite”
[사용자 등록]
– 순서
1. su root
2. adduser <username>
> 암호 입력
3. su – <username>
4. git config –global user.email “<username@myemail.com>” : 임의의 email 주소 가능.
5. git config –global user.name “<username>”
– 등록 확인 : git config –list
[사용자 ssh key 생성, public key 등록]
– 순서
1. su – <username>
> 암호 입력
2. ssh-keygen
> 입력 항목 skip 가능.
3. scp ~/.ssh/id_rsa.pub gitolite@{your domain or ip}:/home/gitolite/gitolite-admin/keydir/<username>.pub
> Are you sure you want to continue connecting (yes/no)? yes
> 암호 입력
4. su – gitolite
5. cd gitolite-admin
6. git add keydir/<username>.pub
7. git commit -a -m “add first user”
8. git push
– log 확인 : git log
[사용자 계정에 testing.git clone]
– 순서
1. su – <username>
2. git clone git-repo@{your domain or ip}:testing.git
> 경고 메시지 무시.
[Local Test]
– 사용자 계정 변경 : su – <username>
– repository로 이동 : cd testing
– git 상태 확인 : git status
– file 생성 : echo “line 1” >> testfile1.txt
> 임의 방법으로 file 생성.
– git 상태 확인 : git status
– add file : git add testfile1.txt
– commit : git commit -a -m “testfile1 file add”
– log 확인 : git log
[remote repository 적용]
– 순서
1. su – <username>
2. cd testing
3. git push origin master
[source tree 설치]
[source tree 설정]
– ssh key 생성
> 도구 > SSH key 생성 또는 불러 오기
> Generate click
> mouse move
> save private key, save public key
– ssh key 적용.
> Git Server의 gitolite 계정 접속.
> gitolite-admin/keydir/sourcetree.pub에 sshkey 저장.
>> vi 편집 또는 ftp 전송후 cat >> sourcetree.pub 등의 방법.
– git push.
> su – gitolite
> cd ~/gitolite-admin/keydir
> git add sourcetree.pub
> git commit -a -m “add user sourcetree”
> git push
– source tree
> 도구 > 옵션 >> 일반
> SSH 키 : 이전에 생성한 ppk지정.
> ssh 클라이언트 : Putty/Plink
[source tree clone]
– 파일 > 복제/생성 또는 clone
– 저장소 : git-repo@{your domain or ip}:repositories/testing.git
– 클론 클릭
[참조]
– http://psychoria.tistory.com/177
– http://kwangho9-ubuntu.blogspot.kr/2016/12/git-server_26.html