Usage
pitweb is currently prepared to run under apache's mod_python. module but is shouldn't be problem to run it as cgi script or anything else. Here will be described how to deploy pitweb under mod_python.
1. Apache configuration
Here is should look configuration for virtual host. All directives should be self explanatory.
<VirtualHost *:80> ServerName pitweb.host.com DocumentRoot "/path/to/directory" <Directory "/path/to/directory"> SetHandler mod_python PythonPath "['/path/to/pitweb'] + sys.path" PythonHandler index PythonDebug On Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
2. mod_python dispatcher
In configuration above is defined that handler is located in index.py file (PythonHandler directive).
from mod_python import apache, util import pitweb def handler(req): parent_dir = '/path/to/dir/with/git/repositories' prj_list = pitweb.ProjectListDir(req, parent_dir) return prj_list.run()
3. Directories with git repositories
Last thing to do is correctly prepare directories with git repositories. Directory (defined in python script above in variable parent_dir) must contain git repositories created with --bare option (git --bare clone ...). Every git repository that also contains pitweb.py configuration file will be listed on pitweb projects page.
Template configuration file pitweb.py can be found in pitweb source. All configuration options are described there.
How is pitweb implemented on this site you can look in html/webgitview.py in source here.
For more information look into source code.