Summary
Source: docs/summary.md
hzforge installs, uninstalls, diagnoses, and repairs HUBzero Forge
services — Subversion, Git, gitExternal, and Trac — as self-contained Apache
drop-ins, independent of the m4 vhost template.
On a HUBzero hub each tool gets a project area under /tools/<name>/…:
| Service | URL space | Apache mechanism |
|---|---|---|
svn |
/tools/<name>/svn |
mod_dav_svn (<Location>) |
git |
/tools/<name>/git/<name> |
git-http-backend (ScriptAliasMatch) |
gitExternal |
/tools/<name>/gitExternal/<name> |
git-http-backend (ScriptAliasMatch) |
trac |
/tools/<name>/{wiki,timeline,browser,ticket,…} |
mod_wsgi (default) or mod_python |
hzforge writes one config file per service at
/etc/httpd/<hub>.conf.d/00-forge-<svc>.conf, picked up by the vhost's existing
IncludeOptional <hub>.conf.d/*.conf — so it never edits the m4-generated vhost
or requires regenerating the vhost.
Commands at a glance
sudo python3 hzforge.py install # all services
sudo python3 hzforge.py install trac # one service (positional)
sudo python3 hzforge.py install svn git trac
sudo python3 hzforge.py uninstall git # stop serving git (data kept)
sudo python3 hzforge.py doctor # diagnose (exit 1 on FAIL)
sudo python3 hzforge.py doctor git # diagnose one service
sudo python3 hzforge.py repair # fix drift
Preview any command with --dry-run; nothing touches the running server until
apachectl configtest passes.
See motivations for why it bypasses the m4 vhost, architecture for how the drop-ins are wired, services for the four services, and usage for the full command reference.