Linux (centos7) 安裝Git搭建服務器以及客戶端安裝

默默的幾天又過去了,只想說靜靜,出去走走…扯淡,接下來說說Linux下安裝Git服務器

這裏就不介紹Git是什麼了,直接進入安裝…

一、安裝前可能遇到的情況

wget發現報錯command not found,是因爲沒有安裝wget軟件包。
解決方案:
1. rpm 下載源地址:http://mirrors.163.com/centos/6.4/os/x86_64/Packages/
下載wget的RPM包:http://mirrors.163.com/centos/6.4/os/x86_64/Packages/wget-1.12-1.4.el6.x86_64.rpm
rpm ivh wget-1.12-1.4.el6.x86_64.rpm 安裝即可 。
2. yum安裝
yum -y install wget

ok,wget命令可以正常使用。go on

二、搭建Git服務器

準備下資源列表
[root@localhost files]# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
[root@localhost files]# rpm -ivh epel-release-5-4.noarch.rpm
Preparing… ########################################### [100%]
package epel-release-5-4.noarch is already installed
[root@localhost files]#yum list

1.首先需要安裝Git,可以使用yum源在線安裝:
    [root@localhost git]#yum install -y git 
2.創建一個git用戶,用來運行git服務
    [root@localhost git]# adduser git  
3.初始化git倉庫:這裏我們選擇/data/git/firstgit.git來作爲我們的git倉庫
    [root@localhost git]# git init --bare firstgit.git 

執行以上命令,會創建一個裸倉庫,裸倉庫沒有工作區,因爲服務器上的Git倉庫純粹是爲了共享,所以不讓用戶直接登錄到服務器上去改工作區,並且服務器上的Git倉庫通常都以.git結尾。然後,把owner改爲git:

    [root@localhost git]# chown git:git learngit.git  
4.1創建客戶端登錄證書(創建SSH Key)

注,收集所有需要登錄的用戶的公鑰,就是他們自己生成的id_rsa.pub文件,把所有公鑰複製到/home/git/.ssh/authorized_keys文件裏,一行一個。
1).客戶端生成id_rsa.pub文件的命令

    $ ssh-keygen -t rsa
    $ cat  .ssh/id_rsa.pub
    ssh-rsa 79:2f:6f:4b:69:7a:db:24:ad:4b:57:7d:2b:aa:7d:9f [email protected]

注,一路回車即可,將生成的id_rsa.pub,複製給管理員,幫你在服務器上增加一下,下次你用git時就不需要輸入用戶名和密碼了。
2).查看服務器上authorized_keys文件

[root@git ~]# cat /home/git/.ssh/authorized_keys
ssh-rsa
79:2f:6f:4b:69:7a:db:24:ad:4b:57:7d:2b:aa:7d:9f [email protected]
說明:我這裏有三個用戶登錄服務器,所以我這裏就有一個ssh-rsa,大家可以看一下。

4.2Git服務器打開RSA認證

然後就可以去Git服務器上添加你的公鑰用來驗證你的信息了。在Git服務器上首先需要將/etc/ssh/sshd_config中將RSA認證打開,即:

    1.RSAAuthentication yes     
    2.PubkeyAuthentication yes     
    3.AuthorizedKeysFile  .ssh/authorized_keys
5.禁用shell登錄

注,出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:

    [root@git ~]# cat /etc/passwd | grep git
    git:x:1001:1001:git version control:/home/git:/bin/bash

改爲:

    [root@git ~]# vim /etc/passwd
    git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell

這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因爲我們爲git用戶指定的git-shell每次一登錄就自動退出。

6.克隆遠程倉庫

注,現在可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:

    $ git clone [email protected]:/data/git/project.git,

其中git用戶名,192.168.244.128服務器,/data/git/firstgit.git是倉庫路徑。好了,到這裏服務器的搭建到這裏就完成了,下面我們來安裝一下客戶端。

window 安裝git bash操作

人數過多,百十人;以及權限控制參考一下:

    要方便管理公鑰,用Gitosis;

    要像SVN那樣變態地控制權限,用Gitolite。

《爲你而廚·NoSee》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章