README

April 26, 2013 ยท View on GitHub

---- Caution -----------------------------------------------

Gitweb Lite project is merged into GitPrep project.

https://github.com/yuki-kimoto/gitprep

This project is finished. I don't add new features.


Gitweb Lite

gitweb.cgi clone. Serve git repository.

Features

This is gitweb.cgi clone, and has the following features.

  • gitweb.cgi default features.
  • Written by Perl and Mojolicious web framework.
  • Prerequisite is Perl 5.8.7+.
  • Having HTTP server. You can run gitweblite, even if "apache" is not installed.
  • Multiple project homes.
  • Zero configuration.
  • Default encoding is UTF-8, you can change this.
  • don't work on Windows.

Operation

Start

  ./gitweblite

Application start in back ground. Port is 10010.
You can access the following URL.
  
  http://localhost:10010

If you change port, edit gitweblite.conf.

Stop

  ./gitweblite --stop

You can stop application by --stop option.

Description

by default, /home and /git/pub directory is searched recursively. if xxx.git directory is found and it is git repository, the repository display on top page.

Config

You can set config in gitweblite.conf. Config is written by JSON (// is comment line). Create your config file copied from gitweblite.conf.example

cp gitweblite.conf.example gitweblite.conf

These is available options.

encoding

  Text encoding.
  
  Default:
  
    "encoding" : "UTF-8"

git_bin

  git command (/usr/local/bin/git etc)
  
  Default:
  
    git command is automatically detected by PATH environment variable

hypnotoad

  Server configuration.

  Default:
  
    "hypnotoad" : {
      "listen" : ["http://*:10010"]
    }

logo_link

  Logo link URL
  
  Default:
  
  "logo_link" : "https://github.com/yuki-kimoto/gitweblite"

prevent_xss

  Prevent XSS atack.
  
  Default:
  
    "prevent_xss" : 0

search_dirs
    
  Git repository searching directories.
  
  Default:
  
    "search_dirs" : ["/git/pub", "/home"]

search_max_depth

  Searching directory max depth.
  
  Default:
  
    "search_max_depth" : 10

text_ext

  Text file extention. If "encoding" is not "UTF-8", generally text file
  is assumed as binary file. If "text_ext" is set, the file having the extention
  assumed as text file.

  Default:
  
    "text_exts" : ["txt"]

Logo and favicon

You can use your logo and favicon. Set logo or favicon image file into the following name.

user/public/git-logo.png
user/public/git-favicon.png

Reverse proxy

You can use gitweblite with reverse proxy such as apache/mod_proxy.

Apache/mod_proxy

<VirtualHost *:80>
  ServerName perlcodesample.com
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>
  ProxyRequests Off
  ProxyPreserveHost On

  ProxyPass /gitweblite http://localhost:10010/gitweblite keepalive=On
  ProxyPassReverse /gitweblite http://localhost:10010/gitweblite

  RequestHeader set X-Forwarded-HTTPS "0"
</VirtualHost>

COPYRIGHT & LICENSE

Copyright 2009-2012 Yuki Kimoto, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.