Stumbling through installs of Subversion, Apache and Trac

After finally getting so many tools on my servers upgraded, I began using trac and subversion together (after sweat and tears of installing them from source on ubuntu - more to come on this later). I'm using trac 0.9.6 which you could install easily on ubuntu with a simple:

apt-get install subversion
apt-get install trac

I needed a rails project planner

I should say that my reasons for doing this was so that I could more easily manage several ruby on rails apps I am planning and working on. Subversion and a textfile todo list just don't cut it these days for some projects, especially cooperative ones.

Dependencies can cause headaches..

Of course, my situation was more complicated as I had decided to install apache 2.2 with load balancing (mod_proxy_balance) and mongrel clusters for the actual proxy load balance. This of course translated into ubuntu no longer supporting me. Since I installed apache from source (apache 2.2 is unsupported by ubuntu), the subversion modules from the previous version stopped working. This meant I then had to install subversion from source (I got version 1.3.2 out of the deal so that ain't such a bad wrap!). Then of course, I had to install trac from source. Installing off three of these source wasn't actually all that easy, since I had to get the libraries for the more recent versions, install swig, recompile several things with various flags and all that jazz... Three asprin later, the real kicker at the end of it all was that I had to setup my PYTHONPATH for subversion which was all handled nicely back in the days when I had been able to do a simple apt-get. Needless to say it's all setup now.

Apache configuration

./configure --with-mysql=/usr/local/mysql \
--with-pgsql=/usr/local/pgsql \
--enable-track-vars \
--enable-bcmath \
--enable-ftp \
--with-gd \
--enable-gd-native-tt \
--with-freetype-dir \
--with-png-dir \
--with-jpeg-dir \
--with-dom=/usr/local \
--with-zlib-dir \
--enable-trans-sid \
--with-mcrypt=/usr/local \
 --with-mhash=/usr/ \
--with-curl=/usr \
--with-openssl=/usr \
--prefix=/usr/local/php5-fcgi \
--enable-fastcgi \
--enable-force-cgi-redirect \
--disable-cli \
--enable-memory-limit \
--with-layout=GNU \
--with-regex=php \
--with-xpm-dir=/usr/X11R6\
 --with-apxs2=/usr/local/apache2/bin/apxs \
 --enable-so

Just so you know, that last line is very important.

Subversion configuration

export PYTHONPATH="/usr/local/lib/svn-python/"
./configure --with-python --with-apxs=/usr/local/apache2/bin/apxs --with-swig