Version 5 (modified by 15 years ago) (diff) | ,
---|
Admin Toolkit - scripts for managing multiple Trac environments
Description
The Admin Toolkit is a collection of Python scripts (developed specifically for Linux) that facilitate the management of new and existing Trac projects on a single server, including support for Apache (.htpasswd file), Trac & Subversion (via WebDav) and database backends (currently only Postgresql).
The scripts make it easy to manage multiple Trac environments on a single server. Authentication is supported using a single .htpasswd file - one .htpasswd file is maintained for all projects but support for per-project authentication is in development.
Creating a new Trac environment, Postgresql database and Subversion repository is as simple as typing "trac-admin-mkproject", hitting return and answering a few questions.
The current list of scripts is:
- trac-admin-init - prepare the disk for a new development environment
- trac-admin-mkproject - create a Subversion repository, Postgresql database and Trac environment for one project
- trac-admin-rmproject - remove the Subversion repository, Postgresql database and Trac environment for an existing project
- trac-admin-useradd - add a user (currently one user has access to all projects)
- trac-admin-userdel - remove an existing user
- trac-admin-promote - promote a user to administrator on one of more projects
- trac-admin-demote - remove administrator privileges for a user on one of more projects
Configuration
Subversion repositories and Trac environments are assumed to be in /srv/svn and /srv/trac though this is configurable.
Access to Subversion is via:
svn co http://localhost/repos/<project_name>/trunk
And Trac projects are accessed via:
http://localhost/trac/<project_name>
Two Apache configuration files are therefore needed (and are included in the Admin Toolkit):
- subversion.conf
<Location /repos> DAV svn SVNParentPath /srv/svn # Limit write permission to list of valid users. <LimitExcept GET PROPFIND OPTIONS REPORT> # Require SSL connection for password protection. # SSLRequireSSL AuthType Basic AuthName "somename" AuthUserFile /srv/.htpasswd Require valid-user </LimitExcept> </Location>
- trac.conf
<Location /trac> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /srv/trac PythonOption TracUriRoot /trac </Location> <LocationMatch "/.+/"> </LocationMatch> <LocationMatch "/trac/[^/]+/login"> AuthType Basic AuthName "somename" AuthUserFile /srv/.htpasswd Require valid-user </LocationMatch>
Authentication
Authentication is via a single Apache .htpasswd file for all projects; that is, each developer has global access to all projects. A change to the Admin Toolkit that implements per project authentication is in development. The .htpasswd file is located in:
/srv/.htpasswd
This file is also managed by the Admin Toolkit.
Bugs/Feature Requests
Existing bugs and feature requests for AdminToolkitScript are here.
If you have any issues, create a new ticket.
Download
Download the zipped source from [download:admintoolkitscript here].
Source
You can check out AdminToolkitScript from here using Subversion, or browse the source with Trac.
Example
To create a new Trac environment, run:
trac-admin-mkproject
And answer a few questions.
To delete the project, run:
trac-admin-rmproject
Recent Changes
- 11846 by rjollos on 2012-07-31 06:44:42
-
Added code that was attached to the project wiki page.
- 5176 by stodge on 2009-02-02 12:35:59
-
New hack AdminToolkitScript, created by stodge
(more)
Author/Contributors
Author: mstoddart?
Contributors: