'ello all.

My repo was working just fine ... I went to update this morning and I get error 405.

64.126.xxxx - - [28/Aug/2008:08:07:38 -0600] "OPTIONS /repo HTTP/1.1" 200 181 "-" "SVN/1.5.1 (r32289) neon/0.28.2"
64.126.xxxx- - [28/Aug/2008:08:07:39 -0600] "PROPFIND /repo HTTP/1.1" 405 526 "-" "SVN/1.5.1 (r32289) neon/0.28.2"
64.126.xxxx - - [28/Aug/2008:08:07:39 -0600] "OPTIONS / HTTP/1.1" 302 230 "-" "SVN/1.5.1 (r32289) neon/0.28.2"
64.126.xxxx - - [28/Aug/2008:08:07:50 -0600] "OPTIONS /repo HTTP/1.1" 200 181 "-" "SVN/1.5.1 (r32289) neon/0.28.2"
64.126.xxxx - - [28/Aug/2008:08:07:50 -0600] "PROPFIND /repo HTTP/1.1" 405 526 "-" "SVN/1.5.1 (r32289) neon/0.28.2"
64.126.xxxx - - [28/Aug/2008:08:07:51 -0600] "OPTIONS /repo HTTP/1.1" 200 181 "-" "SVN/1.5.1 (r32289) neon/0.28.2"
64.126.xxxx - - [28/Aug/2008:08:07:51 -0600] "PROPFIND /repo HTTP/1.1" 405 526 "-" "SVN/1.5.1 (r32289) neon/0.28.2"
64.126.xxxx - - [28/Aug/2008:08:07:51 -0600] "OPTIONS / HTTP/1.1" 302 230 "-" "SVN/1.5.1 (r32289) neon/0.28.2"

I don't even know where to begin because some requests get code 200 (OK) and others get 405.

TIA!

    405 is "Method Not Allowed" which would seem to say that PROPFIND is being blocked by something (mod_security maybe?). If you can SSH to the server, I'd try to manually do a "svn list http://myserver.com/svn/myproject" and see what it spews out at you.

    What does your httpd.conf file look like dealing with the SVN repos?

      # svn list http://phpdealer.com/repo
      svn: PROPFIND request failed on '/repo'
      svn: PROPFIND of '/repo': 405 Method Not Allowed (http://phpdealer.com)
      

      🙁

      # svn list repo
      svn: 'repo' is not a working copy
      [root@aarondev phpdealer.com]# ls
      httpsdocs  private   statistics
      cgi-bin   error_docs   old        releases  subdomains
      conf      httpdocs     pd         repo      web_users
      [root@aarondev phpdealer.com]# cd repo/
      [root@aarondev repo]# ls
      conf  dav  db  format  hooks  locks  README.txt
      [root@aarondev repo]# svn list .
      svn: '.' is not a working copy
      [root@aarondev repo]#
      
      [root@aarondev conf]# cat vhost.conf
      <Location /var/www/vhosts/phpdealer.com/repo>
              DAV svn
              SVNPath /var/www/vhosts/phpdealer.com/repo
              AuthName "phpDealer"
              AuthType Basic
              AuthUserFile /var/www/vhosts/phpdealer.com/repo/conf/passwd
              Require valid-user
      </Location>
      

      Thanks for your help. 🙂

        The Location directive takes the "path" relative to the URL root. So if phpdealer.com is the URL, and you reach your SVN repo by browsing to phpdealer.com/repo then the Location needs to be "/repo" not "/var/www/vhosts/phpdealer.com/repo".

        Locations are from the URL, Directory is from the hard disk.

        So for example:

        <Location /repo>
            DAV svn
            SVNPath /var/www/vhosts/phpdealer.com/repo
            AuthName "phpDealer"
            AuthType Basic
            AuthUserFile /var/www/vhosts/phpdealer.com/repo/conf/passwd
            Require valid-user
        </Location>
        
        <Directory /var/www/vhosts/phpdealer.com/repo>
            Order allow,deny
            Allow from all
        </Directory>

        Hope that helps.

          Buahahahahaha.

          That's the insanity from how easy the fix was.

          Thanks a million!

          [note]
          I had to recreate that file ... for some reason Plesk deleted it.

            bpat1434;10884387 wrote:

            Locations are from the URL, Directory is from the hard disk.

            That's very useful and I will have to remember that.

              Write a Reply...