zoukankan      html  css  js  c++  java
  • lighttpd 与 gitweb 搭建服务器

    搭建 Git 仓库服务器

    下载 gitweb

    如果是用 debian 系的 Linux 发行版,可以使用 apt 下载安装可执行的 gitweb

    sudo apt-get install gitweb
    

    如果想要下载源代码编译安装,可以参考 服务器上的-Git-GitWeb 上的内容。

    配置 gitweb

    用 apt 下载好 gitweb 后,相应的 cgi 文件是放在 /usr/share/gitweb/ 目录下,分别有 gitweb.cgi、index.cgi 文件和 static 文件夹,index.cgi 是连接到 gitweb.cgi 的软链接,而这个 cgi 文件是用 perl 写的。

    另外,gitweb 的配置文件是 /etc/gitweb.conf,可以做一些修改:

    # path to git projects (<project>.git)
    $projectroot = "/path/to/project";
    
    # enable history of each file
    $feature{'blame'}{'default'} = [1];
    

    这样就可以在网页中查看每个文件的版本历史了。

    /usr/share/gitweb 中的文件拷到 /var/html/gitweb

    sudo cp -Rf /usr/share/gitweb /var/www/
    

    接下来配置服务器就可以通过网页查看仓库的版本历史和信息。一般而言,只需要服务器支持 cgi 就可以实现我们的目标。

    下载 lighttpd

    类似的,用 apt 即可下载安装 lighttpd。

    sudo apt-get install lighttpd
    

    配置文件位于 /etc/lighttpd/lighttpd.conf, 由于需要用到 cgi 程序配合服务器进行响应,需要加载 lighttpd 的 cgi 模块,在配置文件中加入:

    server.modules += ( "mod_cgi" )
    

    或者在终端中输入以下命令:

    $ lighty-enable-mod cgi
    

    配置 lighttpd

    配置 lighttpd,需要修改 document-root,将路径指向 gitweb:

    server.document-root = "/var/html/gitweb"
    

    默认的 index-file.names 只有 “index.php”,“index.html”,“index.lighttpd.html”,添加一个 “index.cgi” 或者 “gitweb.cgi”

    注意这里添加完之后访问服务器并不能看到任何东西,而且我使用 chrome 访问的时候还会自动下载 index.cgi 脚本。
    原因是服务器并没有执行 cgi 脚本,而是简单的将这个脚本当作文件发送到浏览器上。

    之前说过,gitweb.cgi 是用 perl 写的,需要用 perl 执行,在 lighttpd 的配置文件里加上 :

    cgi.assing =  ( ".cgi" => "/usr/bin/perl")
    

    还需要做对 lighttpd 的配置文件做一点修改:

    server.modules += ( "mod_rewrite" )
    url.rewrite = (
      "^/static/(.*)$" => "/static/$1",
      "^(.*)$"    => "/gitweb.cgi$1"
    )
    

    大功告成

    现在可以看到 Projects 的信息了:

    这样所有程序都可以正常运行。

    如果显示找不到项目,

    有几种可能:

    1. /etc/gitweb.conf 里面的项目路径不对。
    2. /etc/gitweb.conf 的项目路径是对的,但是 lighttpd 是以 www-data 用户身法运行,而 www-data 没有权限读取项目信息或仓库文件中的一些文件没有执行权限

    References

    1. https://git-scm.com/book/zh/v2/服务器上的-Git-GitWeb
    2. http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_Configuration
    3. gitweb安装及lighttpd配置
    本博客由 BriFuture 原创,并在个人博客(WordPress构建) BriFuture's Blog 上发布。欢迎访问。
    欢迎遵照 CC-BY-NC-SA 协议规定转载,请在正文中标注并保留本人信息。
  • 相关阅读:
    布局页js文件问题
    sqlite如何更改表结构
    css各种样式
    layUI订单实现思路
    layUI使用总结
    easyui点击行内编辑,怎么获取行数据并赋值
    404
    PTA C语言作业
    python一行代码格式化日期
    校园网跨网段共享文件Samba+SSH
  • 原文地址:https://www.cnblogs.com/brifuture/p/8335756.html
Copyright © 2011-2022 走看看