Server Config

Apache2

 * port: www/apache2
 * make: make WITH_BERKELEYDB=db42 WITH_LDAP_MODULES=yes WITH_THREADS=yes

Subversion

 * port: devel/subversion-python
 * make: make -DWITH_MOD_DAV_SVN

Apache2 Subversion config
Basically you can take the following doc as reference:


 * http://svnbook.red-bean.com/en/1.1/svn-book.html#svn-ch-6-sect-4

Make sure you read the most recent version at the time writing (1.1 might be depricated)

The modules on FreeBSD can be found in /usr/local/libexec/apache2


 * ACLs: http://svnbook.red-bean.com/en/1.1/svn-book.html#svn-ch-6-sect-4.4.2

TRAC config
First install mod_python:


 * port: www/mod_python3
 * make: make

After the install you will have a mod_python in /usr/local/libexec/apache2. Load this module in Apache2 according to the output you get during the install of the module.

Now install TRAC:
 * port: www/trac</tt>
 * make: make</tt>, enable both extensions

Next step is to configure mod_python for use with TRAC:
 * http://projects.edgewall.com/trac/wiki/TracModPython

Now create a TRAC project with

$ trac-admin /path/to/trac_project_env initenv

As it can be found at:
 * http://projects.edgewall.com/trac/wiki/TracInstall

To configure Apache2 for multiple TRAC projects check:
 * http://projects.edgewall.com/trac/wiki/TracMultipleProjects

To enable CSS you have to do some more tweaking, by default the CSS directory gets handled by mod_python as well which leads to plain ugly HTML pages. You can change this like this:

<Location /trac> SetHandler none </Location>

Add this to your Apache config and reload the page, it should look much better now.

Most TRAC people recommend to use fsfs</tt> as backend for Subversion instead of bdb</tt>. You might read this document here and decide on your own:
 * http://svn.collab.net/repos/svn/trunk/notes/fsfs

If you decide to do so simply initialize projects like this:

$ svnadmin create --fs-type=fsfs /path/to/svn_project_env

If your svnadmin</tt> hangs on FreeBSD consult the manual and this blog entry.