The cloud and the iPad. We want it now, so let's make it happen
We've all seen how much Apple loves the cloud and heard about their plans to finally tackle cloud storage. But that's not here now, nor will it be an open system when it does appear. Let's face it: anything Apple does about the cloud, it's going to do on its own terms. Then they will tell the fanboys it's because nobody has done the cloud right until Apple did.
Thankfully all is not lost for those of us with the knowledge and will to do something about it. Today's Day In The Cloud is about getting the cloud into the iPad in a way that lets you leverage whatever service you want. There are a number of things to do to achieve this, so let's get to work.
I'm going to assume you have some things already in place, i.e.
- A home file server, preferably running OS X or Linux. This guide should work for Windows as well, but was written based on my home setup, which uses a Mac Mini.
- A cloud storage account that ties into the file system on a computer. I used Dropbox because I currently pay for it. But SugarSync might be a better option, if you aren't already hooked on a particular service.
- A decent Internet connection, with at least 1 Mbps upload or faster being ideal. 768 Kbps upload (typical on DSL) is the bare minimum, and will make transferring larger files take too long.
- A router that supports PPTP VPN. This can also work with any router by using port forwarding. But VPN provides security without a lot of server configuration hassles, and PPTP is easy to set up. I have used both pfSense and Astaro, but any of the major distributions should work.
- An understanding of how web servers work, specifically the Apache Web Server.
- A comfort level with the command line. Windows users should be able to avoid the CLI entirely, but I make no guarantees.
You can see from this list that this procedure isn't for everyone. But the results are worth it, if you're up for the challenge.
The WebDAV Server
WebDAV was originally designed as an extension to standard HTTP to get over the hurdle of using FTP to update websites. WebDAV is engineered to allow multiple users to concurrently access the same fileset without stepping on each other's toes.
WebDAV has surprisingly good support for iOS. Apple's Pages on the iPad has native support for WebDAV and is what I use when I'm writing articles while traveling without my laptop. There are also some good free apps, and even better paid apps that are WebDAV clients allowing you to download, edit files and re-upload files.
So let's get down to business with configuration. I'm assuming you've already installed Apache's HTTPd (hereon called the web server) if your system requires it, and can at least browse to http://localhost and view the test page. If you're using Windows and need to install Apache, go grab it from here and run through the installer. If you're on Linux, I'll just expect you're knowledgeable enough to keep up .
And just in case you want to use IIS, just Google IIS WebDAV. There are plenty of articles for the different versions of IIS. It will work just the same.
Setting up WebDAV couldn't be easier. Once you have Apache installed and working (on OS X, make sure you enable Web Sharing in System Preferences -> Sharing), you can just edit the single httpd.conf file to enable it. Now on many modern *nixes, like OS X and Ubuntu, that file has been split apart and uses includes to try to keep the individual files manageable.
On OS X, the first file we need is /etc/apache2/httpd.conf. Edit this using your particular editor of choice. I'm a vi guy, so my command would look like sudo vi httpd.conf. Sudo is needed since everything is owned by root in /etc.
Once you're in the file, search for the line that looks like the following:
LoadModule dav_module libexec/apache2/mod_dav.so
and make sure it's not commented out (with a # in front).
The next line we need looks like this on OS X:
It should be towards the bottom of the file, and is disabled by default. Enable it, and we're done in httpd.conf!