婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > CentOS 6.3下使用Gitosis安裝搭建Git Server教程

CentOS 6.3下使用Gitosis安裝搭建Git Server教程

熱門標簽:騰沖銷售外呼管理系統服務 北京地圖標注平臺注冊入駐 用什么軟件做地圖標注 電銷機器人自動撥號信息 臨沂語音電話機器人公司 400電話申請安裝 昆明crm外呼系統價格 洛陽外呼增值業務線路解決方案 長沙呼叫中心外呼系統穩定嗎

Git作為一個分布式的版本控制系統,使用git的時候,一般和服務器通訊使用的是ssh協議,用ssh的主要優點是速度快(傳輸前數據會先壓縮,比HTTP快),安全,方便讀寫。
 
客戶端通過ssh訪問服務器端的驗證方式一般有兩種,一種是用戶名密碼的方式,一種是使用公私鑰認證的方式. 使用公私鑰的方式比較方便,無需每次登錄輸入密碼。

某個受信任的客戶端的公鑰會被設置在服務器端的 ~/.ssh/authorized_keys文件中,有關此文件的格式可以參見 sshd的用戶手冊 man sshd . authorized_keys有個比較厲害的功能是 支持 command參數,使得每次用戶使用此公鑰進行驗證的時候執行此后面的命令.這樣就可以做一些邏輯處理了.

一般git庫的管理需要權限控制,如何方便簡單的進行庫的權限管理呢? authorized_keys是一個思路,指定特定command參數,每次驗證好用戶后首先執行相關邏輯,檢測當前用戶是否具有某個權限。 所以便有了gitosis,與其說gitosis是一個git權限管理系統,還不如說它是一個authorized_keys文件管理器.

解決方案:

環境部署

操作系統:              centos6.3 x64
Git:                         git-1.7.1
Gitosis:                   Gitosis
Gitweb:                   1.7.1-3        
OpenSSH Server:     openssh-server-5.3p1
apache:                  httpd-2.4.4
python-setuptools:   python-setuptools-0.6.10-3
        
Git server(centos6.3 x64): node2.example.com
Git client(centos6.3 x64): node1.example.com

server端配置:

一.關閉iptables和SELINUX


復制代碼
代碼如下:

# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------

二.同步時間


復制代碼
代碼如下:

# ntpdate cn.pool.ntp.org

三.安裝apache

傳送門:https://www.jb51.net/article/54969.htm

四.安裝OpenSSH

1.yum安裝OpenSSH:

復制代碼
代碼如下:

# yum install openssh-server -y

2.修改ssh服務端配置:

復制代碼
代碼如下:

# vi /etc/ssh/sshd_config
——————————————————————————————
Port 22 # 修改成你想要的登陸端口
PermitRootLogin no # 禁止root用戶登陸
StrictModes yes # 檢查密鑰的用戶和權限是否正確,默認打開的
RSAAuthentication yes # 啟用 RSA 認證
PubkeyAuthentication yes # 啟用公鑰認證
PasswordAuthentication yes # 啟用密碼認證,默認是打開的
ServerKeyBits 1024 # 修改后變為此狀態,將ServerKey強度改為1024比特
PermitEmptyPasswords no # 修改后變為此狀態,禁止空密碼進行登錄
——————————————————————————————

3.重啟服務:

復制代碼
代碼如下:

# /etc/init.d/sshd restart

五.安裝Git


復制代碼
代碼如下:

# yum install git-core -y

六.安裝Gitosis

1.安裝Gitosis依賴python-setuptools包

復制代碼
代碼如下:

# yum install python-setuptools -y

2.安裝Gitosis

復制代碼
代碼如下:

# cd ~
# mkdir src
# cd src
# git clone https://github.com/tv42/gitosis.git
# cd gitosis
# python setup.py install

3.為gitosis創建系統用戶

復制代碼
代碼如下:

# useradd -m git
# passwd git

4. 運行gitosis

(1).將管理員生成的公鑰上傳或拷貝到服務器上。這里的公鑰需要在git服務器管理員下使用ssh-keygen命令來創建

復制代碼
代碼如下:

# su - git

保證web頁面有權限顯示該倉庫內容

復制代碼
代碼如下:

# chmod -R 755 /home/git
# ssh-keygen -t rsa
# cp ~/.ssh/id_rsa.pub /tmp

(2).初始化gitosis

進入到拷貝過來的id_rsa.pub所在目錄

復制代碼
代碼如下:

# cd /tmp
# gitosis-init id_rsa.pub

此時,會在/home/git目錄下生成gitosis倉庫和配置目錄

復制代碼
代碼如下:

# cd /home/git
# ll
----------------------------------------------------------------
drwxr-xr-x 2 git git 4096 Aug 12 13:39 gitosis
drwxr-xr-x 4 git git 4096 Aug 12 13:39 repositories
---------------------------------------------------------------

(3).切換回當前(root)用戶


復制代碼
代碼如下:

# exit

(4).配置權限

如果想要別人能夠clone gitosis-admin.git,需要執行以下操作:

復制代碼
代碼如下:

# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

至此,gitosis的安裝工作已完成,其相關配置可以有管理員來操作,然后再提交到服務器上.

(5)現在可以試一下用初始化 Gitosis 的公鑰的擁有者身份 SSH 登錄服務器,應該會看到類似下面這樣:

復制代碼
代碼如下:

# su - git
$ ssh git@127.0.0.1
------------------------------------------------
PTY allocation request failed on channel 0
ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.
Connection to gitserver closed.
------------------------------------------------

說明 Gitosis 認出了該用戶的身份,但由于沒有運行任何 Git 命令,所以它切斷了連接。那么,現在運行一個實際的 Git 命令 — 克隆 Gitosis 的控制倉庫:
在你本地計算機上克隆git倉庫

復制代碼
代碼如下:

# cd /tmp
# git clone git@gitserver:gitosis-admin.git

這會得到一個名為 gitosis-admin 的工作目錄,主要由兩部分組成:
紅色為git倉庫配置,藍色為實際倉庫保存的文件

復制代碼
代碼如下:

# cd gitosis-admin
# ll -a
----------------------------------------------------------
total 20
drwxr-xr-x 4 git git 4096 Aug 12 13:21 .
drwxr-xr-x 4 git git 4096 Aug 12 13:23 ..
drwxr-xr-x 8 git git 4096 Aug 12 13:22 .git
-rwxr-xr-x 1 git git 157 Aug 12 13:21 gitosis.conf
drwxr-xr-x 2 git git 4096 Aug 12 13:20 keydir
-----------------------------------------------------------

以上操作相當于,系統git用戶初始化并成為gitosis管理員,且利用其管理員權限將gitosis-admin倉庫clone到本地.

5.添加本地用戶john和倉庫test到gitosis,并和管理員git合作管理gitosis

1. 用戶john添加并發送id_rsa.pub給git

復制代碼
代碼如下:

# su -
# useradd john passwd john
# su - john
# ssh-keygen -t rsa
-----------------------------------------------------------
Generating public/private rsa key pair.
Enter file in which to save the key (/home/john/.ssh/id_rsa):
Created directory '/home/john/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/john/.ssh/id_rsa.
Your public key has been saved in /home/john/.ssh/id_rsa.pub.
-----------------------------------------------------------
# cp /home/john/.ssh/id_rsa.pub /tmp

2. gitosis管理員git分配john權限

復制代碼
代碼如下:

# su - git
# mkdir projects
# cd ~/projects
# git clone git@node2.example.com:gitosis-admin
# cd gitosis-admin
# cat gitosis.conf
------------------------------------------------
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = git@node2.example.com
------------------------------------------------
# ls keydir/
-------------------------
git@node2.example.com.pub
-------------------------
# cp /tmp/id_rsa.pub keydir/john.pub
# vi gitosis.conf
————————————————————————————————————
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = git@node2.example.com
[group test]
writable = test
members = git@node2.example.com john
————————————————————————————————————
# git add .
# git commit -am "add member john and project foo"
# git push

3. 用戶git添加項目test


復制代碼
代碼如下:

# su - git
# cd ~/projects
# mkdir test
# cd test
# git init
# echo "Hello World." > hello.txt
# git add hello.txt
# git commit -am 'first commit'
# git remote add origin git@node2.example.com:test.git
# git push origin master

4. 用戶 john clone test并修改hello.txt

復制代碼
代碼如下:

# su - john
# git clone git@node2.example.com:test.git
# cd test
# date >> hello.txt
# git commit -am 'add time to hello.txt' git push

整個過程分為:

1.通過修改gitosis-admin管理gitosis用戶權限,需要clone到本地,然后修改配置文件,最后add push將結果推送到遠程實現權限修改.

2.添加系統用戶,生成該用戶公鑰,并將其復制到keydir下,實現該用戶有權限進行git等相關操作.

3.登陸該用戶賬戶進行git相關操作,修改完后commit,push到中服務器即可完成倉庫權限配置.

七.安裝gitweb

1.首先我們需要Git的源碼,其中帶有GitWeb,并能生成定制的CGI腳本:

復制代碼
代碼如下:

# git clone git://git.kernel.org/pub/scm/git/git.git
# cd git/
# make GITWEB_PROJECTROOT="/home/git/repositories" prefix=/usr gitweb
# cp -rf gitweb /usr/local/apache2/htdocs/

注: 通過指定 GITWEB_PROJECTROOT 變量告訴編譯命令 Git 倉庫的位置

2.設置Apache以CGI方式運行該腳本,并添加一個VirtualHost配置:

(1).加載apache的vhost配置文件

復制代碼
代碼如下:

# vi /usr/local/apache2/conf/httpd.conf

搜索包含httpd-vhosts的行,并去掉該行注釋.
(2).加載cgid模塊,使其支持perl語言.

復制代碼
代碼如下:

# vi /usr/local/apache2/conf/httpd.conf

搜索包含mod_cgid.so的行,并去掉該行注釋.
(3).配置VirtualHost

復制代碼
代碼如下:

# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

添加如下配置:

復制代碼
代碼如下:

——————————————————————————————————————————
VirtualHost *:80>
ServerName git.example.com
DocumentRoot /usr/local/apache2/htdocs/gitweb
Directory /usr/local/apache2/htdocs/gitweb>
Options +ExecCGI
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi pl
DirectoryIndex gitweb.cgi
/Directory>
/VirtualHost>
——————————————————————————————————————————

(4).安裝Time/HiRes.pm perl模塊
首次打開web頁面報Can't locate Time/HiRes.pm in @INC ….錯誤
解決方法:

復制代碼
代碼如下:

# yum install perl-devel perl-CPAN -y
# perl -MCPAN -e shell
cpan[2]> install Time::HiRes
cpan[3]> exit

(5).重啟apache服務

復制代碼
代碼如下:

# /usr/local/apache2/bin/apachectl restart

(6).修改本機HOST,并打開gitweb頁面
http://git.example.com

大功告成....

標簽:南充 汕頭 通化 遼寧 涼山 昌都 濰坊 三亞

巨人網絡通訊聲明:本文標題《CentOS 6.3下使用Gitosis安裝搭建Git Server教程》,本文關鍵詞  CentOS,6.3下,使用,Gitosis,安裝,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《CentOS 6.3下使用Gitosis安裝搭建Git Server教程》相關的同類信息!
  • 本頁收集關于CentOS 6.3下使用Gitosis安裝搭建Git Server教程的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美精品99久久久**| 亚洲成av人片一区二区| 精品剧情在线观看| 亚洲欧美一区二区三区国产精品 | 欧美性猛片aaaaaaa做受| 777奇米成人网| 亚洲狼人国产精品| 欧美日韩午夜在线视频| 亚洲一二三四久久| 日本道在线观看一区二区| 中文字幕日本乱码精品影院| 成人毛片老司机大片| 亚洲精品网站在线观看| 91精品国产综合久久国产大片 | 91精品国产综合久久久久久久 | 欧美亚洲国产一区在线观看网站| 亚洲免费在线观看| 91精品国产aⅴ一区二区| 美女诱惑一区二区| 国产蜜臀av在线一区二区三区| 国产精品1024| 午夜精品福利一区二区蜜股av | 欧美日韩国产经典色站一区二区三区 | 日本中文字幕一区| 中文字幕精品三区| 欧美成人一区二区三区在线观看| 成人av资源在线观看| 日韩在线卡一卡二| 亚洲精品国产成人久久av盗摄 | 久久精品国产久精国产| 亚洲一区二区综合| 国产精品第四页| 精品精品欲导航| 欧美精品在线观看播放| 成人性视频免费网站| 国产高清在线精品| 国产一区二区三区日韩| 日韩成人一级大片| 婷婷开心激情综合| 亚洲自拍偷拍图区| 亚洲超碰97人人做人人爱| 综合亚洲深深色噜噜狠狠网站| 久久久久久日产精品| 国产欧美日韩综合精品一区二区| 久久精品视频一区二区三区| 国产嫩草影院久久久久| 一本到一区二区三区| 欧美在线视频日韩| 91精品国产91久久综合桃花| 欧美日韩aaaaaa| 精品久久人人做人人爱| 欧美一区二区三区四区高清| 欧美日韩夫妻久久| 精品成人一区二区三区四区| 精品国产麻豆免费人成网站| 久久久久久久久久久久久久久99| 国产蜜臀av在线一区二区三区| 国产亚洲综合在线| 香蕉av福利精品导航| 国产91在线看| 精品黑人一区二区三区久久| 欧美mv日韩mv国产网站| 亚洲国产欧美日韩另类综合| 韩国精品一区二区| 91精品婷婷国产综合久久性色| 国产精品每日更新在线播放网址 | 91色乱码一区二区三区| 色琪琪一区二区三区亚洲区| 日韩一区二区影院| 亚州成人在线电影| 国产91精品精华液一区二区三区 | 国产午夜亚洲精品理论片色戒| 亚洲视频一区在线观看| 国产a级毛片一区| 日韩一区二区免费高清| 视频一区视频二区中文字幕| 国产成人在线视频播放| 欧美精品一区二区在线播放| 亚洲高清免费一级二级三级| 欧美在线观看禁18| 中文字幕视频一区二区三区久| 久久99精品国产| 欧美日韩一区二区三区视频| 久久久99免费| 精品一区二区久久久| 6080午夜不卡| 韩国中文字幕2020精品| 欧美国产日韩在线观看| 成人污视频在线观看| 国产精品美女一区二区| 欧美疯狂做受xxxx富婆| 久久国内精品视频| 久久综合九色综合97婷婷| 国产精品综合视频| 一区二区在线观看视频| 欧美一级欧美三级| 久久精品国产精品青草| 久久久精品免费观看| 欧美影视一区在线| 国产mv日韩mv欧美| 亚洲成人av一区| 中文字幕va一区二区三区| 亚洲精品国产品国语在线app| 色狠狠色狠狠综合| 国产福利91精品| 国产主播一区二区| 日韩精品一二区| 图片区日韩欧美亚洲| 国产精品色一区二区三区| 欧美一区二区三区四区在线观看| 亚洲综合一二三区| 日韩视频在线观看一区二区| 国产裸体歌舞团一区二区| 日精品一区二区三区| 亚洲欧洲精品一区二区三区不卡| 欧美videos中文字幕| 欧美日韩一级大片网址| 欧美精品在线一区二区三区| 欧美一卡二卡在线观看| 5月丁香婷婷综合| 欧美亚洲国产一卡| 在线精品视频小说1| 色吊一区二区三区| 91精品一区二区三区久久久久久 | 国产精品一区二区三区四区| 三级在线观看一区二区| 精品免费一区二区三区| 九色porny丨国产精品| 日韩国产欧美在线视频| 91国偷自产一区二区三区成为亚洲经典| 日本va欧美va欧美va精品| 一区二区三区中文在线| 亚洲一区二区三区视频在线播放 | 亚洲国产精品综合小说图片区| 亚洲动漫第一页| 美女网站色91| 国产在线乱码一区二区三区| 国产成人在线免费观看| 91啪亚洲精品| 久久人人超碰精品| 国产一区二区伦理| 日本韩国欧美一区二区三区| 欧美一区二区三区电影| 久久色视频免费观看| 国产日产精品1区| 国产一区二区三区免费看| 国产一区91精品张津瑜| 国产精品911| 欧美精品一区二区蜜臀亚洲| 中文字幕日韩精品一区| 狠狠狠色丁香婷婷综合激情| 97se亚洲国产综合自在线观| 欧美性做爰猛烈叫床潮| 亚洲精品一线二线三线| 亚洲精品中文字幕在线观看| 日本最新不卡在线| 99免费精品在线| 欧美成人综合网站| 亚洲一区视频在线| av一区二区不卡| 国产亚洲一区二区三区| 亚洲福利一区二区| 91丝袜呻吟高潮美腿白嫩在线观看| 91精品免费观看| 中文字幕亚洲一区二区av在线| 日韩精品久久理论片| 色狠狠色狠狠综合| 麻豆国产精品官网| 欧美一级黄色大片| 天堂在线一区二区| 欧美电影免费观看高清完整版在线 | 丁香桃色午夜亚洲一区二区三区| 欧美少妇xxx| 日韩精品一区第一页| 欧美高清性hdvideosex| 日韩福利电影在线| 6080国产精品一区二区| 麻豆国产一区二区| 国产欧美一区二区精品婷婷| 国产91丝袜在线播放0| 亚洲精选免费视频| 欧美日韩综合一区| 三级成人在线视频| 国产精品久久99| 日韩午夜激情av| 国内外精品视频| 亚洲成人av一区二区三区| 日韩美女在线视频| 粉嫩一区二区三区在线看| 国产日韩欧美在线一区| 国产丝袜欧美中文另类| 91视频.com| 国产成人av一区| 亚洲天堂中文字幕| 欧美一区二区成人6969| 成人福利视频在线看| 久久精工是国产品牌吗| 亚洲精品欧美激情| 亚洲三级电影全部在线观看高清| 日韩欧美一级精品久久|