• git配置httpd服务-web_dav模式


    1,搭建httpd应用

    2,修改httpd.conf文件

      注释 DocumentRoot "/data/httpd/htdocs"

      注释 <Directory "/data/httpd/htdocs"></Directory>
      结尾添加 Include /etc/httpd/conf.d/git.conf #引入git配置文件

      开放注释
        LoadModule dav_fs_module modules/mod_dav_fs.so
        LoadModule dav_module modules/mod_dav.so

    3,新建git.conf文件,配置为虚拟主机

    <VirtualHost *:8081>
    #---------------git permission--------------------
    ServerName git.home.com
    DocumentRoot /data/git

    DavLockDB "/app/httpd2.4.2/var/DavLock"    #var这个目录需要新建并且修改权限,DavLock文件自动生成

    <Directory /data/git/ >
      Dav On
      Deny from all
      AuthType Basic
      AuthName "plm git repository"
      AuthUserFile /etc/httpd/conf.d/passwd
      AuthGroupFile /etc/httpd/conf.d/group
      Require valid-user
    </Directory>


    <Directory "/data/git/spider.git/" >
      Allow from all
      Order allow,deny
    <Limit GET>
      Require group readgroup
    </Limit>
    <Limit GET PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
      Require group writegroup
    </Limit>
    </Directory>


    <Directory "/data/git/parent.git/" >
      Allow from all
      Order allow,deny
    <Limit GET>
      Require group readgroup
    </Limit>
    <Limit GET PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
      Require group writegroup
    </Limit>
    </Directory>

    </VirtualHost>

    4,新建group与passwd文件

    group内容  

      readgroup: jack tom

    writegroup: jack tom

    passwd内容,密码使用htpasswd命令生成
      jack:$apr1$pEy4YuAu$KORJuHCgVB2dvA8e2aaPA0
      tom:$apr1$JpJBe660$P3lW.G5IC0zAiY/mqX4hK1

    5,新建git仓库

    $ mkdir myproject.git
    $ cd myproject.git
    $ git init --bare
    这里需要注意--bare参数,表示是要生成一个"干净"的仓库,仅包含历史代码不包含工作代码。如果是希望初始化一个已存在的代码库,也可以类似如下命令替换最后一行git命令:

    这样完成了一个仓库的初始化,但要客户端可以使用还缺少了一步——配置钩子(hook),执行下面命令:

    $ cd myproject.git
    $ mv hooks/post-update.sample hooks/post-update
    $ chmod a+x hooks/post-update
    $ ./hooks/post-update # 刚刚初始化完成必须手工执行一次
    这样Git会在每次有update之后(post update)执行这个钩子(其实际是执行了命令:git update-server-info,可以通过vi hooks/post-update查看)

    6,部署完成:如果不能正常pull与push,一般都是文件权限问题,请仔细查看httpd日志进行排查

      

      

  • 相关阅读:
    Codeforces Global Round 2
    BZOJ4762 最小集合(动态规划+容斥原理)
    BZOJ4621 Tc605(动态规划)
    Luogu5289 十二省联考2019皮配(动态规划)
    Luogu5290 十二省联考2019春节十二响(贪心+启发式合并)
    Luogu5283 十二省联考2019异或粽子(trie/可持久化trie+堆)
    Luogu5284 十二省联考2019字符串问题(后缀数组+拓扑排序+线段树/主席树/KDTree)
    【转】Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask
    android Handler更新UI
    Android 四大组件之Activity生命周期
  • 原文地址:https://www.cnblogs.com/melodyf/p/5503339.html
Copyright © 2020-2023  润新知