Friday, July 18, 2008

Install Subversion 1.4.6 on SLES 9

This is an example of an installation on SLES 9 x64_86 using fresh Apache 2 and Subversion 1.4.6 sources.

I choose to install all components from the newest sources and into /usr/local. First the apache apr-1.3.3, then the apr-util-1.3.4, then httpd-2.2.9, and finally subversion-1.4.6 as follows:

# obtain apr sources from apache site and unpack
#
$cd [path-to-sources]/apr-1.3.3

$ ./configure --prefix=/usr/local  \
--enable-threads                 \
--enable-other-child

$ make && make install



# obtain apr-util sources from apache site and unpack
#
$cd [path-to-sources]/apr-util-1.3.4

# for the APR-UTIL (here showing the lib64 for 64bits, 
# just use lib for 32bit):
#
$ ./configure --prefix=/usr/local         \
--enable-shared                         \
--with-apr=/usr/local/bin/apr-1-config  \
--with-berkeley-db=/usr/include/db4     \
--with-ldap-lib=/usr/lib64              \
--with-ldap-include=/usr/include        \
--with-ldap=ldap

$ make && make install



Now we are ready for the apache install which will be put
into /opt/apache2:
# obtain sources from apache site and unpack
#

$ cd [path-to-sources]/httpd-2.2.9

# for non ldap building of apache2, see here,
# otherwise see the next configure section below.
#
$ ./configure --prefix=/opt/apache2   \
--enable-mods-shared=all            \
--enable-so                 

$ make && make install

# if you want to build ldap then you will need to add ldap
# flags to the configure and it will look like this:
#
$ ./configure --prefix=/opt/apache2   \
--enable-mods-shared=all            \
--enable-so                         \
--enable-authnz-ldap                \
--enable-ldap

$ make && make install


Finally we will build our Subversion:

# unpack somewhere
#
$ tar xjvf [path-to-taball]/subversion-1.4.6.tar.bz2

$ tar xjvf [path-to-taball]/subversion-deps-1.4.6.tar.bz2

$ cd [path-to-sources]/subversion-1.4.6

# Now we can build Subversion 1.4.6 and use
# the prebuilt dependencies in /usr/local.
#
$ ./configure --prefix=/usr/local   \
--with-apxs=/opt/apache2/bin/apxs

$ make && make install

# Finally you need to expand the standard library search path with
# and entry in /etc/ld.so.conf for /usr/local/lib and run:
#
$ ldconfig


Finally need to create your svn repository and ensure your dav_svn.conf is setup correctly.

Test it all with http://localhost/svnroot/[repo-name] in a browser.