搭建完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