1. 程式人生 > >redhat/centos 6.3 搭建git/gitosis/gitweb詳細過程(1)

redhat/centos 6.3 搭建git/gitosis/gitweb詳細過程(1)

 近來,需要向開源專案提交程式碼,終於意識到了git的重要性,原因就不用多說了(人家都採用git來進行程式碼版本管理)。

  於是,花了上午的時間自己搭建了一個git伺服器,並把搭建的詳細步驟和注意事項與大家分享。 主機環境: RedHat 6.3, 並配置了本地iso源和centos 6.3的源(RedHat使用CentOS源的方法,參見博文《》) 1. git的安裝和配置 (1)使用yum源安裝git
  1. yum install git
(2)建立git使用者並設定密碼
  1. #useradd --home /home/git git
  2.  #passwd git 
  3. //注意這裡要設定一個密碼,建議不要不設密碼,網上很多資料都不設密碼
(3)建立一個git倉庫,驗證git是否可用
  • 在使用git之前,要設定git的兩個全域性變數,設定方式為:
    1. # git config --global user.name "dylan"
    2. # git config --global user.email "ustc.dyla[email protected]"
  • 設定git倉庫目錄的許可權
    1. # su - git                           //切換到git使用者
    2. $ chmod -R 755 /home/git             //修改目錄的許可權
  • 建立並初始化一個repository
    1. $ mkdir /home/git/repo   //假設要建立的repository放在/home/git/repo目錄下
    2. $ cd /home/git/repo
    3. $ mkdir test_repo
    4. $ cd test_repo
    5. $ git init --bare
  • 測試新建立的repository是否可用
    1. su - test (test為另外一個user或者exit,使用root使用者)
    2. $ cd /home/test
    3. $ mkdir repos
    4. $ cd repos
    5. $ git clone /home/git/repo/test_repo
    如果顯示" Initialized empty Git repository in /home/git/repo/test_repo/.git/",則說明成功的clone了一個local repository。之後就可以在此repository下進行開發了,比如,新增一個readme.txt檔案。
    1. $ cd test_repo
    2. $ vim readme.txt (建立一個檔案)
    3. $ git add . (注意後面有一個[.])
    4. $ git commit -a
    5. $ git push origin master
     注意:如果此時報錯,最大的原因是test_repo的refs和objects目錄的許可權不夠,執行如下操作即可(git server端的repository下的這兩個目錄)。
  1. $ chmod -R 777 refs/
  2. $ chmod -R 777 objects/
2. gitosis的安裝  (1)python-setuptools的安裝(因為gitosis的安裝指令碼是用python寫的)
  1. #yum install python-setuptools
(2)gitosis的安裝
  1. #git clone git://github.com/res0nat0r/gitosis.git//下載gitosis到你想存放的目錄下
  2. #cd gitosis
  3. #python setup.py install    //如果沒有報錯,則說明安裝成功
(3)建立是用這個git server的使用者的公鑰    因為gitosis的訪問是通過ssh訪問的,所以我們還需要建立一個ssh的訪問公鑰。找另外一臺機器(如果條件允許)作為git server的客戶端機器建立公鑰,然後傳到git伺服器上。(如果為了簡便,也可在git伺服器上建立公鑰,使用git使用者或者其他使用者都行。為了方便,這裡採用git伺服器,並且使用git使用者。
  1. # su - git
  2. $ ssh-keygen -t rsa
 公鑰生成了,預設放在/home/git/.ssh/id_rsa.pub下,如果生成公鑰時設定了密碼,注意記住密碼,為了簡單,我這裡沒有設定密碼。 (4)配置gitosis     gitosis對git的各種管理通過gitosis-admin.git這個專案來完成,gitosis-admin.git專案本身又被置於git下管理,所以需要先在client端clone gitosis-admin.git, 根據需求修改後,將修改提交到git server即可生效。     此處的含義就是:你想在哪對gitosis進行配置,就需要在哪clone到gitosis-admin.git.
  • 假設在於gitosis不同的另外一臺機器上,使用git使用者將gitosis-admin.git clone到本地。
    1. git clone [email protected]:/home/git/repositories/gitosis-admin.git
  • 修改gitosis配置檔案gitosis.conf
    1. $ vim gitosis.conf
    2. //會看到如下內容
    3. [gitosis]
    4. [group gitosis-admin]
    5. writable = gitosis-admin
    6. members = [email protected]
    gitosis.conf 檔案是用來設定使用者、倉庫和許可權的控制檔案(對於gitosis.conf檔案的詳細含義,以及keydir目錄下公鑰的作用,將會另寫文件說明,在此不再詳述),只需知道gitosis倉庫是可寫的,支援的使用者有git
(5)新新增repository      修改gitosis-admin的配置檔案gitosis.conf,新新增一個repository,例如:
  1. [gitosis]
  2. [group gitosis-admin]
  3. writable = gitosis-admin
  4. members = [email protected]
  5. [group test_repo]                        //新新增的倉庫名稱
  6. writable = test_repo                     //此倉庫的讀寫許可權,此處為可寫
  7. members  = [email protected] [email protected]       //可以訪問此倉庫的使用者名稱@主機名
假設當user1,來訪問這個test_repo倉庫時,需要輸入如下命令:
  1. git clone [email protected]_server_ip:/home/git/repo/test_repo.git
此時會要求輸入user1的密碼,此密碼就是建立user1的公鑰時輸入的密碼。那麼gitosis又是怎麼來確定user1的身份的呢? 這就要求必須事先將user1產生的公鑰傳給管理員,即對gitosis-admin有許可權操作的管理人員,然後由他將公鑰拷貝到keydir目錄下,然後,執行git add,git push即可。

相關推薦

redhat/centos 6.3 搭建git/gitosis/gitweb詳細過程1

 近來,需要向開源專案提交程式碼,終於意識到了git的重要性,原因就不用多說了(人家都採用git來進行程式碼版本管理)。   於是,花了上午的時間自己搭建了一個git伺服器,並把搭建的詳細步驟和注意事項與大家分享。 主機環境: RedHat 6.3, 並配置了本地i

H264編碼器3( x264重要結構體詳細說明1: x264_param_t)

來自:https://blog.csdn.net/explorer_day/article/details/52239009   結構體x264_param_t是x264中最重要的結構體之一,主要用於初始化編碼器。以下給出了幾乎每一個引數的含義,對這些引數的註釋有的是參考了網上的資

Centos 6.5搭建git服務器

ref yum local 5.0 https figure kernel usr tar 安裝依賴 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

Centos 7.3搭建git服務器

生成 mct cat script private scrip 不需要輸入密碼 cati air 服務器端:Centos 7.3環境搭建git服務器客戶端:git客戶端可以是windows、linux和mac1、git服務器和客戶端都安裝Git[root@localhost

【轉1】Appium 1.6.3 在Xcode 8, iOS 10.2模擬器測試環境搭建 經驗總結

div tar post bug span trace 版本 test 4.0 Appium 1.6.3 在Xcode 8, iOS 10.2(模擬器)測試環境搭建 經驗總結 關於 Appium 1.6.3 在Xcode 8, 10.2 的iOS模擬器上的問

centos 6.7 搭建tornado + nginx + supervisor的方法已經實踐

首先,本來不想寫這篇部落格了,但是我測試了很多網上的例子包括簡書的,全不行,我總結原因是自己太笨,搞了倆個晚上,後來決定,自己還是寫一篇記錄下來,保證自己以後使用  環境:   centos6.7 64   python2.7.11   pip 9.0.1   nginx1.4.5 1.安

3章 處理機排程與死鎖1

例題1: 設採用搶佔式的高響應比優先演算法,注意以下時間點: (1)作業完成時 (2)作業阻塞時(本題作業沒有因IO阻塞的情況,該時間可忽略) (3)新作業來時 時刻0:A進入開始執行 時刻1:B進入,此時A響應比為5/5=1、B的響應比為8/8=1,A和B響應比相同,B進入就緒佇列;

SSH:利用Struts2+Hibernate4+Spring4+SQLServer框架,搭建一個前後端web網站1

前言: 利用暑假2個月的時間,自己用框架搭建了一個前後端web網站,因為時間有限,暑假之後便沒有再修改過了。因為這是自己第一次利用架構做的網站,所以在做的過程中也是“一波三折”,需要用到的知識點也是書

從零開始搭建大資料平臺系列之1——環境準備

1、機器準備 (1)物理機配置 處理器:Intel® Core™ i7 處理器 記憶體:8.00GB 系統型別:64 位作業系統,基於 x64 的處理器 作業系統:Windows 10 專業版 (2)磁碟陣列 常用磁碟陣列型別:RAID 0,RAID 1,RAI

redhat linux as 5 安裝oracle 10g的詳細過程已經做過測試

#!/bin/bash # # chkconfig: 2345 91 19 # description: starts the oracle listener and instance status() {    pid=`ps -ef | grep ora_pmon | grep -v grep | aw

jekyll部落格搭建及其可能出現的問題1

 我以前也自己買伺服器,買域名。然後用了b3log 搭過部落格的。後來感覺有點low,然後沒時間管理就沒去管了,也沒寫什麼。這次發現有一個更容易的。所以準備玩玩。。。 網站參考: jekyll官網:http://jekyll.bootcss.com/ markdown語法:

第一章:搭建海思Hi3518E_SDK開發環境1

寫在前面:搭建海思Hi3518E_SDK開發環境分為1、2章,但是本章的第6節之後,走了點小彎路,但是還是留下來了畢竟只是筆記而已,好好學習吧。1、首先將Hi3518E_SDK_V1.0.3.0.tgz檔案放入linux中,並解壓。2、這三個檔案(指令碼),瞭解一下,才能是如

Spring4.3.x 淺析xml配置的解析過程1——使用XmlBeanDefinitionReader解析xml配置

概述 Spring預設的BeanFactory是DefaultListableBeanFactory類,spring建立DefaultListableBeanFactory物件後,會把配置資訊轉換成一個一個的BeanDefinition物件,並把這些Bea

合併兩個有序連結串列--實現1+2+3+....+n,時間複雜度為O1

1、合併兩個有序連結串列,合併以後的連結串列依舊有效 C語言實現 連結串列結點定義如下: typedef int DataType; typedef struct Node { DataType _data; struct Node*

Git的簡單使用教程1

一、安裝Git 這裡介紹的是windows下安裝Git,官方下載地址:https://git-for-windows.github.io/,但是會比較慢。建議在各大資源網站上下載Git客戶端。 下載好以後找到Git安裝目錄->“Git Bash”,出現

搭建https服務--獲取https證書1

HTTP是明文的,很容易通過抓包等方式,獲取到請求資訊。導致資訊被洩露,串改。HTTPS相對於HTTP,多了安全加密。客戶端採用公匙加密,服務端採用私匙解密。採用HTTPS能夠很大程度地提升服務安全性,而且升級到HTTPS並不複雜。 HTTPS證書的獲取方式有許多: 1.

Hadoop分散式叢集搭建方法Version: java 1.8+CentOS 6.3

夏天小廚 前言 大資料這個概念,說的通俗點就是對海量資料的處理分析。據不完全統計,世界百分之九十的資料都由近幾年產生,且不說海量資料的ETL,單從資料的儲存和資料展現的實時性,傳統的單機就已經無法滿足實際場景的需要例如很多OLAP系統。由此引出了Hadoop,Hadoop

CentOS 7.4 安裝 Ambari 2.6.0 + HDP 2.6.3 搭建Hadoop叢集

1.安裝環境說明 三臺機器安裝好CentOS-7-x86_64-Minimal-1708.iso 下載地址:https://www.centos.org/download/ 最好在安裝時設定好IP和HOSTNAME 三臺機器的IP和HOSTNAME下載如下 主

centos 6.5搭建dhcp+網關

路由器設置 無線網絡 配置文件 客戶端 share 原先公司辦公網絡與無線網絡沒有做物理隔離,所以在物理上面還不是很安全,後來公司網絡整改,雖然起到物理隔離,但做的並不完善,只是用了個小米路由器設置,並做了dhcp,後來訪客加上公司員工手機一起上網,使的負載很高,甚至一大部分人都無法獲取i

Redhat/CentOS 6.x修改系統時區

linux 修改 時區時間 一,需求分析說明 由於項目遊戲發行海外版本,遊戲裏的活動需要按海外時間進行,而海外阿裏雲主機默認是以東8區北京時間計時,故需要更改時區和時間!二,修改linux系統時區 1,修改默認時區#ln -sf /usr/share/zoneinfo/Europe/Lond