Centos6 4搭建Git服務

2021-09-26 10:36:05 字數 4582 閱讀 5834

搭建git伺服器需要準備一台執行linux的機器,本文以centos6.4版系統為例搭建自己的git服務。

準備工作:以root使用者登陸自己的linux伺服器。

part1:安裝依賴庫

[root@localhost ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

[root@localhost ~]# yum install gcc perl-extutils-makemaker

part2:解除安裝舊版git

加入原先有用yum安裝過git,則需要先解除安裝一下

[root@localhost ~]# yum remove git
檢視版本方法:

[root@izbp1ap7v4yegqdgzrh7cuz ~]# wget -v 

[root@izbp1ap7v4yegqdgzrh7cuz ~]# vi index.html

[root@localhost ~]# cd /usr/local/src

[root@localhost ~]# wget git-2.10.0.tar.gz

part4:解壓、編譯和安裝

複製**

[root@localhost ~]# tar -zvxf git-2.10.0.tar.gz

cd /usr/local/src/

wget

tar -zxvf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv && make && sudo make install

cd /usr/local/src/git-2.10.0

make configure

./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv

make

make install

複製**

part5:將git目錄加入path

[root@localhost ~]# echo 'export path=$path:/usr/local/git/bin' >> /etc/bashrc

[root@localhost ~]# source /etc/bashrc

安裝成功後就可以檢視到git版本了。

[root@localhost ~]# git --version

git version 2.10.0

part6:建立git賬號並設定密碼

複製**

[root@localhost ~]# useradd -m git

[root@localhost ~]# passwd git

changing password for user git.

new password:

bad password: is too ******

retype new password:

passwd: all authentication tokens updated successfully.

複製**

part7:建立git倉庫並初始化

[root@localhost ~]# mkdir -p /home/git/repositories/test.git

[root@localhost ~]# cd /home/git/repositories/test.git

[root@localhost test.git]# git --bare init

initialized empty git repository in /home/git/repositories/test.git/

part8:給git倉庫目錄設定使用者和使用者組並設定許可權

[root@localhost test.git]# chown -r git:git /home/git/repositories

[root@localhost test.git]# chmod 755 /home/git/repositories

如何改變目錄的使用者和使用者組

改變所屬群組:chgrp 這個指令就是change group的縮寫。不過要記住,要被改變的群組名稱必須要在/etc/group檔案內存在才行,否則就會顯示錯誤。

view code
part9:限制git賬號的ssh連線

查詢git-shell所在目錄

[root@localhost ~]# whereis git-shell

git-shell: /usr/src/git-2.10.0/git-shell

編輯passwd檔案

[root@localhost ~]# vi /etc/passwd
找到這一行

git:x:500:500::/home/git:/bin/bash
將最後的/bin/bash改為:git-shell的目錄 /usr/src/git-2.10.0/git-shell 如下:

git:x:500:500::/home/git:/usr/src/git-2.10.0/git-shell
esc --> :wq! --> 回車!

完成搭建,去轉殖提交試試吧!

附加:以後每次新建倉庫時,只需執行上面part7、8即可!

part10:後續

配置git 使用者和使用者郵箱

git config --global user.name ""

git config --global user.email ""

移動專案**

cp -r 專案備份目錄/. 專案目錄
設定專案使用者和使用者組

chown -r git:git 專案目錄
提交專案到裸倉庫

git add .

git commit -m "init"

git push origin master

使用鉤子自動執行shell指令碼進行同步專案**

cd 裸倉庫目錄/hooks

vi post-receive

#!/bin/sh

cd 專案目錄

unset git_dir

git pull origin master

配置免秘鑰登入

遠端伺服器設定

修改/etc/ssh/sshd_config

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile /root/.ssh/authorized_keys

啟用這三行,然後重啟service sshd restart

設定.ssh目錄許可權

chmod 700 -r .ssh
本地設定

本地安裝git bash

本地生成ssh秘鑰

cd ~/.ssh

ssh-keygen -t rsa -c 「739***[email protected]

vi ~/.ssh/config

host ***

hostname ***.***.***.***

port 22

user git

preferredauthentications publickey

identityfile ~/.ssh/id_rsa

伺服器端認證

vi /root/.ssh/authorized_keys
貼上本地生成的秘鑰如id_rsa.pub

獲取遠端專案

git clone ssh:
出現

fatal: could not read from remote repository.錯誤

解決辦法,修改sshd_config

authorizedkeysfile /home/git/.ssh/authorized_keys

修改/home/git 700

/home/git/.ssh 700

/home/git/.ssh/authorized_keys 644

/root/.ssh/id_rsa 600

/root/.ssh 700

設定後成功獲取遠端裸版本庫

git clone ssh:

Centos6 4系統檔案服務之NFS

1.檢視nfs軟體是否安裝和啟動服務 root localhost rpm aq egrep nfs rpcbind rpcbind 0.2.0 11.el6.i686 nfs utils 1.2.3 36.el6.i686 nfs utils lib 1.1.5 6.el6.i686 root l...

如何開啟Centos6 4系統的SSH服務

無論是centos6.4系統的虛擬電腦還是伺服器,始終感覺直接在命令列中操作不方便 比如全選 複製 貼上 翻頁等等。比如伺服器就需要在機房給伺服器接上顯示器 鍵盤才操作感覺更麻煩。所以就可借助ssh 安全外殼協議 遠端操作和管理系統,不僅方便而且安全可靠。1 登入centos6.4系統。示例 使用r...

centos搭建git服務

上一章節中我們遠端倉庫使用了 github,github 公開的專案是免費的,但是如果你不想讓其他人看到你的專案就需要收費。這時我們就需要自己搭建一台git伺服器作為私有倉庫使用。接下來我們將以 centos 為例搭建 git 伺服器。yum install curl devel expat dev...