= BRICCS Trac system = This is a page for discussing the Trac issue tracking system. == Deployment == Trac is currently deployed on briccs-7, a VM hosted on briccs-1.rcs.le.ac.uk Trac is running on CentOS 5 - which requires python 2.4 for system integrity (yum, among other things, depends upon it). But the latest version of Trac (1.0.1) depends upon python 2.5 or above. EPEL repositories enable the installation of later versions of python, so we have installed python 2.5 but the fun is only beginning. Apache uses mod_wsgi to deliver Trac - and mod_wsgi as a binary package for CentOS uses the default python (in our case, 2.4, which means Trac does not work). To get mod_wsgi to work with the correct version of python, it must be compiled from source code. That is now done. Now it should be possible to migrate the Trac system to the new lcbru-trac.rcs.le.ac.uk site, which is provided from LAMP-51. == Access controls == The current system is configured to require password for all write access preventing external users from editing our wiki pages. However, public viewing of the trac wiki is possible, which means we are able to share things on the wiki with people outside the core BRICCS development team. Based on experience with AstroGrid, the ability to point from people outside the project at pages on our wiki was extremely useful for facilitating discussion and getting advice and ideas from people outside the project. == Password database == The current system uses a simple htacces password file to handle user authentication. Add passwords to the password file (crypt encrypted by default) by: [root@briccs-7 trac]# htpasswd /var/local/briccs/trac/conf/briccs.htpasswd firstname.surname There is a Trac module for storing passwords in a database, which should makes managing user accounts and passwords a lot easier. We should consider whether we need to install this before we issue passwords to the hospital staff. Depends how many people need write access. == Migration == Getting trac to work on lcbru-trac.rcs.le.ac.uk (which is an alias for the public interface of lamp-51, was something of a pain. Partly because we have to use a virtualenv to install python, partly for permission issues. What made the difference in the end was to get the wsgi to run with the same virtualenv as I had used to install trac from the command line, by inserting the following two lines in the /local/trac-deploy/cgi-bin/trac.wsgi : {{{ activate_this = os.path.expanduser("/local/python/virtualenv/bin/activate_this.py") execfile(activate_this, dict(__file__=activate_this)) }}}