https://wiki.uniformserver.com/index.php?title=Reverse_Proxy_Server_2:_SVN2&feed=atom&action=historyReverse Proxy Server 2: SVN2 - Revision history2024-03-29T10:11:18ZRevision history for this page on the wikiMediaWiki 1.41.0https://wiki.uniformserver.com/index.php?title=Reverse_Proxy_Server_2:_SVN2&diff=3842&oldid=prevRic: New page: {{Nav reverse proxy server}} '''''How to configure proxy server to run a subversion server over http''.''' On the previous I digressed a little and ended up creating a portable subversi...2009-08-22T14:29:46Z<p>New page: {{Nav reverse proxy server}} '''''How to configure proxy server to run a subversion server over http''.''' On the previous I digressed a little and ended up creating a portable subversi...</p>
<p><b>New page</b></p><div>{{Nav reverse proxy server}}<br />
<br />
'''''How to configure proxy server to run a subversion server over http''.''' <br />
<br />
On the previous I digressed a little and ended up creating a portable subversion server. This page describes how to access that server behind a proxy server.<br />
<br />
== Methods ==<br />
Subversion uses more methods than standard HTTP these must be passed to the back-end server for processing.<br />
<br />
These methods would allow all clients to brows a repository: GET PROPFIND OPTIONS REPORT <br />
<br />
To do any real work with a repository allow the following methods:<br /> OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT CHECKOUT MKCOL MOVE COPY DELETE LOCK UNLOCK MERGE<br />
<br />
== Basic Block Format ==<br />
The only addition to proxy directives is a limit block as shown below:<br />
{|<br />
|-<br />
|<br />
<pre><br />
ProxyPass /svn/ http://realsvnserver/svn/<br />
<Location /svn/ ><br />
ProxyPassReverse /svn/<br />
<Limit OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT CHECKOUT MKCOL MOVE COPY DELETE LOCK UNLOCK MERGE><br />
Order Deny,Allow<br />
Allow from all<br />
Satisfy Any<br />
</Limit><br />
</Location><br />
</pre><br />
|}<br />
* The '''ProxyPass''' directive informs Apache to redirect requests for folder /svn to the subversion server ''' <nowiki>http://realsvnserver</nowiki>/svn'''.<br />
* The '''Limit''' directive contains a list of DAV methods that Apache proxy should work with.<br />
* '''Allow from all''': Informs Apache to let all DAV method requests from all clients through. <br />
* '''Satisfy Any''': Let the subversion server handle authentication. <br />
'''''Note'':''' Generally proxy and back-end server folder names can be different however for DAV folder names must be identical (that includes any sub-folders) this example uses folder '''svn'''<br />
<br />
'''''[[#top | Top]]'''''<br />
<br />
== Proxy Server Configuration ==<br />
Edit C:\server_a\UniServer\usr\local\apache2\conf\'''httpd.conf'''<br />
<br />
Add the above code just below the last proxy server as shown below, (Note: realsvnserver is localhost:83) <br />
{|<br />
|-valign="top"<br />
|<br />
<pre><br />
<VirtualHost *><br />
ServerName localhost:80<br />
DocumentRoot C:/server_a1/UniServer/www<br />
<br />
ProxyRequests off<br />
<Proxy *><br />
Order deny,allow<br />
Deny from all<br />
Allow from 127.0.0.1<br />
</Proxy><br />
<br />
ProxyPass /info/ http://localhost:82/<br />
ProxyHTMLURLMap http://localhost:82 /info<br />
<Location /info/><br />
ProxyPassReverse http://localhost:82/<br />
#SetOutputFilter proxy-html<br />
SetOutputFilter DEFLATE;proxy-html;INFLATE<br />
ProxyHTMLURLMap / /info/<br />
ProxyHTMLURLMap /info /info<br />
</Location><br />
<br />
ProxyPass /svn/ http://localhost:83/svn/<br />
<Location /svn/ ><br />
ProxyPassReverse /svn/<br />
<Limit OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT CHECKOUT MKCOL MOVE COPY DELETE LOCK UNLOCK MERGE><br />
Order Deny,Allow<br />
Allow from all<br />
Satisfy Any<br />
</Limit><br />
</Location><br />
<br />
</VirtualHost><br />
</pre><br />
|}<br />
'''''[[#top | Top]]'''''<br />
<br />
== Test ==<br />
To quickly check the configuration:<br />
* Start server_a<br />
* Start server_c<br />
* Type '''<nowiki>http://localhost/svn/</nowiki>'''<br />
'''''Result'':''' Collection of Repositories page displayed, click the link '''myproject''' or whatever you named your repository and have a browse.<br />
<br />
Use your SVN client, confirm you can checkout a working copy, make a few changes and confirm you can commit these to the repository.<br />
<br />
'''''[[#top | Top]]'''''<br />
<br />
== Summary ==<br />
The above shows how to proxy an SVN server over http, there are no restrictions this allows all users access with the ability to manipulate repositories.<br />
<br />
Before adding any restrictions the next page looks at proxying SVN over https.<br />
<br />
This is a prerequisite to securing SVN. [[Reverse Proxy Server 2: SVN3 over https | '''Proxy SVN over https''']] <br />
<br />
'''''[[#top | Top]]'''''<br />
<br />
----<br />
<br />
{|<br />
|-valign="middle"<br />
| [[Image:uc_small_logo.gif]] || [[User:Ric|Ric]] <br />
|}<br />
<br />
[[Category: Uniform Server 5.0-Nano]]</div>Ric