zoukankan      html  css  js  c++  java
  • 再谈git的http服务

      因为git服务器搬迁,需要重新安装git服务器,在网搜索了下,发现之前的方法太复杂,复杂到自己都没彻底弄明白。其实通过git自带的git-http-backend脚本配合apache2的http服务可以更简单的做到。原文请参见:

    搭建Git Http服务器git-http-backendGit Over HTTP(git-http-backend)

      主要做法就是配置apache,启用git-http-backend脚本、指明git仓库所在路径、启用用户密码验证。几个步骤如下:

    一、准备步骤:

    1、找到git安装目录:操作系统是他人安装,git的安装路径只需要先弄清楚。centos的7查找软件安装目录命令如下,路径是/usr/libexec/git-core/git-http-backend:

    rpm -ql git | grep git-http-backend

    2、找到apache2的配置文件:同样的,系统是别人装的,apache2使用的名字是httpd(不叫apache2),相应的路径在/etc/httpd,包括服务名都是httpd。配置文件可以放在/etc/httpd/conf.d/下,取名为git.conf。不习惯。

    3、生成用户鉴权文件,保持原来的不变,文件名git.passwd。使用htpasswd命令生成。

    二、apache配置:

      新建git.conf,内容如下,其中/home/repositories是git仓库的根目录,可放多个项目,所有者必须是apache用户。%repo%将是客户端的访问url前缀

    SetEnv GIT_PROJECT_ROOT /home/repositories
    SetEnv GIT_HTTP_EXPORT_ALL
    ScriptAlias /%repo%/ /usr/libexec/git-core/git-http-backend/
    
    <Location /%repo%/>
        AuthType Basic  
        AuthName "Git Access"  
        AuthUserFile /etc/httpd/conf.d/git.passwd
        Require valid-user  
    </Location>

    三、验证:

    1、httpd服务启停

    systemctl restart httpd.service

    2、生成服务器空test项目

    mkdir test
    cd test
    git init --bare

    3、客户端验证脚本

    git clone http://host/%repo%/test
    cd test
    touch test.txt
    git add .
    git commit -m "first"
    git push origin master
  • 相关阅读:
    习题1
    实验3阅读下面程序、分析说明运行结果,并上机验证。
    实验2利用循环计算n个圆柱体体积。
    实验1编写求圆面积的程序,要求当输入的半径r<=0时,提示输入错误,要求r为浮点型,r的数值是动态的由键盘输入;
    例7-12
    例 7-11
    例7-9
    例7-8
    例7-7
    例7-6
  • 原文地址:https://www.cnblogs.com/badwood316/p/6398616.html
Copyright © 2011-2022 走看看