安装nginx和gitweb
sudo apt-get install nginx gitweb
将Gitweb安装目录链接到web主目录下
sudo ln -s /usr/share/gitweb/ /var/www/
安装spawn-fcgi和fastcgi-wrapper
#安装 spawn-fcgi
sudo apt-get install spawn-fcgi
#安装fastcgi-wrapper
git clone https://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
make
make install
#启动fastcgi-wrapper
sudo spawn-fcgi -f /usr/local/sbin/fcgiwrap -p 9000
修改gitweb.conf
gitweb.cgi 脚本中有这样一句话: /etc/gitweb.conf,很显然,它会读取 /etc/gitweb.conf 文件来获取配置信息。因此,我们需要在 /etc 下新建一个文件 gitweb.conf。
vi /etc/gitweb.conf
# path to git projects (<project>.git)
$projectroot = "/home/git/repositories/";
# file with project list; by default, simply scan the projectroot dir.
$projects_list = "/home/git/projects.list";
$feature {'blame'}{'default'} = [1];
$feature {'blame'}{'override'} = 1;
$feature {'snapshot'}{'default'} = ['zip', 'tgz'];
$feature {'snapshot'}{'override'} = 1;
$feature{'highlight'}{'default'} = [1];
nginx.conf
server {
listen 80;
server_name 192.168.0.190;
#静态文件目录
location ~* ^.+\.(css|js|png|jpg|jpeg)$ {
root /var/www;
access_log off;
expires 24h;
}
location ~ ^/gitweb/.*\.cgi$ {
root /var/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.cgi;
include fastcgi.conf;
}
}