Wednesday, December 19, 2007

Subversion for Apache 2.2.x On Windows Platform

In this post i will talk about how to add Subversion modules on Apache 2.2.x, the problem that i faced while doing this configuration is that SVN executables exist for previous Apache versions only, so i thought about writing this post to give fast summarized steps to prepare SVN for this version of Apache

Enough talking, time to start configuring our Apache, i will do that step by step

1. Choose the latest version of Apache 2.2.x

2. Choose the latest version of SVN(on the time of writing this post, no SVN executable was there to be used with Apache 2.2.x)

3. Install Apache (procedures aren't included in this post) then install SVN

4. Create a repository for your SVN as in that example

mkdir c:\svn
svnadmin create c:\svn\repos


5. Configure Apache server configuration file, you can reach this file through that path

Start/All Programs
/Apache HTTP Server 2.0.50
/Configure Apache Server
/Edit the Apache httpd.conf Configuration File



6. Look for the part of the file that is showing loaded and unloaded Apache modules, and make sure that these two modules are loaded

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so


7. Download the binary built against Apache 2.2.x from this link

8. Extract the archive you downloaded to a folder and then replace files in your SVN directory folder with these extracted files

9. Go to (SVN directory)/bin and take the two modules

mod_dav_svn.so
mod_authz_svn.so

found there and copy them to (Apache directory)/modules

10. Open Apache configuration file again and add these two lines

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

in modules part after the two lines that we added previously in step 6

11. Add at the end of the configuration file these lines



where the path beside the location tag is the path that you will access the SVN through it and the path beside SVNPath is the path where you installed your repository

These are the required steps needed to prepare your SVN with this version of Apache, i hope i was helpful in that article and up to the point


For more details on how to add authentication for SVN and other details follow that link, where you will find other steps related to SVN preparation on Apache Server but for old versions of Apache, skip first part as we already did it and read from the part called "Securing Your Server"