當前位置:首頁 » 雲伺服器 » git伺服器搭建centos7

git伺服器搭建centos7

發布時間: 2022-11-28 09:39:51

㈠ 搭建Git伺服器及備份伺服器

OS:CentOS 7.2
Git:1.8.3.1

備份模式:

以下步驟以雙機備份為例,單機備份同理,只是在鏡像git項目的時候把git url換成單機中的git項目目錄即可。

首先,查看系統軟體庫中是否有git和git的版本:

CentOS 7.2環境下的輸出如下:

CentOS 7.x版本的倉庫中已經附帶了1.8.3.1版本的git,可以直接安裝。
CentOS 6.x中的git是1.7.x版本,自帶庫中git版本低的linux發行版可以添加git1.8.3.1的源來安裝git,但這個操作要求本機能訪問互聯網
其他版本的git理論上也可以,請自行測試

結果最後顯示「安裝完成」或「Complete」表示安裝成功。可以直接使用git命令測試一下:

輸出如下表示git安裝成功並可用。

創建一個git用戶,用來提供給外部用戶以git url的方式訪問git庫。

在用戶目錄或其他對外目錄中創建 /git/repos 目錄,用來存放git庫。

注意: 盡量使用git用戶來創建該目錄,方便以後git操作該目錄,如果是使用其他用戶創建的,記得使用以下命令將該目錄的owner改為git:

為了方便訪問,可以在根目錄下創建一個軟鏈連接到該目錄:

這樣設置後,假如以後有一個庫叫 test.git ,那麼就可以通過以下url來訪問git庫了:

創建一個測試庫用來測試備份及連通性。

同主GIT伺服器的《安裝git》章節。

同主GIT伺服器的《創建git庫目錄》章節。
目錄結構盡量與主git伺服器上的結構一致,如果不一致,使用軟鏈的形式將git url配置為與主git伺服器一致,這樣保證在切換伺服器時,客戶端不用做修改操作。

以上個步驟中創建的 test.git 為例:

這樣,主git伺服器中的 test.git 就鏡像到備份機中了。

如果主伺服器的git項目發生了變更,可以將變更同步到備份機。

將以上同步命令寫成腳本,添加一個定時任務來定時同步即可。
(待補充)

備份同步時每次都需要輸入主git伺服器的密碼,比較麻煩,也不利於定時同步的腳本操作,可以使用ssh免密登錄的方式,在主伺服器上配置備份伺服器的公鑰。

一路Enter(回車鍵),完成後會列印出密鑰的生成位置,通常在用戶主目錄的 .ssh 目錄中。默認情況下會生成以下兩個文件:

一定要注意上述命令中的第三步,許可權要設置對,否則認證不過去不能免密登錄。

如果在實際運行中,主git伺服器掛了一段時間,在這段時間里一直是備份git伺服器在工作,那麼在修復好主伺服器後需要將這一段時間的變更同步回主伺服器。

操作完成後備份庫自上一次同步後的更改都推送到了主庫。

㈡ 如何在CentOS 7中安裝Git

一、git安裝

1.查看系統是否已經安裝git

git --version

2.CentOS7 yum 安裝git

yum install git

3.安裝成功

yum --version

4.卸載git

yum remove git

一(1)git安裝(第二種方法)

安裝
Step 1 安裝git
yum install perl openssh git

Step 2建立一個git用戶,並做初步配置

adser --system --shell /bin/sh --create-home --home-dir /home/git git
# 進入git用戶的home目錄
cd /home/git
# 新建一個目錄,用於存放git的全部倉庫
mkdir repositories
# 設置該目錄的所有權
chown git:git -R ./repositories
# 修改該目錄的操作許可權
chmod 700 ./repositories

Step 3生成一對公鑰證書(空密碼則直接回車)

# 可直接在伺服器上生成,也可以在本地生成,在這里我直接在伺服器上生成了。
ssh-keygen -t rsa
# 最後生成兩個文件,分別為id_ras.pub(公鑰) 和id_rsa(私鑰)
# 將公鑰移到/home/git/.ssh/目錄下,注意,公鑰文件名改了,公鑰名對應gitolite里配置的用戶名,admin我用於做系統管理員的賬號名。
mv id_rsa.pub /home/git/.ssh/admin.pub
# 將私鑰id_rsa用SFTP下載回到本地Windows的C:\Users\Administrator\.ssh\目錄下,Administrator是我登錄Windows的賬號,你要改成自己電腦對應的目錄下,用於本地git登錄遠程伺服器。

Step 4切換至剛建的git用戶,安裝gitolite

su git
git clone git://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
# 安裝gitolite
gitolite/install -to $HOME/bin
# 安裝時報錯,根據錯誤提示,網路了幾下,安裝相關的依賴
yum install wget perl-ExtUtils-MakeMaker gcc

wget http://www.cpan.org/moles/by-mole/Data/Data-Dumper-2.154.tar.gz
tar xvzf Data-Dumper-2.154.tar.gz
cd Data-Dumper-2.154
perl Makefile.PL
make
make install

Step 5配置gitolite
$HOME/bin/gitolite setup -pk admin.pub
# 完成後,在/home/git/repositories裡面,生成兩個倉庫gitolite-admin.git和test.git,一個是管理倉庫用的,另一個是測試用的;下面我們主要對gitolite-admin.git倉庫進行操作,就可以管理伺服器上的全部倉庫了。

Step 6管理gitolite
git clone [email protected]:gitolite-admin
#完成後有兩個目錄,分別是conf和keydir,conf/gitolite.conf是用戶、倉庫的許可權配置,keydir是放對應用戶的公鑰,修改好後push回伺服器,就完成了管理操作。

下面,我們用個例子說明如何管理git倉庫。
1、 最初的conf/gitolite.conf內容如下:
repo gitolite-admin
RW+ = admin

repo testing
RW+ = @all

2、 然後我們在gitolite.conf內容下面添加如下內容
@ android_group = zhangsan lisi

repo androidapp
RW+ = @android_group

3、 @ android_group = zhangsan lisi,定義了@android_group組,組員是zhangsan和lisi兩個人,當然,組里也可以包含另一組,人員或組之間用空格分開,我們修改後如下:

@ android_group = zhangsan lisi
@ ios_group = zhangsan wanwu
@ app_group = @android_group @ios_group

repo androidapp
RW+ = @android_group

repo appdoc
RW+ = @ app_group

4、 repo androidapp,定義了一個androidapp倉庫,該倉庫讀寫許可權為@android_group,最後push回伺服器後,我們就可以在本地執行
git remote add origin [email protected]: androidapp.git
git push origin master

兩次命令來首次推送本地倉庫到遠程伺服器倉庫,下次有修改再推送時直接git push即可。

Step 7給公司里每位童鞋分配私鑰證書
1、 生成證書
ssh-keygen -t rsa –C 「[email protected]

2、 將公鑰id_ras.pub改名為童鞋名字全拼,比如zhangsan.pub,並拷到gitolite-admin倉庫的keydir目錄下;
3、 將私鑰id_rsa飛Q發給相應的童鞋;
4、 重復1到3,直到全部發給每位童鞋;
5、 修改gitolite.conf,配置各個項目的訪問許可權;
6、 推送gitolite-admin修改後的內容到伺服器;
7、 完成分配工作。
註:人員名字全拼為公鑰文件名,同時也是gitolite.conf里的用戶名;私鑰id_rsa讓童鞋們放在C:\Users\Administrator\.ssh\目錄下。
Administrator是系統登錄名,如果你的不是這個名,那就改改。
當然了,也可以讓童鞋們自己生成公鑰對,然後把公鑰統一發給我。
在Windows下使用git圖形客戶端
1、 安裝Windows git,下載地址https://git-for-windows.github.io/,下載後一路next安裝即可。
2、 安裝TortoiseGit,TortoiseSVN的兄弟,下載地址https://tortoisegit.org/download/,也是一路next安裝。
3、 配置TortoiseGit,參考其他文章即可,網上文章還是比較多的,比如下面這篇寫得就很好http://blog.csdn.net/renfufei/article/details/41647937。

git 使用

㈢ 如何在CentOS 7中安裝Git

CentOS下Git伺服器搭建與客戶端安裝
時間:2014-05-14 來源:blog.51cto.com
大綱:
一、前言
二、搭建Git伺服器
yum安裝Git伺服器
創建一個git用戶,用來運行git服務
創建客戶端登錄證書
初始化Git倉庫
禁用shell登錄
克隆遠程倉庫
三、安裝客戶端
Windows 客戶端
Linux 客戶端
四、總結
注,測試機 CentOS 5.5 x86_64,Git 伺服器版本:git version 1.8.2.1,客戶端版本:git version 1.9.2.msysgit.0。所有軟體請到這里下載:http://msysgit.github.io/。

一、前言
在上一篇博客中我們主要講解Git是什麼,Git的基本原理,講解一些有關Git的基礎知識,讓我們簡單的了解一下Git,當然我們還有很多問題沒有搞清楚,嘿嘿!不管理怎麼樣,在我們弄清楚這些問題之前,我們得有台Git伺服器是吧,嘿嘿!好了,下面我們就來一起搭建一台Git伺服器。

二、搭建Git伺服器
1.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

2.創建一個git用戶,用來運行git服務

[root@git ~]# adser git

3.創建客戶端登錄證書
注,收集所有需要登錄的用戶的公鑰,就是他們自己生成的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,大家可以看一下。
4.初始化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

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用戶名,git.jjhh.com伺服器,/data/git/prgject.git是倉庫路徑。好了,到這里伺服器的搭建到這里就完成了,下面我們來安裝一下客戶端。

三、安裝客戶端
1.Windows 客戶端
1).下載客戶端
注,大家到這里下載http://msysgit.github.io/。下面簡單演示一下安裝過程,比較簡單:

好了,到這里就安裝完成了,安裝好以後會在桌面上有個圖標,你雙擊打開即可。如下圖:

2.Linux 客戶端
注,Linux客戶端安裝就比較簡單了,直接用yum安裝一下就好!

1

[root@test ~]# yum install -y git

到這里git就安裝完成了,下面我們查看一下版本:

1
2

[root@test ~]# git --version
git version 1.8.2.

下面我們生成公鑰並復制到伺服器上:

[root@test ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
48:3c:22:76:02:f1:a2:e5:27:22:cb:4f:a7:a0:98:9d [email protected]
[root@test ~]# cat .ssh/id_rsa.pub
ssh-rsa ++U7zP/hr6HzfqeZU09Ccis4yK3RMwip2f+/ug2M68Z0jQk5DVG8w5+/V7eOkrvBMDh9nDdwvDhPhuhBDSfE++B18MQ== [email protected]

下面我們復制id_rsa.pub里的公鑰到伺服器的authorized_keys文件中。

[root@git ~]# su git
bash-3.2$ cd
bash-3.2$ vim .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 ++U7zP/hr6HzfqeZU09Ccis4yK3RMwip2f+/ug2M68Z0jQk5DVG8w5+/V7eOkrvBMDh9nDdwvDhPhuhBDSfE++B18MQ== [email protected]

下面我們clone一個倉庫到本地的目錄中。

[root@test ~]# cd /data/dev
[root@test dev]# git clone [email protected]:/data/git/project.git
Cloning into 'project'...
The authenticity of host 'git.jjhh.com (114.112.173.150)' can't be established.
RSA key fingerprint is ca:ec:a2:7e:e6:89:ca:19:d3:93:7f:4b:c3:c0:c7:fd.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'git.jjhh.com,114.112.173.150' (RSA) to the list of known hosts.
remote: Counting objects: 50, done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 50 (delta 21), reused 0 (delta 0)
Receiving objects: 100% (50/50), 4.02 KiB, done.
Resolving deltas: 100% (21/21), done.
[root@test dev]# ls
project
[root@test dev]# cd project/
[root@test project]# ls
index.html

好了,到這里我們的git客戶端到這里就全部安裝完成了。

㈣ 如何在CentOS 7中安裝Git

centos7的安裝光碟或者網路源中包含git安裝包。

可直接cp光碟中的rpm文件
也可配置好yum之後
執行
yum install git

㈤ 在Linux下搭建Git伺服器

眾所周知,版本系統在開發環境中是必不可少的,但是我們可以把代碼免費的託管到GitHub上,如果我們不原意公開項目的源代碼,公司又不想付費使用,那麼我們可以自己搭建一台Git伺服器,可以用Gitosis來管理公鑰,還是比較方便的。

搭建環境:

伺服器 CentOS6.6 + git(version 1.8.3.1)

客戶端 Windows10 + git(version 2.11.1.windows.1)

1. 安裝Git相關軟體

Linux是伺服器端系統,Windows作為客戶端系統,分別安裝Git

安裝客戶端:

下載 Git for Windows,地址:https://git-for-windows.github.io/

安裝完之後,可以使用Git Bash作為命令行客戶端。

安裝Gitosis

出現下面的信息表示安裝成功了

2. 伺服器端創建git用戶來管理Git服務

3. 配置公鑰

在Windows上配置管理者,git伺服器需要一些管理者,通過上傳開發者機器的公鑰到伺服器,添加成為git伺服器的管理者,打開git命令行

4. 配置gitosis

使用git用戶並初始化gitosis

在Windows上機器上clone gitosis-admin到管理者主機

gitosis.conf: git伺服器配置文件

keydir: 存放客戶端公鑰

配置 gitosis.conf 文件

在Windows管理者機器上創建本地test倉庫,並上傳到git服務端

提交到遠程伺服器

服務端會自動創建test倉庫

5.添加其他git用戶開發者

由於公司開發團隊人數不斷增多,手動添加開發者私鑰到/home/git/.ssh/authorized_keys比較麻煩,通過上面的Windows機器的管理者統一收集其他開發者的私鑰id_rsa.pub文件,然後傳到伺服器上,配置好後,用戶即獲得項目許可權,可以從遠程倉庫拉取和推送項目,達到共同開發項目。

推送完成後,新加進來的開發者就可以進行項目的開發了,後續增加人員可以這樣添加進來,開發者直接把倉庫clone下來就可以了。

㈥ 如何在CentOS 7中安裝Git

通過yum命令進行安裝,
# yum install git -y

㈦ 如何使用centos 搭建git

在很多Linux系統庫中都有Git,可以直接用命令行安裝。
例如Fedora中可以直接用yum install git等,參考如下:
Debian/Ubuntu
$ apt-get install git
Fedora
$ yum install git
Gentoo
$ emerge --ask --verbose dev-vcs/git
Arch Linux
$ pacman -S git
openSUSE
$ zypper install git
FreeBSD
$ cd /usr/ports/devel/git$ make install
Solaris 11 Express
$ pkg install developer/versioning/git
OpenBSD
$ pkg_add git
新版的CentOS後續好像也支持了這個功能,但是這種方法雖然簡單,但是一般倉庫里的版本更新不及時,比如 CentOS 倉庫中的 git 最新版是1.7.1,但是 git 官方已經到2.x 的版本了。對於想要獲取最新git的系統,只能下rpm包或者用源碼
步驟如下:
1、下載編譯工具
yum groupinstall 「Development Tools」
2、下載依賴包
yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
3、下載 git 最新版本的源代碼
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
或者
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.xz
4、解壓源文件
tar -zxvf git-latest.tar.gz
或者
xz -d git-latest.tar.xz
tar -xvf git-latest.tar
5、編譯安裝
autoconf
./configure
make -jn && make -jn install
其中make -j n中的n為指定線程數,對於多核處理器這樣可以加快編譯安裝的速度
6、添加link
ln -s /usr/local/bin/git /usr/bin/
這一步對於原本系統中有舊版git的系統很重要,會報告Link已存在,此時要刪除原來的Link即/usr/bin/git,再執行第六步。
7、檢查版本號
git --version
對於系統中存在老版的git的系統,安裝了新git後用git --version查看仍然顯示為老版就是因為i忽略了第六步,這是很重要的!

㈧ 如何在CentOS 7中安裝Git

很高興為您解答;
1、開始在CentOS
7中安裝Subversion
2、加配置文件到Apache
3、創建SVN用戶
[root@linuxidc-centos7
~]#
htpasswd
-cm
/etc/svn-auth-users
testuser1
New
password:
Re-type
new
password:
Adding
password
for
user
testuser1
[root@linuxidc-centos7
~]#
4、創建和配置SVN倉庫
5、你可以用這種方式–HTTP和HTTPS
firewall-cmd
--permanent
--zone=public
--add-service=http
firewall-cmd
--permanent
--zone=public
--add-service=https
firewall-cmd
--reload
6、啟用並啟動HTTP服務
systemctl
enable
httpd.service
systemctl
restart
httpd.service
7、加入下面這個到conf/svnserve.conf
anon-access
=
none
auth-access
=
authz
8、branches&tags&trunk模式下建svn庫
望採納
謝謝

熱點內容
bitlocker暫停加密 發布:2024-04-17 05:25:21 瀏覽:541
腳本怎麼刷 發布:2024-04-17 05:09:50 瀏覽:133
如何調取手機存儲 發布:2024-04-17 05:06:50 瀏覽:919
linux的home 發布:2024-04-17 05:02:47 瀏覽:377
安卓王者榮耀怎麼快速退款 發布:2024-04-17 05:01:46 瀏覽:849
掛機腳本編輯器下載 發布:2024-04-17 05:01:36 瀏覽:722
伺服器開發看什麼書好 發布:2024-04-17 04:56:38 瀏覽:227
62數據腳本多少錢 發布:2024-04-17 04:42:55 瀏覽:147
怎樣在win10上下載編譯器 發布:2024-04-17 04:34:08 瀏覽:124
安卓旗艦為什麼直板機少 發布:2024-04-17 04:28:59 瀏覽:271