PS (04/04/2009): Just use VisualSVN Server — it takes all the pain out of installation
I wrote this several months ago after spending more time than seemed reasonable getting subversion running. Enjoy…
Install Apache 2.0 (not 2.2): http://httpd.apache.org/download.cgi
Select public on port 80 option. If you already have a web server running, you will get an error. Ignore.
After install completes, Select Program|Apache|Configure|Edit..config
Change Listen 80 to Listen 8080 (or some other port), save, and restart the service using the apache feather icon in the tray
If nothing shows up in tray, run this: “C:\Program Files\Apache Group\Apache2\bin\apache” -k install -n “Apache2” and then you will see it in the tray.
Surf to http://localhost:8081/ to verify apache install
Install Subersion: http://subversion.tigris.org/files/documents/15/31465/svn-1.3.1-setup.exe
Install Tortoise: http://tortoisesvn.tigris.org/
Edit httpd.conf again and add this at the end:
where /svn is the virtual (web) path you will use to access the repository and C:\SubversionRepo is the local filesystem path to the repository. Restart the Apache service.
Verify that you can access the repository via http by opening windows explorer, right clicking, selecting TortoiseSVN|Repo-brower. Type in http://localhost:8080/svn. Right-click the top level and select Create Folder. Enter TestApp and press OK. If the folder creates, everything is working OK.
Now, the final step is to add digest authentication to Apache. Open httpd.conf and uncomment this line:
LoadModule auth_digest_module modules/mod_auth_digest.so
Next, add the following lines (subbing in your own “domain” EG AcmeSoftware) to the <Directory “C:/Program Files/Apache Group/Apache2/htdocs”> secion:
AuthDigestFile “C:\Program Files\Apache Group\Apache2\passwd\passwords”
Now, you must use the command line to add users and passwords. First, create the following directory: C:\Program Files\Apache Group\Apache2\passwd. When adding the first user, run the following:
“C:\Program Files\Apache Group\Apache2\bin\htdigest” -c “C:\Program Files\Apache Group\Apache2\passwd\passwords” domain username
For subsequent users, remove the -c or you will recreate the file and lose the first user already stored in the file. Now, restart Apache, browse to the repository using TortoiseSVN from Windows Explorer. You should now be prompted for a user id and password. Check “save authentication” to avoid being prompted for every access to the repository. Even after you check this the first time, you will get prompted one more time on your next access to the repository.
You can do everything you need to do to manage the repository via TortoiseSVN. Don’t get distracted by other things like WebSVN, Cygwin, Ankh (which is slow and buggy) or anything else. Subversion + TortoiseSVN = complete solution.
If you do not have a static IP and you want to access your repository from remote locations, visit DynDns.com. If you are behind a NAT router, you can probably configure your router to forward all incoming requests on the port you specified in the steps above to a specific private address. Note that if you are using DHCP to assign IP private addresses to your computers, you will need to reserve a specific private address for the machine hosting SVN.