TechnicalArchitectureWorx

The (Unofficial) ITWorx Technical Architecture Blog

Subversion on Windows

Posted by archworx on October 9, 2006

Subversion is a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license.

Get all the details and features from http://subversion.tigris.org/

For my purposes I need to install subversion on a windows box and have the capability to view the contents of the repository online in a web browser, here are the steps that worked for me:

1. Download the latest version for windows, in my case 1.4 (svn-1.4.0-setup.exe) from the following location http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 , the download that includes setup in the same includes a friendly Installer.

2. Run the Windows Installer. The defaults are fine

3. If you want a pretty Win32 GUI, TortoiseSVN integrates nicely with the Windows Explorer. Note: TortoiseSVN is a separate project.

4. Using Tortoise, you can easily create your repository and import projects.

Now for the web view part, after trying several project to get this working with IIS, I found the easiest solution is to install Apache and have run on a different port, for my needs, having a different port is not an issue since I will be linking to this repository from an internal website.

To install Apache and the web view component follow the following steps:

1. Download Apache from http://httpd.apache.org/download.cgi  (Use Apache 2.0.55, the newer version 2.2 doesn’t work with the subversion 1.4 modules)

2. Run the Windows Installer. The defaults are fine. When you reach the Server Information dialog, you’ll be prompted to choose between installing on port 80 as a service, or on port 8080 with manual startup. Choose the service option on port 80 (we will change the port in the next step).

3. Since we are working on a Windows server, you probably already have IIS running on port 80. So, we need to pick another for Apache. Open the file C:\Program Files\Apache Group\Apache2\conf\httpd.conf in notepad.exe. Do a find (ctrl+f) for the word “listen” until you fine the line: Listen 80, Change the 80 to 8080 (or whatever port you want).

4. Save http.conf and restart Apache to reflect the changes.

5. Test that Apache is running by going to  http://localhost:8080/ (you should get the default Apache welcome screen).

Now its time to configure Subversion to run with Apache:

1. Copy the following files from Subversion_Home\bin\ to C:\Program Files\Apache Group\Apache2\modules\

libdb42.dll

libeay32.dll

mod_authz_svn.so

mod_dav_svn.so

2. Open C:\Program Files\Apache Group\Apache2\conf\httpd.conf

3. uncomment (by removing the # at the beginning of the line) the following 2 lines:

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

4. Add the following 2 lines:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

5. Add the following to the bottom of the file

<Location /svn>
DAV svn
SVNParentPath C:\InetPub\svn
AuthType Basic
AuthName “Subversion repositories”
AuthUserFile C:\InetPub\svn.pass
#AuthzSVNAccessFile svnaccessfile
Require valid-user

</Location>

6. Create username/password for Apache directory

a. Use htpasswd.exe in the Apache2/bin directory to edit the password files.

b. Create a blank file called c:\somewhere_you_want\svn.pass

c. From a Dos window (make sure the path is correct), type the following htpasswd snv.pass svnuser

d. You’ll be prompted for a password. Enter whatever you want.

7. Restart Apache Again to load the configuration changes

8. Go to  http://localhost:8080/svn/ to make sure everything is working.

Advertisements

5 Responses to “Subversion on Windows”

  1. EZ said

    I think svn should replace Source safe as the cruise control server is facing trouble with Source safe due to rights.dat and user.log errors exception, and publisihing the inventory on the web through apache could be very handy.

  2. Youssef said

    It’s worth mentioning that there’s a tool for Visual Studio integration which is available here: http://ankhsvn.tigris.org/

  3. Ben said

    This is an excellent overview, especially for providing the “web view” via Apache. If you’d like an illustrated approach to setting up Subversion with remote access on Windows XP (but without installing Apache), you may also find my step-by-step instructions useful:

    http://www.stanford.edu/~bsuter/subversion-setup-guide/

    It includes additional information on how to make the default set-up more secure for remote access, how to change access permissions, and how to populate the repository with initial content.

  4. I think the polymorphic podcast (http://polymorphicpodcast.com/shows/subversion/ ) is a very fast introduction on how to easly setup and use Svn on Windows … thanks for the guys behind Svn1ClickSetUp (svn1clicksetup.tigris.org/ )

  5. TonyP said

    I couldn’t get this to work at all.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: