搭建自己的Git服務(wù)器

前言:

GitHub是一個免費托管開源代碼的遠程倉庫,使用起來即方便又安全,但在國內(nèi)有時訪問巨慢,原因你懂得。還有一些公司和個人視源碼如生命,既不想開源代碼又不想給Github交保護費。這時搭建一個自己的Git服務(wù)器就很有必要了,下面介紹如何在CentOS上搭建自己的Git服務(wù)器。


一.搭建Git服務(wù)器及使用

1、安裝Git

執(zhí)行以下命令安裝git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

接下來我們創(chuàng)建一個git用戶組和用戶,用來運行g(shù)it服務(wù):

$ groupadd git
$ useradd git -g git
$ passwd yourpwd

最好切換到git用戶 不然后面新建的git倉庫都要改權(quán)限 煩煩煩??!

$ su - git  

2、創(chuàng)建證書登錄

收集所有需要登錄的用戶的公鑰,公鑰位于id_rsa.pub文件中,把我們的公鑰導(dǎo)入到/home/git/.ssh/authorized_keys文件里,一行一個。

如果沒有該文件則創(chuàng)建它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

3、初始化Git倉庫

首先我們選定一個目錄作為Git倉庫,假定我們放在git用戶的宿主目錄/home/git/,在/home/git/目錄下輸入命令:

$ cd /home/git
$ git init --bare test.git
Initialized empty Git repository in /home/git/test.git/

以上命令會創(chuàng)建一個空倉庫,服務(wù)器上的Git倉庫通常都以.git結(jié)尾。

4、克隆倉庫

$ git clone git@your-ip:test.git
Cloning into 'test'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

your-ip 為您 Git 所在服務(wù)器 ip 。

5.禁止Shell登錄

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

git:x:502:502::/home/git:/bin/bash

改為

git:x:502:502::/home/git:/usr/bin/git-shell

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


二.注意事項及說明

1、git倉庫可以放在任何目錄

放在/home/git目錄下(clone相對于git宿主目錄 /home/git/)
git clone git@your-ip:test.git

放在根目錄,新建git目錄作為倉庫(絕對路徑 /git/)
git clone git@your-ip:/git/test.git

如果域名綁定IP就可以直接用域名clone
git clone git@www.mayanlong.com:test.git

2、目錄權(quán)限問題

如果不是用git用戶創(chuàng)建的,注意以下目錄文件的權(quán)限問題。
.ssh
test.git...

如果有問題,可以把該目錄的所屬者改成git。
$ chown -R git:git test.git

本文首發(fā)于馬燕龍個人博客,歡迎分享,轉(zhuǎn)載請標明出處。
馬燕龍個人博客:http://www.mayanlong.com
馬燕龍個人微博:http://weibo.com/imayanlong
馬燕龍Github主頁:https://github.com/yanlongma

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容