ubuntu 서버 12.10 가설gitolite 서버

3663 단어
토조: 작가는 4일의 업무 시간을 들여서야 마침내 이 서버를 구축했는데 외국의 일부 소스 개발에 대해 정말 아첨할 수 없다.왜냐하면 그가 직접 쓴 설정 문서는 모두 문제가 있기 때문이다(저자의 관찰에 따르면)
성명: 본고는gitolite 원저자 강좌(완전히 그대로 보관하면 안 됨), 한 형제의 csdnblog 강좌(그 중 해석이 명확하지 않음), 그리고 본인의 실제 조작과 이해를 결합하여 본고에 반드시 필요한 해석을 하여 나타난 것이다.본고의 작문 날짜는 2013-03-23이다.인터넷에서 대부분의 전재된 글은 구버전gitolite로 설치 방법은 현재와 큰 차이가 있다. (핵심 구조는 같지만 설치에 성공하기 어렵거나 하지는 않을 것이다.)
참조된 2개의 기사 전송문은 다음과 같습니다.
https://github.com/sitaramc/gitolite#readme
http://blog.csdn.net/fightingbull/article/details/8116971
환경:
저자 컴퓨터: msysgit(클라이언트라고도 함)(192.168.1.101, 이것은 묘사하지 않아도 된다)
PC 서버: ubuntu server 12.10(serverip=192.168.1.201);sxxx는 서버의 관리자로서 (루트가 아니지만 루트로 전환할 수 있습니다)
선행 단계:
1. 저자 컴퓨터는 msysgit를 설치합니다.클라이언트로 사용합니다.(cygwin을 위해git를 설치해야 합니다.msysgit는 원래 윈도우즈에서git셸이기 때문입니다.)
2. 서버 설치 git:
sudo apt-get install git
3. 서버 설치 openssh:
$sudo apt-get install openssh-server
4. 서버에 전용 계정gitadmin을 만들고 이 사용자를 그룹 gitolite에 가입하여git 인증을 제공합니다.
$sudo addgroup gitolite
$sudo adduser --ingroup gitolite gitadmin
주요 단계:
1.ssh의 공개 키 인증 (클라이언트 작업, 즉 msysgit 셸에서)
이 동작은 클라이언트에서 SSH의 공개 키 인증에 대해 Google을 사용하십시오.셸 접근과gitolite 접근을 위해 같은 키를 사용할 수 없기 때문에, 우리는 두 개의 개인 키를 만들어야 합니다. 하나는 셸에게, 하나는gitolite에게 사용해야 합니다.you cannot use the same key for both shell access and for gitoliteaccess(××주의하다×× 여기서 중점 사항입니다. 작성자가 3일 동안 카드를 받았습니다) 1.1 키 쌍 2개 생성
//이 명령은 사용자 홈 디렉토리에 생성됩니다.ssh 디렉터리, 그리고 두 개의 파일을 만듭니다. id_rsa (개인 키);id_rsa.pub(공용 키)
$ssh-keygen -t rsa
//이 명령은gitadmin이라는 이름의 공개 키 파일 쌍을 만듭니다.
$ssh-keygen –f ~/.ssh/gitadmin
1.2 서버에 키 페어 2개 업로드
//서버에 업로드하여 gitolite 접근으로 사용합니다. gitolite 설치 (gitolite 셸 접근으로 이해)
$scp ~/.ssh/gitadmin.pub sxxx@serverip:/tmp/
//셸 액세스로 사용(ssh 셸 액세스로 이해)
$ scp ~/.ssh/id_rsa.pub sxxx@serverip:/tmp/   
1.3 암호 없는 로그인 서버 설정
//msysgit 셸에서 sxxx 계정으로 서버에 로그인 (이 로그인으로 비밀번호를 입력)
$ssh sxxx@serverip   
//공개 키로 id_rsa.pub, 암호 없음 - SSH에 가입하여gitamdin 신분에 로그인하여 셸 접근으로 사용합니다. (이 전에 당신의.ssh/authorized_keys가 존재하지 않거나 비어 있는지 확인하십시오. 또는 스스로 관리하십시오. 어쨌든 저는 먼저 삭제합니다.)
sxxx@serverip  :~$sudo ssh-copy-id –i/tmp/id_rsa.pub [email protected] 서버에 로그인하여 gitolite에 쉽게 액세스할 수 있도록 SSH 호스트 별칭 만들기
클라이언트로 돌아가면 sxx라는 셸을 종료하고 로컬 msysgit 셸로 돌아갑니다.
$vi ~/.ssh/config
그 내용은 다음과 같습니다.
host gitadmin
 user gitadmin
 hostname serverip
 port 22
 identityfile ~/.ssh/gitadmin
설정이 끝난 후,
//기본 id_를 사용합니다.rsa가 인증합니다. ssh 셸에 로그인할 수 있지만 gitolite 셸이 아닙니다.
$ssh gitadmin@serverip
//서버 계정gitadmin으로 서버에 로그인합니다. 셸에 로그인할 수 없지만 gitolite에 접근할 수 있습니다.(이 단계는 당분간 사용할 수 없습니다. 마지막에gitolite의 키를 설정해야 합니다. 미리 소개해 주십시오)
$ssh gitadmin  2.서버에gitolite를 설치합니다. (여기서는gitolite 원작자의 공식 강좌를 참조합니다.)
2.1 msysgit에서 서버에 로그인한 gitadmin ID:
ssh gitadmin@serverip(이전에 ssh 무암호 로그인을 설정하고 config 파일을 설정했기 때문에 비밀번호를 사용하지 않고 셸에 로그인합니다.)
//gitadmin의 홈 디렉터리에 들어가기 (본인은 이 디렉터리에gitolite를 설치하는 습관이 있습니다)
cd ~
//git로 최신 원본 다운로드
git clone git://github.com/sitaramc/gitolite

//설치 디렉토리로 사용
mkdir -p $HOME/bin
//다운로드한 원본 코드를 방금 만든 bin 디렉터리에 설치
gitolite/install -to $HOME/bin
//××주의하다×× 여기가 바로 당신의gitolite를 설정하여 이 신분의 키를 관리하는 절차입니다.
$HOME/bin/gitolite setup -pk /tmp/gitadmin.pub
2.2 gitolite-admin을 다운로드하여 서버 관리를 시작하겠습니다.
클라이언트의 mysygit 셸로 돌아가기 (서버에 로그인하지 마세요)
//gitadmin의 전용 키를 사용하여gitolite-admin 라이브러리 복제 (gitolite의 원작자 튜토리얼은gitclone입니다gitadmin@serverip:gitolite-admin, 작가는 무수한 방법을 시도했지만 실패했다)
$git clone gitadmin:gitolite-admin 
성공하면 로컬에서 (저자 디렉터리는 c:/users/administrator/.ssh/) 다운로드한gitolite-admin 라이브러리 디렉터리를 볼 수 있습니다

좋은 웹페이지 즐겨찾기