centos6.7下搭建git服務器(2017最新版)

前提:網上有很多centos搭建git服務器的教程,但很多都沒有說清楚,導致我在安裝的時候走了很多彎路,耗費了一天時間在那裏研究權限管理一塊。鑑於此,準備重新發個最新版的centos搭建git服務器。

技術交流QQ:242722019

.centos

    os: centos6.7

    git: 1.7.1

    gitolite

    步驟很簡單,需要安裝git,ssh支持,gitolite,然後公鑰 . 本文全部採用的yum包過來的.

1. 登錄服務器,安裝,(#root 登錄後的.)

#yum install perl openssh git

裝不上,那就裝下面的依賴

#yum install curl-devel expat-develgettext-devel openssl-devel zlib-devel perl-devel

2.建立一個用戶

#adduser --system --shell /bin/sh--create-home --home-dir /home/git git

 #cd /home/git

#mkdir repositories

#chown git:git -R ./repositories

#chmod 700 ./repositories

3.切換至剛建的git用戶 ($表示用戶

#su git

$git clone git://github.com/sitaramc/gitolite

$mkdir -p $HOME/bin

$gitolite/install -to $HOME/bin

這裏可能會報錯缺少模塊,就需要切換到root安裝缺失模塊.比如perl-Time-HiRes這個

$su - 

 輸入服務器root密碼

#yum install perl-Time-HiRes

#su git

$gitolite/install -to $HOME/bin

然後這裏安裝的就完了.

二、選擇一個主機做爲管理gitolite的管理員(這裏很多文檔沒有強調說明清楚)

#ssh-keygen

#cd /root/.ssh

裏面有id_ras.pubid_rsa,一個是公鑰,一個是私鑰.如果之前你裝過openssl產生過密鑰,那這裏就不要覆蓋了

複製到服務器的/tmp

#scp ~/.ssh/id_rsa.pubserver_username@server_host:/tmp

輸入密碼

回到服務器

#cd /tmp

#mv id_rsa.pub admin.pub 

爲什麼要改成admin.pub因爲gitolite根據這個文件名來設立帳號.我這裏用admin

#su git 切換到git用戶

$$HOME/bin/gitolite setup -pkadmin.pub(之所以直接用的admin.pub是因爲在/tmp目錄下su git)

然後去/home/git/repositories裏面,可以看見倉庫文件.gitolite-admin.gittest.git一個是管理倉庫的,一個是測試用

注:gitolite-admin.git倉庫是管理員管理git所有倉庫的,且只能作爲管理員的主機才能進行配置修改。


三、管理員主機拉區服務器gitolite-admin管理倉庫

#git clonegit@server_host:gitolite-admin

進入倉庫後可以看到confkeydir,conf/gitolite.conf是加用戶/倉庫的配置, keydir 是放對應用戶的公鑰.

<!-- 非常重要這裏,困在這裏耗費了一天時間研究   gitolite權限配置-->

注:配置好gitolite.confkeydir對新建倉庫很重要,配置好後需要push到服務器才能生效。

配置gitolite.conf文件


將添加用戶的id_rsa.pub重命名成容易識別的***.pub文件放到keydir下面


git push到git server服務器,生效後查看/home/git/.ssh/authorized_keys文件可以看到新添加的用戶已經添加進去,且配置的倉庫也創建 在 /home/git/repositories中



最後這幾步很重要!!!技術交流QQ:242722019
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章