gitweb

可以通过搭建git服务器将代码保存在git服务器上,多个开发者可以从服务器上clone代码,也可以各自维护一份本地代码,在本地更新之后可以提交到git服务器上,提高开发效率。 
    git可以很方便的在服务器上创建一个版本库,然后供各个客户端提交、拉取代码,见git 简单实用; 但是链接中的方式不支持网页的方式查看远程版本库的内容,这样如果想要查看版本库中代码,只能git 拉取到本地再用编辑器打开,非常不方便。因此考虑搭建一个git 的web服务器,支持在web页面上查看代码。 
    gitweb就是支持网页查看git版本库中代码的工具。

搭建Apache

gitweb是基于http服务工作的,因此需要先在服务器上搭建http服务。考虑使用apache。 
具体步骤,见 Apache Http 服务器搭建

搭建gitweb

1. 安装gitweb 
# yum install gitweb

2. 配置gitweb 
(1) 配置 /etc/gitweb.conf 文件: 
在默认的文件末尾添加:

  1. $projectroot = '/home/git/gitweb'; #gitweb展示的那些代码库的根目录

(2) 配置 /etc/httpd/conf.d/git.conf,如下:

    Alias /gitweb /var/www/git
SetEnv GITWEB_CONFIG /etc/gitweb.conf
<Directory /var/www/git>
Options ExecCGI FollowSymLinks SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>

其中, Alias /gitweb /var/www/git 是指示apache服务器在接收到 http://domain-name/gitweb的请求之后,转向 /var/www/git 目录; 
SetEnv GITWEB_CONFIG /etc/gitweb.conf 指示gitweb使用配置文件 /etc/gitweb.conf (就是第一步配置过的,里面指定了版本库的根目录) 
< Directory /var/www/git> 中的部分指示了 /var/www/git 目录(http://domain-name/gitweb 转到的目录)的一些性质。

(3) 添加代码库到gitweb指定的代码库根目录下:

    假设已经存在了一个版本库 /home/git/repos/DataExchange.git,可以拷贝或者软链接:
cp -r /home/git/repos/DataExchange.git /home/git/gitweb/DataExchange

ln -s /home/git/repos/DataExchange.git /home/git/gitweb/DataExchange

(4) 确保 apache用户(在httpd.conf中配置的用户)具有访问 gitweb指定代码库的权限

比如, /home/git/gitweb 属于git用户和git组。可以将apache用户添加到 git组中:

usermod -a -G git apache

Gitweb 安装与配置的更多相关文章

  1. gitweb安装

    gitweb安装: 1. 简介 Gitweb提供了git版本库的图形化web浏览功能.可以到网站http://git.kernel.org/体验下效果,如下图所示. Gitweb界面 它既可以通过配置 ...

  2. 记录Gerrit2.8.4环境迁移、安装、配置以及问题解决

    转载自:https://cloud.tencent.com/developer/article/1010629 说到gerrit,没听说的同学可能会感到比较陌生,那么先来copy一段关于gerrit的 ...

  3. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

  4. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  5. 烂泥:redis3.2.3安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...

  6. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  7. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  8. ZooKeeper安装与配置

    一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3 ...

  9. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...

随机推荐

  1. Android各种获取Context方法

    首先讲一讲这四个函数的区别,后面还有我对context的一些理解区别如下所示: 原文链接http://stackoverflow.com/questions/6854265/getapplicatio ...

  2. grails-domain-id 无生成策略,由程序控制

    一 domain class 中标示 class Menu implements Comparable<Menu>{ String id; String name; } static co ...

  3. 多条件查询(php+mysql) 租房子例子

    <body> <?php //多条件 $tiaojian2= " 2=2 "; $attr2 = ""; //判断区域 if(!empty($ ...

  4. 微信支付:redirect-uri参数错误 的解决办法

    redirect_url参数错误: 报这个错误,说明你的公众号后台授权设置有问题(一般有两处) 一:检查授权目录 答:支付授权目录是网站发起请求的页面所在目录,并且必须是能通过url地址访问的(与真实 ...

  5. PHP redis负载均衡代码

    <?php /** * This is a Redis exntend class * jay.w */ class RedisClient { public static $instance ...

  6. Linux 常见的trouble shooting故障排错

    Linux 常见的trouble shooting故障排错 备份开机所必须运行的程序对一个运维人员来说是非常有必要的.在实际生产环境中,系统和数据基本都是安装在不同的硬盘上面,因为企业最关心的还是数据 ...

  7. dubbo源码之四——服务发布二

    dubbo版本:2.5.4 2. 服务提供者暴露一个服务的详细过程 上图是服务提供者暴露服务的主过程: 首先ServiceConfig类拿到对外提供服务的实际类ref(如:HelloWorldImpl ...

  8. log4j.properties详解与例子

    在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Appender及 ...

  9. Refresh / Updating a form screen in Oracle D2k Forms 6i

    Refresh / Updating a form screen in Oracle D2k Forms 6i ProblemYou want to show number of records pr ...

  10. [HDOJ3308]LCIS(线段树,区间合并)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3308 题意:给定n个数,两个操作: U A B:将位置A的数值改成B Q A B:查询[A,B]内最长 ...