centos 6.6 搭建gitweb和cgit
初始的搭建你可以使用 yum或者rpm的方式搭建,这里不再说明了,我简要说说如何将创建的
的仓库和gitweb关联起来;
本文描述了通过两种web方式查看git的方式,gitweb和cgit
第一节gitweb的搭建和配置
第一步:安装gitweb ,你可以配置163的yum源(配制方法163上有说明)
$ yum install gitweb -y
第二步:配置gitweb
这里有两个配置文件,gitweb的配置文件和Apache服务器(httpd)和git的配置文件;
gitweb默认安装到了/var/www/git下,其配置文件在/etc/gitweb.conf下,
另外,httpd的配置文件/etc/httpd/conf.d/git.conf。
(1)修改/etc/gitweb.conf
--------------------------------------------------
$ vim /etc/gitweb.conf
=============================================================================
our $projectroot = "/var/www/git"; //放开,默认是注释的,
our @git_base_url_list = qw(git://192.168.1.100
ssh://192.168.1.100/kernel/); //同上,去掉"#"
=============================================================================
编辑以上文件制定git工程的存放路径,和访问git的链接
(2)修改/etc/httpd/conf.d/git.conf
--======================================================
Allow from all
AllowOverride all
Order allow,deny
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
SetEnv GITWEB_CONFIG /etc/gitweb.conf
Dav On
RewriteEngine Off
=========================================================
或者可以不添加任何东西
(3)重启httpd (Apache)
$ /etc/init.d/httpd restart
(4)将gitosis仓库连接到/var/www/git下,完成web显示
ln -s /home/git/repositories/test_repo.git /var/www/git/
(5)通过浏览器浏览
http://serverIP/git/
#3. 创建新的git repository
在git server的/home/git/repository目录下,执行如下命令:
mkdir test.git
cd test.git
git init --bare
//可以在这里添加源文件,也可以在client端clone之后添加
===--==以上这种方式已经可以为我们提供比较直观的通过浏览器查看代码的
途径,但是gitweb始终看起来有点low,不够高端大气。下面看看如何用cgit来
以web方式向我们展示代码,看上去更悦目一些;
第二节@@ cgit的搭建和配置
如果使用的是Fedora 系统直接使用yum 安装,命令如下
yum install cgit -y
如果显示找不到安装源可以在fedora的koji上去下载rpm包安装,
koji链接为 http://koji.fedoraproject.org/koji/ 搜索 cgit下载一个和你系统匹配的安装包;
我使用的centos6.6 (cat /etc/issue 查看系统版本):
rpm -ivh cgit-0.10.2-3.el6.x86_64.rpm //如果安装过程需要依赖包请安装依赖
安装完成之后有几个配置文件需要注意:
<1> /etc/httpd/conf.d/cgit.conf //对web服务器的配置
<2> /etc/cgitrc //cgit web服务和git的关联配置
因为我使用的web服务器为 Apache ,所以我这里贴出来配置文件.
vim /etc/httpd/conf.d/cgit.conf
======================================================
#
# cgit configuration for apache
#
ScriptAlias /cgit /var/www/cgi-bin/cgit
Alias /cgit-data /usr/share/cgit/
#在此文件中添加如内容
<Directory "/usr/share/cgit/">
AllowOverride None
Options None
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
</IfModule>
</Directory>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options ExecCGI FollowSymlinks
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
</IfModule>
</Directory>
======================================================
如果你使用web服务器不是 Apache而是Lighttpd/Nginx/uwsgi 可以参考wiki上cgit安装部分的说明:
https://wiki.archlinux.org/index.php/Cgit
大多数情况下我们使用Apache的比较多,如果你不太明白web服务器这块的内容可以在网络上
搜索Apache服务器在linux的配置等文档熟悉这部分的内容;
到这一步,已经完成了cgit和web服务器Apache(服务名为httpd)之间的关联,重启Apache服务器
$service httpd restart
打开浏览器在链接栏里输入 serverip/cgit 比如:http://192.168.100/cgit ,正常情况下出现深红色
的git图标(是不是有点小小的激动),接下来将cgit和git服务器关联起来;
<2>在配置文件中指定和git相关的参数,在文件的最后添加这三条参数,指定名称、路径、和描述,当然
还可以指定其他的信息,如果你需要的话可以酌情添加 “域名信息”或者其他“说明"
$ vim /etc/cgitrc
===============================================
#we should modify 名称-路径-描述-域名-说明
repo.url=cs2c-358
repo.path=/kernel/cs2c-kernel-2.6.32-358/.git
repo.desc=the master foo repository
===============================================
实际上,真正与 Git 服务有关的只有最后三行,这三行给出了 Git 仓库的位置、名称以及扼要的描述。
更多的 Git 仓库,均可按该格式添加至 cgit 的配置文件。
现在在网页浏览器的地址栏再次输入 http://serverIP/cgit 测试一下,看看能不能访问到 Git 仓库信息。
初始的搭建你可以使用 yum或者rpm的方式搭建,这里不再说明了,我简要说说如何将创建的
的仓库和gitweb关联起来;
本文描述了通过两种web方式查看git的方式,gitweb和cgit
第一节gitweb的搭建和配置
第一步:安装gitweb ,你可以配置163的yum源(配制方法163上有说明)
$ yum install gitweb -y
第二步:配置gitweb
这里有两个配置文件,gitweb的配置文件和Apache服务器(httpd)和git的配置文件;
gitweb默认安装到了/var/www/git下,其配置文件在/etc/gitweb.conf下,
另外,httpd的配置文件/etc/httpd/conf.d/git.conf。
(1)修改/etc/gitweb.conf
--------------------------------------------------
$ vim /etc/gitweb.conf
=============================================================================
our $projectroot = "/var/www/git"; //放开,默认是注释的,
our @git_base_url_list = qw(git://192.168.1.100
ssh://192.168.1.100/kernel/); //同上,去掉"#"
=============================================================================
编辑以上文件制定git工程的存放路径,和访问git的链接
(2)修改/etc/httpd/conf.d/git.conf
--======================================================
Allow from all
AllowOverride all
Order allow,deny
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
SetEnv GITWEB_CONFIG /etc/gitweb.conf
Dav On
RewriteEngine Off
=========================================================
或者可以不添加任何东西
(3)重启httpd (Apache)
$ /etc/init.d/httpd restart
(4)将gitosis仓库连接到/var/www/git下,完成web显示
ln -s /home/git/repositories/test_repo.git /var/www/git/
(5)通过浏览器浏览
http://serverIP/git/
#3. 创建新的git repository
在git server的/home/git/repository目录下,执行如下命令:
mkdir test.git
cd test.git
git init --bare
//可以在这里添加源文件,也可以在client端clone之后添加
===--==以上这种方式已经可以为我们提供比较直观的通过浏览器查看代码的
途径,但是gitweb始终看起来有点low,不够高端大气。下面看看如何用cgit来
以web方式向我们展示代码,看上去更悦目一些;
第二节@@ cgit的搭建和配置
如果使用的是Fedora 系统直接使用yum 安装,命令如下
yum install cgit -y
如果显示找不到安装源可以在fedora的koji上去下载rpm包安装,
koji链接为 http://koji.fedoraproject.org/koji/ 搜索 cgit下载一个和你系统匹配的安装包;
我使用的centos6.6 (cat /etc/issue 查看系统版本):
rpm -ivh cgit-0.10.2-3.el6.x86_64.rpm //如果安装过程需要依赖包请安装依赖
安装完成之后有几个配置文件需要注意:
<1> /etc/httpd/conf.d/cgit.conf //对web服务器的配置
<2> /etc/cgitrc //cgit web服务和git的关联配置
因为我使用的web服务器为 Apache ,所以我这里贴出来配置文件.
vim /etc/httpd/conf.d/cgit.conf
======================================================
#
# cgit configuration for apache
#
ScriptAlias /cgit /var/www/cgi-bin/cgit
Alias /cgit-data /usr/share/cgit/
#在此文件中添加如内容
<Directory "/usr/share/cgit/">
AllowOverride None
Options None
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
</IfModule>
</Directory>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options ExecCGI FollowSymlinks
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
</IfModule>
</Directory>
======================================================
如果你使用web服务器不是 Apache而是Lighttpd/Nginx/uwsgi 可以参考wiki上cgit安装部分的说明:
https://wiki.archlinux.org/index.php/Cgit
大多数情况下我们使用Apache的比较多,如果你不太明白web服务器这块的内容可以在网络上
搜索Apache服务器在linux的配置等文档熟悉这部分的内容;
到这一步,已经完成了cgit和web服务器Apache(服务名为httpd)之间的关联,重启Apache服务器
$service httpd restart
打开浏览器在链接栏里输入 serverip/cgit 比如:http://192.168.100/cgit ,正常情况下出现深红色
的git图标(是不是有点小小的激动),接下来将cgit和git服务器关联起来;
<2>在配置文件中指定和git相关的参数,在文件的最后添加这三条参数,指定名称、路径、和描述,当然
还可以指定其他的信息,如果你需要的话可以酌情添加 “域名信息”或者其他“说明"
$ vim /etc/cgitrc
===============================================
#we should modify 名称-路径-描述-域名-说明
repo.url=cs2c-358
repo.path=/kernel/cs2c-kernel-2.6.32-358/.git
repo.desc=the master foo repository
===============================================
实际上,真正与 Git 服务有关的只有最后三行,这三行给出了 Git 仓库的位置、名称以及扼要的描述。
更多的 Git 仓库,均可按该格式添加至 cgit 的配置文件。
现在在网页浏览器的地址栏再次输入 http://serverIP/cgit 测试一下,看看能不能访问到 Git 仓库信息。