Webdav configuration Plone 5.2.3(rc1)

I spend quite some time to configure webdav for Plone 5.2.3rc1.
Maybe this helps you when struggling with it.

In buildout.cfg or your own name.cfg put the data as shown below. The settings used here are:

  • webdav PORT is 9090 on IP 127.0.0.1
  • instance or zeoclient1 PORT is 8080 on IP 127.0.0.1

When no IP is given 0.0.0.0 is assumed !

Put in file: buildout.cfg

[instance]  or [zeoclient1]
recipe = plone.recipe.zope2instance
...
http-address = 127.0.0.1:9090 127.0.0.1:8080 
http-fast-listen = true
zope-conf-additional =
    webdav-source-port 9090
    http-realm Welcome at Zeoclient1

The last line http-realm Welcome at Zeoclient1 will replace Zope realm when logging into the Zeoclient1

After running buildout you see this ( and more ...) in wsgi.ini under ../parts/instance or zeoclient1/etc

Ouput file: wsgi.ini

[server:main]
use = egg:waitress#main
listen = 127.0.0.1:9090 127.0.0.1:8080    
....

After running buildout you see this (and more ...) in zope.conf under ../parts/instance or zeoclient1/etc

Ouput file: zope.conf

%define INSTANCEHOME  ...
...
<zodb_db>
...
</zodb_db>
webdav-source-port 9090

When starting instance or zeoclient1 you will see that it shows 2 address lines with the shown port numbers. Now you can use webdav on port 8080 !! in the example above.
A simple but free WebDav explorer written in Java can be downloaded here: https://www.ics.uci.edu/~webdav/download.html. It supports check-in/out, lock/unlock, versioning, report and so on. Of course on Windows you can use WinSCP to test your connection. Or Cadaver on Linux.

Tested on Plone 5.2.3
No webdav egg installed.

1 Like

Thanks a lot. It works great

My pleasure to give something back!:grinning: I have used so many of your input/examples in the past..

Hello everyone, hello @Peter,
Plone 5.2.2 is well installed but I have the same problem uploading to plone.
I followed @Peter's advice to fix the problem but the result is partial.
Indeed, I modified the buildout.cfg as follows:
"[instance]
recipe = plone.recipe.zope2instance
user = admin: XXXXXXXXXXX
http-address = 127.0.0.1:9090 127.0.0.1:8080
http-fast-listen = true
zope-conf-additional =
webdav-source-port 9090
http-realm Welcome at Zeoclient1 "
Then after running buildout in poweshell, here is the result:
"Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Test the new PowerShell cross-platform system https://aka.ms/pscore6

PS C: \ WINDOWS \ system32> Set-Location c:
PS C: > D:
PS D: > cd Plone522
PS D: \ Plone522>. \ Py \ Scripts \ buildout.exe
Uninstalling instance.
Installing instance.
Updating zopescripts.
PS D: \ Plone522> "

But the end result is partial:
in wsgi.ini nothing changes:
I still have :
"[server: main]
use = egg: waitress # main
host = 127.0.0.1
port = 8080 "

while in zope.conf, the change has taken place:
"</zodb_db>
...............
</zodb_db>
python-check-interval 1000
webdav-source-port 9090
http-realm Welcome at Zeoclient1 "

Am I missing something?
Thank you in advance for your help.

Did you install a webdav egg? If so uninstall and retry.
I did not test this setting on 5.2.2. Maybe somebody else who did could reply?!

Thanks for your answer @peter.
Please what do you mean by "Webdav egg"?
I have installed a number of webDAV clients. Can these programs be involved?

Thanks in advance.

I thought to remember that I once had installed a webdav related egg from pypi.org that caused an issue. As I am not 100 % sure about it I might be wrong here.

WebDav client not installed via buildout should not have any effect as Plone will not see/find them.

I you have installed them via buildout then just comment the packages and rerun buildout and test again. Any side effect will be gone.

Check indents hidden tabs and characters in buildout configuration and ini files. Use notepad++ or similar tool and visualize non-printable characters in your input (e.g linefeeds). Sometimes strange effects can happen.

Check configuration again (or retype it again) to make 100% sure you use the same as I documented. Small errors can lead to zero-results.... I know by experience :slight_smile:

@peter thanks for your response.
It is possible that I am missing something that I cannot see.
Could this be the configuration of the computer where I work?
I have deactivated all the ptotections, the result remains invariably the same.
Has anyone else tried tried to work with WebDAV on plone 5?
For example @espenmn, who succeeded what is the exact configuration used?
Thank you in advance for all the help.

Ping me when I am back from 'holliday'

I think this is the config that works (change port numbers to what you need):
Some lines are not needed, not sure which, but they should 'do no harm'.

[instance]
<= instance_base
recipe = plone.recipe.zope2instance
http-address = 8090 9890
http-fast-listen = true
wsgi = on
webdav-address = 9890
wsgi-options =
   webdav-address 9890

zope-conf-additional =
    webdav-source-port 9890
    http-realm Welcome

Hello @espenmn,
Thank you for the feedback.
If I can successfully install Plone 5.2.3 on Windows, I will try this setup.