GitWeb服务器搭建

首先说一下 GitWeb 是什么.
我们本地, 或者服务器, 有一个或者很多个git仓库, 如果想通过浏览器便捷地浏览仓库中的各种信息, 就需要gitweb来完成这个任务.

GitWeb是用Perl语言编写的一个符合CGI协议的脚本程序.
通过它的配置文件 /etc/gitweb.conf 指定一个仓库路径, 它会列出这个路径下的所有目录.如果这个目录是一个git仓库, 就可以点进去查看其中的所有内容.

需要注意的一点是, gitweb 只能指定一个目录作为仓库根目录, 它只浏览这一个目录下的所有仓库. 如果你计算机中的git仓库是放在多个地方的, 你可以通过建立软连接的方式, 将其列在仓库列表目录下.

仓库列表如下图所示 :
gitweb仓库列表
某一个仓库中的内容如下图所示 :
在这里插入图片描述

搭建过程

需要准备的资源:

  1. 一个web服务器. 可以是任意的web服务器, 常见的如nginx, apache, lighthttp等, 此处我们用nginx.
  2. 一个FastCGI程序. 系统中要预装perl解释器, 否则perl脚本无法被FastCGI程序启动

安装过程:

# 1. 安装nginx, 如果已经装了nginx, 就不用再装了
sudo apt-get install nginx
# 2. 安装gitweb
sudo apt-get install gitweb
# 3. 安装fcgiwrap
sudo apt-get install fcgiwrap

接下来就是配置过程:
在nginx中新建一个虚拟主机, 我的所有配置如下:
这其中重点关注cgi配置部分.

server
{
		listen 88;
    server_name gitweb.com 192.168.1.8;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/gitweb.com;
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null; 
    }
    
    location ~ .*\.(cgi)?$ {
            gzip off;
            # Fastcgi socket
            fastcgi_pass unix:/var/run/fcgiwrap.socket;
            # Fastcgi parameters, include the standard ones
            include /www/server/nginx/conf/fastcgi_params;
            # Adjust non standard parameters (SCRIPT_FILENAME)
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    
    access_log  /www/wwwlogs/gitweb.com.log;
    error_log  /www/wwwlogs/gitweb.com.error.log;
}

然后把gitweb程序挪到上面nginx配置好的web根目录下
gitweb默认的安装路径是 /var/www/gitweb, 可以选择将web虚拟主机根目录指定在这里, 也可以将这个目录下的所有文件挪到你指定的web根目录下.
Tips: 更换默认的gitweb样式, 可以采用这个开源库: https://gitee.com/mirrors_kogakure/gitweb-theme.git
gitweb的构成其实非常简单, 它的目录树如下:

/var/www/gitweb$ tree
.
├── gitweb.cgi # perl脚本本身
├── index.cgi -> gitweb.cgi
└── static
    ├── git-favicon.png
    ├── git-logo.png
    ├── gitweb.css  # 替换掉这个css文件即可更改整个gitweb的样式
    └── gitweb.js

下一步就是启动fcgiwrap

rm  /var/run/fcgiwrap.socket # 因为socket文件是一次性的, 所以每次启动前删一遍
sudo fcgiwrap -f -s unix:/var/run/fcgiwrap.socket &  # 将socket启动, 注意必须是unix:/var/run/fcgiwrap.socket这个路径
sudo chmod 777 /var/run/fcgiwrap.socket # 修改它的可读取权限

最后一步就是 修改gitweb的配置文件

# 修改 /etc/gitweb.conf 
$projectroot = "/path/to/repositories/";

总结

其实我们完全可以自己实现一个gitweb程序, 不用perl语言, 用Python, PHP, C++都是可以的, 只要符合CGI协议即可. 事实证明这个工具非常简单实用.

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用 PbootCMS 搭建网站的流程主要包括以下步骤: 1. 环境准备: - 确保服务器环境满足 PbootCMS 的运行要求,如 PHP 版本、数据库等。 - 下载并解压 PbootCMS 的安装包,将文件上传至服务器。 2. 创建数据库: - 在服务器上创建一个新的数据库,用于存储网站的数据。 3. 执行安装程序: - 在浏览器中访问网站根目录下的 `install` 文件夹,进入安装程序。 - 根据安装程序的引导,填写数据库相关信息,如数据库名称、用户名、密码等。 - 完成安装程序的配置,并等待安装完成。 4. 网站配置: - 在浏览器中访问网站根目录下的 `admin` 文件夹,进入后台管理界面。 - 使用安装时设置的管理员账号和密码登录后台。 - 进入系统设置,进行基本网站配置,如网站名称、Logo、首页模板等。 5. 创建模型和栏目: - 根据网站的需求,创建相应的模型和栏目。 - 设置模型的字段和属性,如标题、正文、发布时间等。 - 创建栏目,并设置栏目的名称、URL、模板等。 6. 添加内容: - 进入内容管理界面,添加相应模型下的内容,如文章、图片、产品等。 - 填写内容的相关信息,如标题、正文、图片等。 7. 网站模板: - 根据网站的设计需求,选择或自定义适合的网站模板。 - 将模板文件上传至 PbootCMS 的模板目录,并在后台进行模板的设置和配置。 8. 网站发布: - 检查网站的内容和配置,确保没有错误。 - 在服务器上配置域名绑定和访问权限,确保用户能够正常访问网站。 9. 网站维护: - 定期备份网站数据和文件,以防数据丢失或网站被攻击。 - 更新 PbootCMS 的版本和插件,确保网站的安全性和功能完整性。 以上是使用 PbootCMS 搭建网站的大致流程,具体操作可能会因个人需求和技术要求而略有差异。在实际操作过程中,可以参考 PbootCMS 的官方文档和在线社区,获取更详细的指导和支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__万波__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值