Drobo

WebDAV Access to DroboFS?

If I install the Apache DroboApp, does it include the necessary support for WebDAV access? It would be convenient to allow access to my Drobo from my iPhone and other “cloud” clients.

any update to this?

Bump so ricardo sees this. With the lighttpd and php packages, it looks like we can use those to provide WebDAV service to the DroboFS. Here’s what I did:
[list=1][]Installed lighttpd and php from DroboPorts
[
]Removed apache DroboApp
[]Confirmed lighttpd was working (DroboAdmin works, lighttpd index.html is displayed)
[
]Linked webdav.conf into conf-enabled and restarted lighttpd

ln -s etc/conf-available/webdav.conf etc/conf-enabled/webdav.conf ./service.sh restart
[*]Created www/dav/ directory

mkdir www/dav/

[*]Attempted to connect to “http://drobo/dav/
[/list]
So from what I can tell, everything should now be set up. Unfortunately, while I can connect to the webdav server and issue an “OPTIONS” command (according to the Cyberduck log), I can’t actually connect to the WebDAV share and list it (Cyberduck indicates a 403:Forbidden error was returned; the Finder gives a typically uninformative “There was a problem connecting to the server”). Nothing in the logs to indicate a problem.

ricardo(1,2)? - Any ideas? I’ve looked through the webdav docs for lighttpd, and there’s precious little on troubleshooting problems. Since there is no real user separation and permissions to deal with, I don’t think it could be that either.

any updates on this?

I’ll have a look as soon as possible, but I think we’re going to need some more logging information.

I’d love to provide some, but neither the server or client are generating anything particularly useful.

As far as I know WebDAV is not secure and sends clear text over the connection unless u of course use https://
At least with IIS …

@diamondsw: I’ve thought a bit more about it, and it could be a dependency issue. I’ve never tried to enable webdav myself, but from what I see on webdav.conf there are a few possible pitfalls:

$HTTP["url"] =~ "^/dav($|/)" {
  webdav.activate = "enable"
  #webdav.is-readonly = "enable"
  #webdav.log-xml = "disable"
  webdav.sqlite-db-name = home_dir + "/webdav.db"
}

I assume you did not set webdav as readonly, and that you already had a look at the incoming XML requests. Which leaves me with the feeling that the problem may be that sqlite is missing from the compilation (that last line screams “sqlite is a dependency”). The funny thing is that although the module files required for webdav are present (see lighttpd/lib/mod_webdav.so, and lighttpd/lib/mod_webdav.la), my own compilation steps at DroboPorts do not list sqlite as a dependency…

Indeed, when invoking the lighttpd binary from an SSH session with “-V” I get:

lighttpd/1.4.29 (ssl) - a light and fast webserver
Build-Date: Aug 30 2011 11:52:11

Event Handlers:

	+ select (generic)
	+ poll (Unix)
	- rt-signals (Linux 2.4+)
	+ epoll (Linux 2.6)
	- /dev/poll (Solaris)
	- eventports (Solaris)
	- kqueue (FreeBSD)
	- libev (generic)

Network handler:

	+ writev
	+ mmap support

Features:

	+ IPv6 support
	+ zlib support
	+ bzip2 support
	+ crypt support
	+ SSL Support
	+ PCRE support
	- mySQL support
	- LDAP support
	- memcached support
	- FAM support
	+ LUA support
	- xml support
	- SQLite support
	- GDBM support

Notice that sqlite is not there.

Not everything seems to be lost, though. Some guy 1 seems to have managed to get webdav working without sqlite. To summarize, he commented that “webdav.sqlite-db-name” line. I think that commenting that last line will probably cause trouble if you need webdav properties and locks, but should otherwise work fine.

Lighttpd can be easily configured to use SSL. In fact, the lighttpd DroboApp that is available at DroboPorts is preconfigured to have SSL enabled, and if need be, create a self-signed certificate during the first run.

Bingo - removing the reference to sqlite made it happy as a clam. Since I’m only going to be lightly accessing this for iOS use, I can live with the lack of properties and locks for now. Long-term, how difficult would it be to add sqlite support? I assume this is more than just another drop-in DroboApp.

WebDAV works with HTTPS out-of-box (if you don’t mind the self-signed certificate installed by lighttpd) - just login with your admin account credentials.

Thanks, ricardo! I finally have seamless iOS access to the Drobo, which is going to come in very handy.

Quick FYI: I came around to update lighttpd to the latest version (1.4.30) and took the opportunity to include libxml2 and sqlite support. The new version should support everything you need to put that configuration line back in.

Discussion thread: http://www.drobospace.com/forums/showthread.php?tid=7273

Keep in mind that lighttpd’s webdav implementation has some limitations, which are discussed here: http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModWebDAV