[[PageOutline(2-5,Contents,pullout)]] = Admin Toolkit - scripts for managing multiple Trac environments {{{#!box info **Notice:** An early release candidate of the Admin Toolkit 0.6rc1 is available. The documentation is out of date and the Apache configuration has changed. Use at your own risk! }}} == Description The Admin Toolkit is a collection of Python scripts that facilitate the management of new and existing Trac projects on a single server, including support for Apache (.htpasswd file), Trac and Subversion (via !WebDav) and database backends, currently only Postgresql. The scripts have been developed for Linux. 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 == Bugs/Feature Requests Existing bugs and feature requests for AdminToolkitScript are [report:9?COMPONENT=AdminToolkitScript here]. If you have any issues, create a [/newticket?component=AdminToolkitScript new ticket]. [[TicketQuery(component=AdminToolkitScript&group=type,format=progress)]] == Download Download the zipped source from [export:admintoolkitscript here]. == Source You can check out AdminToolkitScript from [/svn/admintoolkitscript here] using Subversion, or [source:admintoolkitscript browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. == 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: {{{#!sh svn co http://localhost/repos//trunk }}} And Trac projects are accessed via: {{{#!sh http://localhost/trac/ }}} Two Apache configuration files are therefore needed and are included in the Admin Toolkit: * subversion.conf {{{#!apache DAV svn SVNParentPath /srv/svn # Limit write permission to list of valid users. # Require SSL connection for password protection. # SSLRequireSSL AuthType Basic AuthName "somename" AuthUserFile /srv/.htpasswd Require valid-user }}} * trac.conf {{{#!apache SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /srv/trac PythonOption TracUriRoot /trac AuthType Basic AuthName "somename" AuthUserFile /srv/.htpasswd Require valid-user }}} '''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: {{{#!sh /srv/.htpasswd }}} This file is also managed by the Admin Toolkit. == Example To create a new Trac environment, run: {{{#!sh trac-admin-mkproject }}} And you will be prompted to answer a few questions. To delete the project, run: {{{#!sh trac-admin-rmproject }}} == Recent Changes [[ChangeLog(admintoolkitscript, 3)]] == Author/Contributors '''Author:''' [wiki:stodge] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''