0


I have a Debian 8 server with subversion and Apache 2.4.10 servers up and running.
I recently wanted to get subversion to work with WebDav due to the restrictive firewall of my company.

To get this whole thing working I use mod_dav_svn with Basic authentication and an authz access file.
The setup partly works, as I'm able to view the repository list in a browser and dig into the repositories (I can even view single files in the browser), therefore the permissions should be set up correctly.

I tried a whole load of different configuration options (it seems that many people encounter the 405 not allowed problem).
For testing purposes I did not only use the svn client but also the cadaver client, which yielded the same 405 response.

This is the corresponding configuration my server uses, to see what I tried look at the bottom of this post as I made a list:

<Directory /svn>
    Options -Indexes -ExecCGI -Includes -MultiViews +FollowSymlinks
    DirectoryIndex disabled
    Require all granted
    #DAV on
    #DavDepthInfinity on
</Directory>
<Location /svn/>
    Options -Indexes -ExecCGI -Includes -MultiViews +FollowSymlinks
    RewriteEngine off
    DirectoryIndex disabled

    #Dav on
    #DavDepthInfinity on
    DAV svn
    SVNListParentPath on
    SVNParentPath /svn
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /svn/passwd
    AuthzSVNAccessFile /svn/authz
    SSLRequireSSL

    <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
    </LimitExcept>
</Location>

Just to clarify:
I am able to pull and commit via svn+ssh:, the repositories are located under /svn where the group svn has the necessary permissions (the apache user is member of that group).
The authz file specifies read access for everyone - everywhere and write access to a specific group (I don't know if it's necessary to post it, due to it's minimal setup, please tell me if though).

List of things I tried (I don't have any links to the threads where this has been proposed, but almost everything is from google):

  • setting Location to /svn/ instead of /svn
  • adding a <Limit PROPFIND> require all granted </Limit>
  • setting DavDepthInfinity on as this is disabled by default
  • adding a <Directory /svn>
  • disabling index files for that directory and the location
  • setting a require all granted
  • setting RewriteEngine off

Well the things I've tried are random and as I said I took them from various threads around google.

I hope I pictured my problem well enough.
Any hint how this problem can be solved is really appreciated!

1 Answers1

0

Well this is kind of odd (at least in my eyes).
I previously tried to check out using this command:
svn co https://my-domain.com/svn/repo

This yielded the 405 response.
I just tried using this line:
svn co https://www.my-domain.com/svn/repo

And now it works like a charm.
It seems like this topic is of not much interest, but I would really appreciate someone giving me some insight in why the www is needed.