zoukankan      html  css  js  c++  java
  • CentOS搭建GIT服务器【二】-HTTP源码访问及smart http协议

    搭建完git之后,我们希望可以在线看见源码,以及使用http协议上传下载源码。

    安装gitweb、httpd:

    yum install gitweb
    yum install httpd

    gitweb默认安装到了/var/www/git下,其配置文件在/etc/gitweb.conf下,另外,httpd的配置文件/etc/httpd/conf.d/git.conf。安装完可以进去看一眼。

    修改/etc/gitweb.conf,设置项目路径:

    新增一行:

    $projectroot = "/var/www/git" 

    如上配置我们准备把仓库项目通过软连接到/var/www/git下(也有人把这个目录链接到仓库中,然后下面因为还有一些css、js、图片什么的,比较麻烦,这是我们这种方式方便点)

    修改/etc/httpd/conf.d/git.conf(这其实是一个apache的配置文件)

    Alias /git /var/www/git #别名映射,我们的URL就是http://192.168.x.xx/git/,会访问/var/www/git这个目录
    
    <Directory /var/www/git>
      Allow from all
      AllowOverride all
      Order allow,deny
      #open smart http(设置下面的几行变量,就会打开git自带的smart http协议,可以通过git clone http://192.168.x.xx/git/bxcs.git这种形式操作)
      SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
      SetEnv GIT_HTTP_EXPORT_ALL
      SetEnv GIT_PROJECT_ROOT /var/www/git
      Options +ExecCGI
      AddHandler cgi-script .cgi
      DirectoryIndex gitweb.cgi
      SetEnv GITWEB_CONFIG /etc/gitweb.conf
      Dav On
      RewriteEngine Off
    </Directory>

    重启httpd:

    /etc/init.d/httpd restart

    将项目软连接到apache要访问的目录上去:

    ln -s /home/git/repositories/gxcs.git /var/www/git/

    OK,可以从浏览器访问了了:

    http://192.168.x.xx/git/

    如果要是不能显示,一般是仓库目录权限问题。

    smart http方式操作:

    git clone http://192.168.x.xx/git/bxcs.git

    但是push等操作需要重新配权限,在上面apache配置文件中设置配置文件路径。

    过程中主要参考了如下博文:

    http://blog.chinaunix.net/uid-20940095-id-3447022.html

    http://hi.baidu.com/configuration/item/8e73c1375536c18af5e4ad89

  • 相关阅读:
    Opencv中cvCopy()和cvCloneImage()的区别(转)
    什么是DC?
    UpdateDate()函数的作用
    宏定义函数指针类型【转】
    将openCV中的IplImage格式的图片显示到Picture控件上
    C程序调用shell脚本共有三种方法
    memset ,memcpy ,memmove,strcpy 的根本区别 与实现
    sizeof strlen length()
    itoa 实现
    string 与 char * 转换
  • 原文地址:https://www.cnblogs.com/radio/p/3780010.html
Copyright © 2011-2022 走看看