Gitweb 安装与配置

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,如下:

1
2
3
4
5
6
7
8
9
10
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指定的代码库根目录下:

1
2
3
4
假设已经存在了一个版本库 /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

原文地址:https://www.cnblogs.com/navysummer/p/7818462.html