1. 程式人生 > >在centos中搭建基於smart http的git server

在centos中搭建基於smart http的git server

#

由於公司的特殊需求,需要將git整合到IBM的RTC裡面,而RTC使用的是http,所以要只能放棄了git原生的ssh,轉而使用smart http,git server搭建在centos系統上。博主在瀏覽了N多教程發現都是比較殘缺的,並沒有針對smart http的特殊需求,有一篇相對完整的但也有幾個坑(博主為了填這幾個坑吐了好多口老血,因此決定把教程記錄到部落格上防各位不時之需,該教程針對像博主這樣的非專業運維的developer的手把手教程,歡迎指正!)

以下是主要的環境引數

  • 系統linux centos 7
  • git版本 2.6.0.0
  • 容器 Apache 2 .6.4(httpd)

1. 首先開啟系統terminal,獲取root操作許可權(博主用的是Xshell遠端登入):

  輸入命令:sudo  su

這裡寫圖片描述

系統要求輸入使用者密碼:

完成後入下圖所示

這裡寫圖片描述

2. 安裝httpd:

輸入命令:yum install httpd (安裝時除了輸入“Y”確定外無特別需要注意的)

3. 安裝gitweb(如不需要可不安裝):

輸入命令:yum install gitweb

4. 完成後建立一個git倉庫,這裡選擇在/srv/目錄下建立一個bare repo(若目錄不同需要在稍後提到的配置檔案中修改),取名為test.git

輸入命令cd /srv
輸入命令git init –bare test.git
這裡寫圖片描述

5. 把該目錄下檔案所有者的組改成apache

輸入命令:chown -R apache:apache test.git
這裡寫圖片描述

6. 用vim編輯器修改httpd配置檔案

輸入命令:vim /etc/httpd/conf/httpd.conf

這裡寫圖片描述
在文件中新增如下配置:

# 設定git所管理的工程的存放目錄
SetEnv  GIT_PROJECT_ROOT /srv

SetEnv  GIT_HTTP_EXPORT_ALL


# 對git庫的各種請求,執行git-http-backend.cgi
ScriptAliasMatch \ "(?x)^/git/(.*/(HEAD | \ info/refs | \ objects/(info/[^/]+ | \ [0-9a-f]{2}/[0-9a-f]{38} | \ pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ git-(upload|receive)-pack))$" \ /usr/local/libexec/git-core/git-http-backend/$1 ScriptAlias / /usr/share/gitweb/gitweb.cgi #為git的http操作新增認證,認證資訊存在git-auth檔案中,關於此檔案的配 #置將會在稍後講解 <Location /> AuthType Basic AuthName "Git Access" AuthUserFile /var/www/git-auth Require valid-user AuthBasicProvider file </Location>

這裡寫圖片描述

完成後輸入wq儲存檔案

7. push的操作認證

a.開啟剛剛建立的test.git倉庫為config新增如下配置
輸入命令: cd /srv/test.git/
這裡寫圖片描述

b. 開啟config檔案新增如下內容

[http]
receivepack = true

這裡寫圖片描述

完成後儲存並退出

c. 再配置檔案中定義的/var/www資料夾下新增git-auth密碼檔案
輸入命令:cd /var/www
新增一個名為git(可自己定義)的賬戶
輸入命令:htpasswd -c git-auth git

這裡寫圖片描述

8. 重啟httpd服務

輸入命令:service httpd start

這裡寫圖片描述

完成後可在客戶端做clone和push的檢查操作

(注意:如果系統使用者沒有許可權,使用chmod 755 -R username 命令新增許可權,否則推送會被拒)

至此!搭建完畢,博主沒有配置gitweb不過相關的教程也很多而且相對簡單,剩下的問題無非也就是linux的組許可權問題,這個視個人環境做微調即可,如有不足之處還望不吝賜教!

參考連結:

相關推薦

centos搭建基於smart http的git server

# 由於公司的特殊需求,需要將git整合到IBM的RTC裡面,而RTC使用的是http,所以要只能放棄了git原生的ssh,轉而使用smart http,git server搭建在centos系統上。博主在瀏覽了N多教程發現都是比較殘缺的,並沒有針對smart

CentOS搭建自己的VPN

密碼 技術 國外 get 是我 時間 out span 主機 很多人都有買國外的VPN看視頻的經歷,今天我們就講一講如何搭建一個自己的VPN。下面是我在CentOS中搭建自己的VPN的過程,簡單說來,主要分為兩步: 1:購買國外的VPS 2:在購買的VPS上搭建VPN

centos搭建vsftpd服務器

記錄 ftp gin ges -s 步驟 inux sysconf 命令 最近在學習linux的知識,在學習中是一步一個坑,沒點脾氣,誰讓我啥都不會呢。 搭建vsftpd服務器步驟: 1、查看本機是否安裝了vsftpd,命令rpm -qa|grep vsftpd 2、如果

CentOS 7 搭建基於攜程Apollo(阿波羅)配置中心單機模式

管理平臺 9.png ron 密碼修改 art onf ice spring pos Apollo(阿波羅)是攜程框架部門研發的配置管理平臺,能夠集中化管理應用不同環境、不同集群的配置,配置修改後能夠實時推送到應用端,並且具備規範的權限、流程治理等特性。服務端基於Sprin

CentOS搭建基於Nodejs的Ghost博客

Ghost 博客 nodejs 博客系統 Ghost介紹 Ghost 是基於 Node.js 構建的開源博客平臺。Ghost 具有易用的書寫界面和體驗,博客內容默認采用Markdown 語法 書寫。Ghost 的目標是取代臃腫的 Wordpress。 搭建Ghost博客系統 1、本機測試環境

CentOS搭建ftp伺服器出現的問題

[[email protected] vsftpd]# setsebool allow_ftpd_full_access 1 [[email protected] vsftpd]# setsebool allow_ftpd_use_cifs 1 [[email protected

CentOS搭建伺服器環境並且釋出war包

  在一些小公司中,開發,測試,運維都是一個人的工作,因此學會搭建伺服器環境是必不可少的技術。    一:系統環境:    1:伺服器:          ip地址          使用者名稱和密碼    2:軟體       將軟體傳送至/home/公司名稱英文/sof

在Linux搭建一個簡單的dns伺服器 --------基於centos 6.5,以我做的一個實驗為例子。

Experimental environment: dns server : 192.168.200.254 http server :192.168.200.202 client :192.168.200.203 Experimental steps: fir

基於 CentOS 7 搭建kubernetes集群

kubernetes docker 基於Centos7構建Kubernetes平臺一、實驗環境3臺centos7的主機:master 192.168.111.131部署etcd,kube-apiserver,kube-controller-manager,kube-scheduler 4個應用。no

在Windows Server 2012 R2搭建SQL Server 2012故障轉移集群

鏈接 clust 但是 關於 集群 dtc p s fail base 需要說明的是我們搭建的SQL Server故障轉移集群(SQL Server Failover Cluster)是可用性集群,而不是負載均衡集群,其目的是為了保證服務的連續性和可用性,而不是為了提高服務

CentOS 7搭建KVM虛擬化平臺

創建虛擬機 防火 數量 默認 ESS rep 環境準備 linu 工具 什麽是虛擬化 虛擬化就是把硬件資源從物理方式轉變為邏輯方式,打破原有物理結構,使用戶可以靈活管理這些資源,並且允許1臺物理機上同時運行多個操作系統,以實現資源利用率最大化和靈活管理的一項技術。 虛擬化的

#後端筆記#在CentOS上利用 nginx + nginx-rtmp-module 搭建基於HLS協議的直播伺服器

一、直播協議簡介: 搭建之前,先簡單說說現在網上主流的直播協議: 1、RTMP:      實時訊息傳輸協議,Real Time Messaging Protocol,是 Adobe Systems 公司為 Flash 播放器和伺服器之間音訊、

手把手在虛擬機器搭建四個節點的centos叢集

叢集,一個很熟悉的名字,是一種較新的技術,通過叢集技術,可以在付出較低成本的情況下獲得在效能、可靠性、靈活性方面的相對較高的收益,其任務排程則是集群系統中的核心技術。下面手把手教你在虛擬機器中搭建4個節點的centos叢集,跟著步驟操作即可。   工具:virtualbox、cen

centOSjsp環境搭建

軟體版本 centOS 6.7 jdk-8u151-linux-x64.tar.gz apache-tomcat-8.5.24.tar.gz MySQL-server-5.5.30-1.linux2.6.x86_64.rpm MySQL-client-5.

基於滴滴雲 CentOS 伺服器搭建 Nexus Maven 私庫

本文講解如何在滴滴雲 CentOS 伺服器上搭建 Maven 私庫, 筆者假設讀者已經對於 Maven、Java有基本的瞭解,已經知道如何構建一個基本的 Maven 專案。 Maven 私庫在公司的協作開發中是必不可少的工具。 藉助於私庫可以引用公司內部工具包,提高常見 JAR 包下載速

centosredis3 cluster叢集的搭建

>>> Adding node 127.0.0.1:7006 to cluster 127.0.0.1:7000 >>> Performing Cluster Check (using node 127.0.0.1:7000) M: 0b7e0d5337e87ac7b59

virtualbox搭建centos環境

建立虛擬機器 開啟Virtual Box,點選“新建”按鈕,點選“下一步”,輸入虛擬機器名稱為eshop-cache01,選擇作業系統為Linux,選擇版本為Red Hat,分配1024MB記憶體,後面的選項全部用預設,在Virtual Disk File l

centos 使用 Docker 搭建 Java Web 執行環境

這裡,我按照我的環境來記錄下我的安裝過程。 作業系統:win10 虛擬機器:vmware12 linux版本:CentOS-6.6-x86_64-minimal  (這是沒有介面的版本) 安裝基礎環境 升級我的linux核心,他必須要核心3.8以上,而且要是64位的系統

Docker在CentOS映象搭建JDK和Tomcat

條件:在VM虛擬機器安裝Centos,安裝並啟動Docker,並準備好JDK、Tomcat和Centos映象。 我這裡用的是JDK8、Tomcat8,放在/home目錄中,從docker映象倉庫中把centos的映象pull下來。 啟動映象後會自動進入到容器中,由於將虛

CentOS 7下基於Docker搭建GitLab伺服器

作業系統:CentOS 7.2核心版本:3.10.0-693.21.1.el7.x86_64為了使以後的維護更方便,在備份和遷移Git時,不需要重新搭建環境,使用Docker來構建Git服務,將Git下的資料掛在Docker的宿主機,日後只需要要拷貝Docker映象和掛在的資