This guide show you how to install a Subversion (SVN) server with Uniform Server. This guide assumes that you have a clean installation of Uniform Server running currently and do not have another version of Apache installed on your PC.
- Download the latest Win32 SVN binaries from here. This guide uses the .exe Installer provided there.
- After installing / unpacking it, copy the contents of its httpd folder (usually C:\Program Files\Subversion\httpd) into Apache's module directory (Uniform Server's default is W:\usr\local\Apache2\modules)
- Copy libdb42.dll from the bin folder into the same module directory.
Apache Module Configuration
- Edit Apache's configuration files (W:\usr\local\Apache2\conf\httpd.conf) and uncomment (remove the # from) this line if it is commented:
LoadModule dav_module modules/mod_dav.so
- Next find:
LoadModule dav_fs_module modules/mod_dav_fs.soand add this below it:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
- Create an empty folder (I used W:\svn), which will used as repository root.
- Create another empty folder (for example W:\svn\test) in your repository root.
- Open the Command Prompt (or MS-DOS Prompt in Win 9x), cd into your repository root. Execute:
svnadmin create --fs-type bdb testor
svnadmin create --fs-type fsfs testNote: test is the folder you created (under your repository root) earlier in Step #2; for more info on which fs-type to choose, read Chapter 5, Repository Data-Stores in the SVN book for more information
Integrating Apache + SVN
- Add this anywhere in your configuration file (preferably between "<IfModule mod_dav.c>" and "</IfModule>"):
Dav svn SVNParentPath /svn AuthType Basic AuthName "Subversion Repositories" AuthUserFile /htpasswd/svn/.htpasswd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept>
Note: If you do not want your repository to have read access for everyone (those who do not have the password) remove the <LimitExcept>
- /svn is the path to your repository root, if you used any drive other than what Apache is on (Uniform Server default = W:\) for your repository root, you'll have to put the drive letter in front of the / (for example, C:\SVN becomes C:/SVN)
- Finally, let's create the .htpasswd file which will store the username & password needed to modify your repositories. Open the Command Prompt again, cd into Apache's bin directory (W:\usr\local\Apache2\bin). Execute:
htpasswd -c .htpasswd <username>To add more usernames & passwords, execute:
htpasswd .htpasswd <username>Note: Replace <username> with the username of your choice.
For more advanced configurations (not needed by many) view Setting Up an SVN Server.
- If you are using version 3.3, please skip to step 4.
- Create a "htpasswd" directory in the W:/ drive if you are using version 3.2 or less.
- Create a "svn" directory under the "htpasswd" directory.
- Copy the .htpasswd file into the "svn" directory.
- Now, the time you've all been for. Restart Uniform Server.
- Point your browser to http://localhost/svn/test (where test is the name of the repository you created earlier)
- If you do not understand how to make the .htpasswd file, you can just make the file and edit it with the contents "username:password" in the file.