Contents |
Edit /etc/portage/package.use, e.g.:
www-apps/trac mysql sqlite subversion vhosts
Install:
emerge -av trac
apt-get install python-mysqldb trac
python-mysqldb enables MySQL support in trac.
apt-get remove trac easy_install -U trac
I will try to list the steps needed to create a Trac project using
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.
svnadmin create /var/svn/repository chown -R apache:apache /var/svn/repository
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
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.