Webdav configuration problem

Author Message

Patrice Fortin

Sunday 04 March 2007 1:26:51 pm

Hi all,

I am having some troubles configuring webdav on a production server. It worked well in a testing environment, and I am having the same configuration of ezpublish, so it may be a server problem.

in override/webdav.ini.append.php

[GeneralSettings]
EnableWebDAV=true
Logging=enabled

In my httpd.conf (in ezpublish virtual server section)

RewriteEngine On
RewriteRule . /webdav.php

No matter which url I use in konqueror (valid or not), I get the following error:
An error occurred while loading webdav://example.com/fsr02/Content/visiteurs:
The file or folder webdav://example.com/fsr02/Content/visiteurs does not exist.

If I type webdav://example.com/fsr02/, I am asked for a username and password, but I get the same error message once logged.

In cadaver, I get this error:
Could not access /fsr02/ (not WebDAV-enabled?):
207 Multi-Status

I did some debugging and found out that in file ezwebdavserver.php, function outputSendDataToClient, $output variable isn't correctly initialized ($output['data'] === false). I guess this is linked to the issue.

I found this: http://issues.ez.no/5640
Which may be related, but I'm really not sure.

Does someone have hints to help me ?

Thanks

Ɓukasz Serwatka

Sunday 04 March 2007 10:23:45 pm

Hi Patrice,

Detailed infromation how to setup webdav you can find in on-line documentation:
http://ez.no/doc/ez_publish/technical_manual/3_8/features/webdav/setting_it_up

What version of eZ publish and Konqueror do you use?

eZ Publish 3.9.0 WevDAV with Konqueror 3.5.x works fine with setup mention in documentation.

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

Patrice Fortin

Monday 05 March 2007 6:34:55 am

Hi Lukasz,

I'm using ez 3.9.0, konqueror 3.5.2

I followed the guide you pointed me. Here's my virtual host for webdav:

<Virtualhost *:80>
        <Directory /path/to/ezpublish-3.9.0>
                Options FollowSymLinks Indexes ExecCGI
                AllowOverride None
        </Directory>
        DocumentRoot /path/to/ezpublish-3.9.0
        RewriteEngine On
        RewriteRule . /webdav.php
        ServerAdmin admin@example.com
        ServerName webdav.example.com
        CustomLog "/home/webadmin/logs/webdav_access_log" "combined"
        ErrorLog "/home/webadmin/logs/webdav_error_log"
</VirtualHost>

Server asks for a username once, then nothing change. Here is the virtual server access log

x.x.x.x - - [05/Mar/2007:09:16:45 -0500] "PROPFIND /fsr02/ HTTP/1.1" 401 - "-" "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.2 (like Gecko) Kubuntu 6.06 Dapper"
x.x.x.x - - [05/Mar/2007:09:16:54 -0500] "PROPFIND /fsr02/ HTTP/1.1" 404 - "-" "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.2 (like Gecko) Kubuntu 6.06 Dapper"
x.x.x.x - - [05/Mar/2007:09:17:17 -0500] "PROPFIND /fsr02/Content HTTP/1.1" 404 - "-" "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.2 (like Gecko) Kubuntu 6.06 Dapper"

Nothing in error log

webdav.log has

2007-03-05 09:16:46 : ========================================
2007-03-05 09:16:46 : Requested URI is: /fsr02/ [webdav.php]
2007-03-05 09:16:46 : start path: /fsr02/ [CS:currentSitePath]
2007-03-05 09:16:46 : indexdir: /fsr02/ [CS:currentSitePath]
2007-03-05 09:16:46 : site fsr02: /fsr02/ [CS:currentSitePath]
2007-03-05 09:16:54 : ========================================
2007-03-05 09:16:54 : Requested URI is: /fsr02/ [webdav.php]
2007-03-05 09:16:54 : start path: /fsr02/ [CS:currentSitePath]
2007-03-05 09:16:54 : indexdir: /fsr02/ [CS:currentSitePath]
2007-03-05 09:16:54 : site fsr02: /fsr02/ [CS:currentSitePath]

Any idea ?

Thanks
Patrice

Xavier Dutoit

Monday 05 March 2007 8:56:12 am

Well, the first "page" (before authentication) is supposed to offer you all the siteaccess you have on your config.

Is it the case on your test ?

Otherwise, have a look at the log into your var/siteaccess folder

X+

http://www.sydesy.com

Patrice Fortin

Monday 05 March 2007 10:17:02 am

Hi Xavier,

Yes, in my test environment, I see siteaccess without having to enter a username/password. But not on prod, always the
The file or folder webdav://example.com/ does not exist.

And nothing in siteaccess log, or error/warning general logs..

Patrice Fortin

Wednesday 07 March 2007 1:31:42 pm

I found out something:

in ezwebdavserver.php, function processClientRequest(), $_SERVER["REQUEST_METHOD"] is set to GET (I can see it in webdav.log), even if in apache log I get something like

x.x.x.x - - [07/Mar/2007:16:26:31 -0500] "PROPFIND / HTTP/1.1" 207 7729 "-" "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.2 (like Gecko) Kubuntu 6.06 Dapper"

So I hard coded in this function

$_SERVER["REQUEST_METHOD"] = "PROPFIND";

Surprise: I get the list of siteaccesses.

Someone has an idea how I can end up in this function with $_SERVER["REQUEST_METHOD"] set to GET when the access is actually PROPFIND ? some apache config ?

thanks
Patrice

Xavier Dutoit

Thursday 08 March 2007 4:24:11 am

Well, that's seems to be something around apache indeed.

What's the diff between the prod and the dev ?

I don't have any idea, about what could be the problem. What's your apache config ? php as cgi or module ? ...

On the prod, it works fine with my apache 1.x, I'll try on the dev with lighttpd+fastcgi to see how it reacts...

http://www.sydesy.com

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.