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.
[edit] Install Apache
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.
[edit] Install Subversion
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
[edit] Install MySQL
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