Trac Installation

From Schmid.wiki
Jump to: navigation, search

Contents

Gentoo Installation

Edit /etc/portage/package.use, e.g.:

www-apps/trac mysql sqlite subversion vhosts

Install:

emerge -av trac

Ubuntu Installation

apt-get install python-mysqldb trac

python-mysqldb enables MySQL support in trac.

Upgrade

apt-get remove trac
easy_install -U trac

Creating Project

I will try to list the steps needed to create a Trac project using

Create Database

mysql -uroot -p
CREATE DATABASE trac_project_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'trac_project_name_user'@'localhost' IDENTIFIED BY 'somepassword';
GRANT ALL ON trac_project_name.* TO trac_project_name_user;

Check that user can log in:

mysql -utrac_project_name_user -psomepassword

Note that 'trac_project_name_user' should be 16 characters or less.

Create Subversion Repository

svnadmin create /var/svn/repository
chown -R apache:apache /var/svn/repository

Create Trac Project

trac-admin /var/lib/trac/project_name initenv
Project Name [My Project]>Project Name
Database connection string [sqlite:db/trac.db]> mysql://trac_project_name_user:somepassword@localhost/trac_project_name
Repository type [svn]>
Path to repository [/path/to/repos]> /var/svn/repository
Templates directory [/usr/share/trac/templates]>

Or the short form:

trac-admin project_name initenv 'Project Name' \
  mysql://trac_project_name_user:somepassword@localhost/trac_project_name \
  svn /var/svn/repository /usr/share/trac/templates/

You can test the project using the built-in webserver:

tracd --port PORT /var/lib/trac/project_name

Serve using Apache

emerge -av mod_python

Enable Python support in /etc/conf.d/apache2:

APACHE2_OPTS="... -D PYTHON"

Add this to your /etc/apache2/vhosts.d/00_default_vhost.conf or where your host is specified:

<Location /projects/myproject>
   SetHandler mod_python
   PythonInterpreter main_interpreter
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnv /var/lib/trac/project_name
   PythonOption TracUriRoot /projects/project_URL
</Location>

If you want to use trac plugins, add:

<Location /projects/myproject>
    ...
    SetEnv PYTHON_EGG_CACHE /var/cache/python-eggs/
</Location>

and create the cache directory:

mkdir /var/cache/python-eggs/
chown apache:apache /var/cache/python-eggs/

and restart apache.

References

Personal tools