= Admin Toolkit - scripts for managing multiple Trac environments = == Update == The Admin Toolkit 0.6 is under heavy development - we're implementing new features, such as support for backups, staging machines, SVN duplication and per-project authorisation. Stay tuned! == 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//trunk }}} And Trac projects are accessed via: {{{ http://localhost/trac/ }}} Two Apache configuration files are therefore needed (and are included in the Admin Toolkit): * subversion.conf {{{ 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 {{{ 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: {{{ /srv/.htpasswd }}} This file is also managed by the Admin Toolkit. == Bugs/Feature Requests == Existing bugs and feature requests for AdminToolkitScript are [report:9?COMPONENT=AdminToolkitScript here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=AdminToolkitScript&owner=stodge new ticket]. == Download == Download the zipped source from [download:admintoolkitscript here]. == Source == You can check out AdminToolkitScript from [http://trac-hacks.org/svn/admintoolkitscript here] using Subversion, or [source:admintoolkitscript 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 == [[ChangeLog(admintoolkitscript, 3)]] == Author/Contributors == '''Author:''' [wiki:mstoddart] [[BR]] '''Contributors:'''