SVN & Whistles
Being tasked with migrating our current SVN repository to a new server, I thought I'd write up a bit of a how-to on the entire process for a FreeBSD 6.2 system, only using the FreeBSD ports tree.
I loosely followed the instructions from ONLamp.com.
The first step in to get Apache 2.2 installed, with the necessary options enabled. SVN uses the Berkeley DB as a backend. The MPM working this was simply copied from the above-mentioned OnLamp article. Do this with the following commands:
cd /usr/ports/www/apache22 make WITH_BERKELEYDB=db42 WITH_MPM=worker install
While it's a different ports, I still consider this a part of Apache. For Trac, we're going to need mod_python. We can do this, again, from the FreeBSD ports tree.
cd /usr/ports/www/mod_python3 make install clean
Note: There exists a mod_python port, in additon to mod_python3. If you're going to use Apache 1.3, use mod_phthon. mod_python3 is required for Apache 2.2.
Once we've got Apache installed, we can move on to installing Subversion. Again, we do this from ports. We must have python support for Trac, and APR/MOD_DAV_SVN for Apache 2.2 support.
cd /usr/ports/devel/subversion make WITH_PYTHON=YES WITH_MOD_DAV_SVN=YES WITH_APACHE2_APR=YES install
In the ONLamp article, they chose to use postgreSQL. Mostly because I have little experience with it, I'm choosing to install with MySQL. You could also use SQLite. Installation is pretty straight-forward:
cd /usr/ports/databases/mysql50-server make install clean