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

方式一:第三方源安装(推荐)

yum install -y epel-release

yum install -y wget

wget https://centos7.iuscommunity.org/ius-release.rpm

rpm -ivh ius-release.rpm

yum install git216

 这种方式安装的虽然不是最新版,但也是2.16.6版本,足够使用了,而且搭建Git Http Server需要使用到git-core,这种方式会自动帮你安装好,下面的编译安装方式则没有。

方式二:源码编译安装

一、下载安装编译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)

成功!

 

 

 


欢迎关注我的个人公众号“笑笑是一个码农”,第一时间获取最新文章。

您的关注,就是支持我持续写作的最大动力!

还可以免费领取前后端全站学习视频资料呦~

个人微信号,如需添加微信,请备注来源,因为妈妈从小就告诉我不要随便跟陌生人聊天!(嘿嘿~)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值