在CentOS6.5搭建git服務器

環境:git

服務器 CentOS6.5 + git(version 2.8.0)github

1.         安裝gitwindows

   1)安裝依賴包bash

    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker服務器

   2)下裝git源碼ssh

wget https://github.com/git/git/archive/v2.8.0.zipcurl

   3)編譯安裝ide

       解壓git源碼到當前目錄測試

      Unzip v2.8.0.zip        url

      把git安裝到/usr/local/git目錄下

     make prefix=/usr/local/git all                 

     make prefix=/usr/local/git install

   4)修改環境變量

     vi /etc/profile

     export PATH=/usr/local/git/bin:$PATH

     source命令可使配置馬上生效

     source /etc/profile

   5)查看git版本

     git --version 查看git版本,輸出如下信息表示安裝成功

    git version 2.8.0

   6)建立git用戶(主要用來管理項目)

    查看git用戶是否已存在,存在則換個賬號不存在則建立

    id git

    輸出如下信息表示git用戶不存在

    id: git:無此用戶

    添加git用戶

    useradd git

    設置git賬號對應的密碼

    pwd 123

  7)服務器端建立 Git 測試倉庫(設置~/data/git/gittest.git 爲 Git 倉庫)

   切換到git賬號

   su git

  cd ~

  mkdir -p data/git/gittest.git

  git init --bare data/git/gittest.git

  Initialized empty Git repository in /home/data/git/gittest.git/

  cd data/git/

 8)使用wind客戶端連接git服務器

進入 Git Bash 命令行客戶端,建立項目地址(設置在 d:/wamp64/www/gittest_gitbash)並進入:

dee@Lenovo-PC MINGW64 /d
$ cd wamp64/www

dee@Lenovo-PC MINGW64 /d/wamp64/www
$ mkdir gittest_gitbash

dee@Lenovo-PC MINGW64 /d/wamp64/www
$ cd gittest_gitbash

dee@Lenovo-PC MINGW64 /d/wamp64/www/gittest_gitbash
$

而後從 Linux Git 服務器上 clone 項目

$ git clone git@192.168.56.101:/home/data/gittest.git

當第一次鏈接到目標 Git 服務器時會獲得一個提示:

The authenticity of host '192.168.56.101 (192.168.56.101)' can't be established.
RSA key fingerprint is SHA256:Ve6WV/SCA059EqoUOzbFoZdfmMh3B259nigfmvdadqQ.
Are you sure you want to continue connecting (yes/no)? 

選擇 yes:

Warning: Permanently added '192.168.56.101' (RSA) to the list of known hosts.

此時 C:\Users\用戶名\.ssh 下會多出一個文件 known_hosts,之後在這臺電腦上再次鏈接目標 Git 服務器時不會再提示上面的語句。

後面提示要輸入密碼。

以上完成後表示git已經正式安裝成功,可是這裏有2個問題

一、客戶端每次git連接都要輸入密碼操做起來很是麻煩

二、這裏git連接輸入的賬號是服務器上git用戶的密碼,若是一不當心暴露了服務器很容易被攻擊。

居於以上2點考慮,這種方式連接不靠譜。所以咱們須要安裝gitolite來對git賬號進行管理

 

2.gitolite安裝

1)使用git賬號登錄服務器

cd ~

2)下載gitolite

git clone https://github.com/sitaramc/gitolite

3)gitolite安裝

建立bin目錄並安裝gitolite到bin目錄($表示當前用戶)

mkdir $HOME/bin

gitolite/install -to $HOME/bin

4)配置gitolite管理員

 cd ~

 用git用戶生成公鑰(注:若是你是接着上面一直作下來的,那麼只須要輸入cd ,而後回車,則就進入了該用戶的目錄,若是不是git用戶,則須要輸入su – git,來切換到git用戶)

 ssh-keygen -t rsa

 修改.ssh/id_rsa.pub 爲admin.pub(爲何要改爲admin.pub 由於gitolite根據這個文件名來設立賬號.我這裏用admin

 mv .ssh/id_rsa.pub admin.pub

5)使用管理員公鑰安裝gitolite(而後去/home/git/repositories 裏面,能夠看見倉庫文件.gitolite-admin.git 和test.git 一個是管理倉庫的,一個是測試用)

        $HOME/bin/gitolite setup -pk admin.pub

6)生成管理員管理倉庫(不須要輸密碼)

      git clone git@127.0.0.1:gitolite-admin

進入倉庫後能夠看到conf 和keydir ,conf/gitolite.conf 是添加用戶/倉庫的配置, keydir 是放對應用戶的公想·x鑰.而且此時,admin.pub這個公鑰能夠刪除了

7)添加新用戶和新項目

先生成密鑰(hurrican01爲私鑰,hurrican01.pub爲公鑰。私鑰是windows客戶服務用來免登陸用的)

ssh-keygen -t rsa(命名爲hurrican01和hurrican01.pub)

    修改 gitolite.conf

vi gitolite-admin/conf/gitolite.conf

這裏是新增了一個hurrican01用戶和一個user組

 

上面的配置含義是:

                      定義兩個用戶組: admin 和 user

                      定義兩個版本庫: gitolite-admin 和 project

                      用戶admin 對 這兩個版本庫有(讀 寫 刪除)RW+ 權限

                      user組對project 有 (讀 寫)RW 權限

也可按照格式,添加多個組,多個版本庫

若有一個組中有多個用戶,則以空格爲分割。

把hurrican01.pub放在/home/git/gitolite-admin/keydir

*網上都說這時直接cmmit就能夠,實際是不行的這時還須要設置authorized_keys

vi ~/.ssh/authorized_keys

而後再走提交流程這樣才能夠建立用戶和項目

git add keydir/hurrican01.pub conf/gitolite.conf

 git commit -am "new project"

git push origin master

提交完後,查看管理倉庫中多了一個haodi.git

這個時候,服務器已經搭建完畢了

3.window Git環境配置

複製hurrican01(私鑰)文件到 C:\Users\Administrator\.ssh目錄,新建config文件並填寫對應的內容:

如下內容表示git服務器ip地址對應的賬號是hurrican01使用的私鑰路徑是 C:/Users/Administrator/.ssh/hurrican01(此路徑用戶可自行設置)

host  git服務器IP地址

user hurrican01

hostname  git服務器IP地址

port 22

identityfile  C:/Users/Administrator/.ssh/hurrican01

這時打開git Bash 輸入git clone git@git服務器ip地址:/項目路徑若是能夠下載則代表設置成功

 

若是有什麼安裝疑問歡迎發消息到個人我的郵箱質詢,只要有時間必定回覆。我的的郵箱地址是:hurrican_ok@126.com

相關文章
相關標籤/搜索