1、如何在centos上搭建git伺服器
Git沒有客戶端伺服器端的概念,但是要共享Git倉庫,就需要用到SSH協議(FTP , HTTPS , SFTP等協議也能實現Git共享,此文檔不討論),但是SSH有客戶端伺服器端,所以在windows下的開發要把自己的Git倉庫共享出去的話,就必 須做SSH伺服器。
一、安裝GIT
Windows下使用msysgit,
本文使用Git-1.7.8-preview20111206.exe 安裝要點步驟
安裝完成後,可以使用Git bash在命令行模式下操作git
二、安裝CopSSH
安裝CopSSH之前先確保防火牆開啟了SSH埠,這個雖然不影響CopSSH的安裝,但是影響SSH訪問,所以寫在前面。
CopSSH是windows下的SSH伺服器軟體,下載地址baidu之,本文使用的是Copssh_4.1.0_Installer.exe,
安裝完成後,到控制面板中新建一個管理員賬戶root,用這個賬戶來共享SSH。然後你在賬戶管理中會看到之前的SvcCOPSSH賬戶。
將root用戶添加到CopSSH用戶中,為簡單操作,允許使用密碼認證方式
若是不允許密碼認證,則需要使用公鑰密鑰方式認證,
三、CopSSH中使用GIT
現在已經安裝GIT和CopSSH,接下來需要做的就是讓CopSSH可以使用GIT的命令,這樣不僅能夠遠程SSH管理GIT伺服器,而且可以將GIT倉庫通過SSH共享。具體的操作方法是將GIT的某些命令程序和動態鏈接庫復制到CopSSH安裝目錄下即可。
l 將$ Git\libexec\git-core目錄下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe復制到$ICW\bin目錄下
l 將$Git\bin目錄下的libiconv-2.dll復制到$ICW\bin目錄下
重啟CopSSH即可
2、如何在centos上 安裝git伺服器
1.首先下載git源碼
2.xz文件解壓
xz -d git-2014-08-20.tar.xz
tar -xvf git-2014-08-20.tar
3.安裝git
cd git-2014-08-20/
autoconf
./configure --prefix=/usr/local/git/
make
make install
如果make的時候報錯:/bin/sh: msgfmt: command not found
則需要:
yum install gettext-devel
4.將git加到環境變數中
vim /etc/profile
export GIT_HOME=/usr/local/git/
export PATH=$PATH:$GIT_HOME/bin
這樣就可以直接運行git命令了。
3、如何在linux centos下安裝git
如果是centos7及以上版本可以使用:
yum install git
如果不能安裝,則使用源碼安裝,
1、在官網下載源碼:
http://git-scm.com/download,git-1.7.3.tar.gz
2、解壓:
tar -zxvf git-1.7.3.tar.gz
3、安裝gcc , zlib
4、安裝git
cd git-1.73
./configure
make
make install
參考 http://www.cnblogs.com/shenliang123/p/3824383.html
4、centos安裝的git服務端可以後台運行嗎
可以後台運行的,以gogs 為例
5、centos git伺服器 怎麼啟動
1.首先下載git源碼2.xz文件解壓xz-dgit-2014-08-20.tar.xztar-xvfgit-2014-08-20.tar3.安裝gitcdgit-2014-08-20/autoconf./configure--prefix=/usr/local/git/makemakeinstall如果make的時候報錯:/bin/sh:msgfmt:commandno
6、centos中git伺服器可以遷移svn嗎
經常在寬頻網路狀況不佳的時候,訪問互聯網上的SVN庫是一件極其痛苦的事情,更別說要查看版本庫的日誌信息了。此時如果可以將遠程版本庫整個同步到本地,然後所有操作都在本地的版本庫上進行,好處就不用多說了。幸運的是SVN已經提供了相應的功能,具體操作步驟如下
7、CentOS系統怎樣搭建Git版本控制伺服器
yum安裝Git伺服器
代碼如下:
[root@git ~]# cd src/
[root@git src]# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
[root@git src]# rpm -ivh epel-release-5-4.noarch.rpm
Preparing... ########################################### [100%]
package epel-release-5-4.noarch is already installed
[root@git ~]# yum list
[root@git ~]# yum install -y git
創建一個git用戶,用來運行git服務
代碼如下:
[root@git ~]# adser git
創建客戶端登錄證書,注,收集所有需要登錄的用戶的公鑰,就是他們自己生成的id_rsa.pub文件,把所有公鑰復制到/home/git/.ssh/authorized_keys文件里,一行一個。嘿嘿!
1).客戶端生成id_rsa.pub文件的命令
代碼如下:
$ ssh-keygen -t rsa
$ cat .ssh/id_rsa.pub
ssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== leo@LEO-PC
注,一路回車即可,將生成的id_rsa.pub,復制給管理員,幫你在伺服器上增加一下,下次你用git時就不需要輸入用戶名和密碼了。
2).查看伺服器上authorized_keys文件
代碼如下:
[root@git ~]# cat /home/git/.ssh/authorized_keys
ssh-rsa wBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs++/+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN
ssh-rsa +PSK9PSg+bwiJ2iQRa39rXck35r+//RiCiYzd3RT/+S/LD3vx2MN+FNOHwvqcE+/5yEqSgAkioa8SVMOsikYJG//RZ54Q== Administrator@WIN2003X323
ssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== leo@LEO-PC
說明:我這里有三個用戶登錄伺服器,所以我這里就有三個ssh-rsa,大家可以看一下。
初始化Git倉庫
注,先選定一個目錄作為Git倉庫,這里是/data/git/project.git。
代碼如下:
[root@git ~]# cd /data/git/
[root@git git]# git init --bare project.git
[root@git project.git]# ls
branches config description HEAD hooks index info objects refs
執行以上命令 Git命令,會創建一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
代碼如下:
[root@git git]# chown -R git.git project.git
[root@git git]# ls -l
總計 4
代碼如下:
drwxr-xr-x 7 git git 4096 05-09 13:50 project.git
禁用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每次一登錄就自動退出。
克隆遠程倉庫
注,現在可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:
注,$ git clone [email protected]:/data/git/project.git,其中git用戶名,git.jjhh.com伺服器,/data/git/prgject.git是倉庫路徑。好了,到這里伺服器的搭建到這里就完成了,下面我們來安裝一下客戶端。
創建SSH Key
首先在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:
代碼如下:
$ ssh-keygen -t rsa -C "[email protected]"
你需要把郵件地址換成你自己的郵件地址,然後一路回車,使用默認值即可,由於這個Key也不是用於軍事目的,所以也無需設置密碼。
如果一切順利的話,可以在用戶主目錄里找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。
Git伺服器打開RSA認證
然後就可以去Git伺服器上添加你的公鑰用來驗證你的信息了。在Git伺服器上首先需要將/etc/ssh/sshd_config中將RSA認證打開,即:
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile.ssh/authorized_keys
這里我們可以看到公鑰存放在.ssh/authorized_keys文件中。所以我們在/home/git下創建.ssh目錄,然後創建authorized_keys文件,並將剛生成的公鑰導入進去。
然後再次clone的時候,或者是之後push的時候,就不需要再輸入密碼了:
代碼如下:
Zhu@XXX/E/testgit/8.34
$ git clone [email protected]:/data/git/learngit.git
Cloning into 'learngit'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
8、git 伺服器的使用? 我自己在centos 伺服器上搭了倉庫
1. lvm 2. raid 3. distribute filesystem(glusterfs\sector\......) 4 (我不知道了) 前面的三選一,做完之後,兩塊盤當一塊用,之後就是建個基本的伺服器的事了。
9、centos7安裝docker 會自帶git嗎
在centos7上我們可以通過yum來安裝docker 1.確保你擁有管理員許可權,需要可以使用sudo或者root的命令的權版限。 2.需要將你的yum的包升級權到最新的狀態。 sudo yum update 3.為你的yum添加一個repo文件。在centos7下面您可以直接運行下面的代碼。