'gitweb' setup without root access  

Setting up gitweb on a machine with no root access:

First, set up lighttpd:
Download from http://www.lighttpd.net/download
$ mkdir -p ~/usr
$ tar -xvf lighttpd-*; cd !$;
$ ./configure --prefix /home/<you>/usr
$ make
$ make install ## lighttpd is now at ~/usr/sbin/
- Now, if all is well, you should be able to run git instaweb in your local git repository.
- If you see a message like base-docroot not found at /PATH/TO/SOME/WHERE, then it probably did not find that directory.
To resolve this, you can do one of two things:
1. Find the directory named gitweb/ that contains index.cgi, gitweb.cgi and static/ and run

$ git config --get instaweb.gitwebdir "/PATH/TO/gitweb/" (I figured this from /usr/bin/git-instaweb)

 2. Emulate a local install
$ mkdir -p ~/www/static
$ git config --get instaweb.gitwebdir "/home//www"
$ scp ssh://my-ubuntu-machine-with-sudo-access:/usr/share/gitweb/* ~/www/
$ scp ssh://my-ubuntu-machine-with-sudo-access:/usr/share/gitweb/static/* ~/www/static
$ cd git-repo; git instaweb;
 - If it instead start and you then see an error like: 404 Not found, the folder exists but
 - the index.cgi file is not found, simply do step 2 above.
 

Setting up highlight (on a machine with no root access):

$ tar -xvf hightlight*; cd !$;</div>
$ make</div>
$ edit 'makefile'
# Destination directory for installation (intended for packagers)
DESTDIR =
# Root directory for final installation
PREFIX = /home/csgrads/scharan/usr # or something appropriate.
$ make install
$ PATH=$PATH:~/usr/bin/:
$ make linux
$ Edit makefile to point INSTALL_TOP to ~/usr/local
  • Edit ~/www/gitweb.cgi: enable highlight feature (you gotta grep for it).