Old:Installing SVN: Difference between revisions
No edit summary |
(Numbered lists will be messed up if list item is longer than a paragraph) |
||
Line 17: | Line 17: | ||
== Integrating Apache + SVN == | == Integrating Apache + SVN == | ||
First, you should add this anywhere in your configuration file (preferably between "<IfModule mod_dav.c>" and "</IfModule>"): | |||
<Location /svn> | <pre><nowiki><Location /svn> | ||
Dav svn | Dav svn | ||
SVNParentPath /svn | SVNParentPath /svn | ||
Line 27: | Line 27: | ||
Require valid-user | Require valid-user | ||
</LimitExcept> | </LimitExcept> | ||
</Location> | </Location></nowiki></pre> ''Note #1: If you do not want your repository to have read access for everyone (even those who do not have the password) remove the <LimitExcept>'' | ||
</nowiki></pre> ''Note: If you do not want your repository to have read access for everyone (those who do not have the password) remove the <LimitExcept>'' | ''Note #2: /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)'' | ||
# /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) | Next, 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:<pre>htpasswd -c .htpasswd <username></pre> To add more usernames & passwords, execute:<pre><nowiki>htpasswd .htpasswd <username></nowiki></pre> ''Note: Replace <nowiki><username></nowiki> with the username of your choice.'' | ||
For more advanced configurations (not needed by many) view [http://tortoisesvn.tigris.org/docs/TortoiseSVN_en/ch03.html Setting Up an SVN Server]. | For more advanced configurations (not needed by many) view [http://tortoisesvn.tigris.org/docs/TortoiseSVN_en/ch03.html Setting Up an SVN Server]. | ||
Revision as of 17:16, 15 May 2008
This guide will 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.
Installing SVN
- 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.so
and add this below it:LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
Configuring SVN
- 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 test
orsvnadmin create --fs-type fsfs test
Note: 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
First, you should add this anywhere in your configuration file (preferably between "<IfModule mod_dav.c>" and "</IfModule>"):
<Location /svn> Dav svn SVNParentPath /svn AuthType Basic AuthName "Subversion Repositories" AuthUserFile /htpasswd/svn/.htpasswd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
Note #1: If you do not want your repository to have read access for everyone (even those who do not have the password) remove the <LimitExcept>
Note #2: /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)
Next, 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.
Last Steps
- 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)
Shortcuts
- 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.