Now that we're done setting up the web server, let's set up all the dependencies. First we need to create a username and pasword:
sudo htpasswd -c /usr/webdav.passwd *USERNAME* New password: Re-type new password: Adding password for user *USERNAME*
Next we need to create the directory that will house the WebDAV server required files:
sudo mkdir -p /usr/var
Next we need to set up permissions. This is a two step process, first on the command line using the following:
sudo chown -R www:www /usr/var sudo chgrp www /usr/webdav.passwd
followed by setting the Dropbox directory so the webserver has read/write access to it. This will differ for each system. I've shown the GUI tool in OS X:
I've given everyone read and write access. This gives the web server complete access to your Dropbox folder. Don't forget to click the gear icon and apply to enclosed items if you have existing items already. Newly created folders will inherit these permissions.
Now it's time to really try out the system. In OS X, go into System Preferences->Sharing and toggle the Web Sharing checkbox, or execute the following command:
sudo apachectl graceful
to restart Apache and make it pick up all the changes.
Once there, you should be able to go to http://localhost/dropdav/ in your favorite web browser and get an error like the screen shot below:
The Forbidden error is because most web browsers won't send the proper credentials to the WebDAV server, so you can't view the file list.
You'll need an actual client to access the WebDAV share. On OS X, you can use Cyberduck, or simply use Finder by opening a new window, and clicking Go in the top bar, followed by Connect to Server. Type in http://localhost/dropdav/ and it will either use information found in your keychain or ask for a password.
Windows folks can give NetDrive a shot for WebDAV connectivity, but I haven't tried it.
We now have a WebDAV server pointing at (in my case) a Dropbox cloud folder that is accessible over the local network, and also a PPTP VPN or the web if you choose to port forward the server to your public IP address. In either of those cases, I'd recommend setting up DynDNS in pfSense so that you will have a simple URL to VPN to.
All that remains is downloading a WebDAV client on your iPad or iPhone and connecting. I've had good luck with WebDAV Navigator. But there are a few other solutions as well. Pages also supports WebDAV natively, so if you just want to edit documents, that might be a way to go. Any resulting changes will be immediately cloud stored.
This exercise shows that Apple's closed system makes it really tough to do something simple like access your own files in the cloud. Android isn't much better if you want to use cloud providers other than Google. But it is better at letting applications share and back up data.
It will be interesting to see how it pans out this year when Honeycomb becomes more widely available (and less buggy) giving Android tablets their first real tablet OS.