Webdav server using Openstack Swift as a backend. Sample config uses Pylons Waitress to allow chunked uploads; this is required by some clients (eg. OSX).
-
Install swiftdav:
git clone git://github.com/cschwede/swiftdav.git cd swiftdav sudo python setup.py install
-
Modify server.py and configure your Swift proxy settings. Defaults to 'http://127.0.0.1:8080/auth/v1.0'
-
Run wsgidav with OpenStack Swift backend:
python server.py
-
You have to use ';' instead of ':' to separate account and user in your username, for example 'test;tester'. Basic auth uses ':' already to separate username and password.
If you're using davfs2 you could use the following settings in /etc/davfs2/davfs2.conf:
use_locks 0
precheck 0
Due to Swifts eventual consistency there is no guarentee that locking and prechecking succeeds. However, swiftdav supports some fake locking because some clients require this to enable write access.
Functional tests require a running server and Swift installation (SAIO). Just start them with your favorite test runner, eg.:
nosetests
There is an additional shell script to execute some basic operations on a davfs2 mountpoint located in test/test_davfs2.sh.
You can also run the litmus test suite:
Source code: http://www.webdav.org/neon/litmus/
tar xzvf litmus-0.13.tar.gz
cd litmus-0.13/
./configure
make
swift delete litmus
make URL=http://127.0.0.1:8000/ CREDS='test\;tester testing' check