Thursday, March 15, 2007
Having spent over 2 weeks (of nights and weekends work) to get subversion to work over http prompts me to write this post. I think I will also send this out to the folks at tigris.org because this information does not seem to be readily available. It turns out Subversion 1.4.3 does not work with Apache 2.2.4 and apr 1.2.8 on CentOS 4.4. I wanted to use the latest versions of all the components so I got Apache 2.2.4, apr 1.2.8, apr-util 1.2.8, BerkeleyDB 4.5 and Subversion 1.4.3 and installed them. Everything was working except when I tried to do a checkout using a http URL to svn. Every time I ran the command to try to checkout using HTTP URL an httpd process would crash with segfault. I spent numerous hours Googling and searching the web but didn't come across any information that said that the versions I was using were not compatible. There were a couple of posts about making sure that both httpd and mod_svn_dav.so were linked to the same APR and APR-UTIL modules but that didn't help at all.
I finally got everything to work fine using the following versions:
I finally got everything to work fine using the following versions:
- Subversion 1.4.3
- Apache 2.0.59
- apr 0.9.13
- apr-util 0.9.13
- BerkeleyDB 4.5
- build and install apr with --prefix=/usr/local/apr (and other options as appropriate)
- build and install BerkeleyDB 4.5 with default config (and other options as appropriate for your situation) it installs in /usr/local/BerkeleyDB.4.5
- build and install apr-util with --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-berkeley-db=/usr/local/BerkeleyDB.4.5/lib (and other options as appropriate for your situation)
- build and install apache with --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-share=most (or as appropriate for your situation - you definitely need mod_dav if you are going to use subversion)
- build and install subversion with --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-apxs=/usr/local/apache2/bin/apxs --with-berkeley-db=/usr/local/BerkeleyDB.4.5 --with-ssl (and other options as appropriate for your situation)
- configure everything as described in great details in the subversion book at http://svnbook.red-bean.com/
Labels: installing subversion, setting up subversion, source code control, subversion, using HTTP URL for subversion, version control