Documentation for cleverbox-0.3

Cleverbox

The Cleverbox sits on top of Trac and Subversion. It provides an interactive shell for deploying and maintaining instances of both projects.

Features

  • Apache configuration templates
  • trac.ini configuration templates
  • Easy to setup
  • Easy to use

Prerequisites

  • python-2.4+
  • apache-2.0+
  • mod_python-3.0+
  • trac-0.10+
  • subversion-1.2+

Installation

All operations should be performed as root.

  • Download sources :
    svn export http://lab.clever-age.net/svn/lab/cleverbox/tags/0.3
    
  • Install sources :
    python setup.py install
    
  • Create the directory that will hold apache configuration and cleverobx preferences :
    mkdir /etc/cleverbox
    
  • Initialize environment :
    cleverbox-admin /etc/cleverbox initenv
    

Provide informations required by script, follow its instructions regarding apache configuration.

Basic usage

The Cleverbox implements a "client has many projects" model. You must therefore create at least one client prior to creating a new project.

Full documentation of available commands can be obtained with the command :

cleverbox-admin /etc/cleverbox help

Console launch

cleverbox-admin /etc/cleverbox

Client creation

If client already exists, you can skip this step.

client add <client_name>

When asked about enabling the client, answer "y"

Project creation

project add <client_name> <project_name>
  • When asked about the project admin, enter your login
  • When asked about enabling the project, answer "y"

Don't forget to reload Apache.

Advanced usage

Customising Apache configuration templates for your needs

When creating a new project, the cleverbox will look for Apache configuration templates in directory referenced by assets_dir configuration directive.

Provided defaults work out of the box, but you may want to use custom configuration templates. You just have to change the value of assets_dir configuration directive and the Cleverbox will look for configuration templates in this new directory.

The available configuration templates are apache.conf.single or apache.conf.multi (depending on the value of vhost_mode cleverbox directive).

At project creation, the selected template's variables are subtituted with concrete values :

  • client_name : client's short name
  • project_name : project's short name
  • clients_root : directory holding Subversion and Trac data for each project
  • authbackend_pass : password for hypothetical authentication backend (ldap, etc)
  • trac_install_dir : directory where Trac is installed on the server
  • domain_name : if in "single" vhost_mode, host's domain name

Customising trac-defaults.ini configuration for your needs

This file resides in Cleverbox's assets_dir directory. It holds values that will override standard's trac.ini values.

For instance, you may want The webadmin plugin to be enabled by default in all new project instances. You just have to add these lines to the file :

[components]
webadmin.* = enabled

Defining defaut permission profiles

At project creation, the Cleverbox removes the anonymous permission profile and creates new profiles based on the contents of the permissions.ini file (which resides in assets_dir directory). Example file :

[trac]
authenticated = BROWSER_VIEW CHANGESET_VIEW FILE_VIEW LOG_VIEW MILESTONE_VIEW REPORT_SQL_VIEW REPORT_VIEW ROADMAP_VIEW SEARCH_VIEW TICKET_CREATE TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW WIKI_CREATE WIKI_MODIFY WIKI_VIEW
privileged = TRAC_ADMIN

Roadmap

0.4-beta

  • Integrity checks prior to environment initialisation in ìnitenv task
  • Better unix rights usage
  • Integration of cleverbox-backup.sh script

Changelog

2007-08-07 | trunk

  • removed hardcoded paths in apache configuration templates (backported to 0.3)

2007-08-07 | 0.3-beta

  • [BC BREAK] Implemented overridable trac and apache configuration
  • Wrote better documentation
  • Got read of hardcoded Clever Age stuff
  • Implemented distutils installation
  • Adopted GPLv3
  • Fixed "Iteration over a non-sequence" bug

Maintainer

Tristan Rivoallan (trivoallan AT clever-age DOT com)


Go up : cleverbox/documentation