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)

成功!

 

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