Centos7安裝Git2.x + Apache 搭建Git Http Server

一、下載安裝編譯Git依賴

yum install -y wget
yum install gcc
yum install gcc-c++
yum install -y zlib-devel
yum install -y perl-ExtUtils-MakeMaker package

二、下載Git源碼包

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.22.0.tar.gz

這裏我下載的是2.22.0版本的,如果要下載其他版本,把URL後面的版本號修改即可

三、解壓、編譯、安裝GIt

tar -xvf git-2.22.0.tar.gz

進入到解壓後目錄,執行如下命令,進行編譯和安裝:

./configure --prefix=/usr/local/devilyang/git make && make install

--prefix=/usr/local/devilyang/git  指定git的安裝目錄

make編譯

make install 安裝

等待程序執行完成,進入到安裝目錄的bin目錄下,即可使用git了

四、配置Git環境變量

vi /ect/profile

 在文件的末尾添加如下配置

GIT_HOME=/usr/local/devilyang/git
PATH=$GIT_HOME/bin:$PATH
export GIT_HOME PATH

讓配置生效

source /ect/profile

此時在任意位置,輸入git --version即可查看git的版本號,表名git環境變量配置成功!

五、安裝Apacht服務器

yum install httpd

修改端口號

vi /etc/httpd/conf/httpd.conf

在配置文件中找到Listen 80,我這裏把它修改爲9000

啓動服務

/bin/systemctl start  httpd.service

啓動後,使用瀏覽器訪問http://192.168.154.141:9000/ 可以看到Apache提供的默認頁面,表示安裝成功!(IP和端口修改爲你自己的。防火牆要放行,因爲我這裏是虛擬機,防火牆直接使用命令systemctl stop firewalld 關閉)

六、創建倉庫

在自己喜歡的位置創建一個git倉庫,如下

mkdir -p /usr/local/gitRepository/config.git
cd /usr/local/gitRepository/config.git
git init

其中 -p 表示遞歸創建目錄

七、配置Apache

將上一步我們創建的git倉庫文件夾授予apache用戶和用戶組(安裝apache時會自動創建該用戶和用戶組)

chown -R apache:apache /usr/local/gitRepository/config.git/

創建apache認證賬號:

//  configuser爲用戶名 可以隨意定義,此命令執行完會要求設置密碼,我設置的和用戶名一致
htpasswd -m -c /etc/httpd/conf.d/git-team.htpasswd configuser

// 修改git-team.htpasswd文件的所有者與所屬羣組
chown apache:apache /etc/httpd/conf.d/git-team.htpasswd

// 設置git-team.htpasswd文件的訪問權限
chmod 640 /etc/httpd/conf.d/git-team.htpasswd

修改apache配置文件,讓請求轉發到git-cgi

vi /etc/httpd/conf/httpd.conf

在文件末尾 IncludeOptional conf.d/*.conf 的上方添加如下內容

<VirtualHost *:9000>
        ServerName 192.168.154.141
        SetEnv GIT_HTTP_EXPORT_ALL
        SetEnv GIT_PROJECT_ROOT /usr/local/gitRepository
        ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
        <Location />
                AuthType Basic
                AuthName "Git"
                AuthUserFile /etc/httpd/conf.d/git-team.htpasswd
                Require valid-user
        </Location>
</VirtualHost>

其中

VirtualHost 後面的端口號換成你自己的

ServerName 換成你自己的IP地址

 SetEnv GIT_PROJECT_ROOT 換成我們剛纔創建的倉庫地址的上一層目錄

重啓服務

/bin/systemctl restart httpd.service

此時我們去到git倉庫下,創建一個文件並提交

cd /usr/local/devilyang/gitRepository/config.git
touch 1.txt
git add 1.txt
git commit -m "add file"

然後我再win10下使用git bash進行clone,如下:(第一次會要求輸入用戶名和密碼,之前設置的都爲configuser)

成功!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章