Turn your iPhone into a web server using ServersMan’s CyberDuck application. Uses 3G or WiFi.
Caption: CyberDuck here seen serving over a WiFi connection.
Why would you want to set your iPhone up as a web server? Good question. I’ll try to address that in my conclusion. It would seem more useful to be able to edit and administer a web server remotely with your iPhone: The server remains up when you use your iPhone for other tasks. When the iPhone is the web server you’ll need another computer to edit the files on it and you lose the iPhone’s primary functions as a smart phone. But I’ll show you how to do it anyway.
Web server: The ServersMan CyberDuck applications turns your iPhone or iPod Touch into web server using the Serversman website as a proxy. I’ll refer only to the iPhone in the remainder of this post but the iPod Touch is also implied.
Storage (both public and private): The CyberDuck application enables webDAV access to your iPhone to upload/download files, either to your web server’s public area or to use as private portable storage. Unfortunately you cannot access these same files directly from your iPhone, therefore you can’t edit HTML files on the go using only your iPhone.
In order to avoid confusion between the ServersMan website and the ServersMan iPhone application I’ll call the iPhone app the CyberDuck and the developer’s site ServersMan. The iPhone CyberDuck app is free and, currently, so is using the ServersMan proxy site free. I’m not sure what the business model is but their revenue is not coming out of your pocket, yet. They’re also not inserting ads into your website as it passes through their proxy servers. Be aware that at some point their survival will likely depend on generating some revenue.
At a very high level, here’s how it works. Once CyberDuck is installed on your iPhone, properly configured and registered with ServersMan you can start webserving. The files you serve can all be stored on your iPhone. CyberDuck will connect to and use ServersMan as a proxy pass-through site. When you aren’t serving from your iPhone the ServersMan’s site will announce that your CyberDuck web server is unavailable. When you are connected the traffic will be directed back to CyberDuck on your iPhone.
CyberDuck works only in the foreground and while doing so will not let your iPhone go to sleep — it will drain your battery in just a couple of hours if not on charge. Backgrounds applications which intrude on the foreground like incoming SMS and alarms may, I suspect, interrupt the web server.
Although an index.html page is pre-installed with CyberDuck in practice you’ll want to edit your own. You’ll need another computer to edit your HTML files on and from which you’ll upload them to your iPhone’s webDAV storage area. You cannot do all of this on the iPhone itself, even when it isn’t webserving. It would be awesome if you could, but I haven’t been able to figure out if this is possibe nor does the developer claim that it can be done. You upload files to your iPhone via WebDAV when CyberDuck is serving. I haven’t been able to add folders to my iPhone’s storage area nor could I remotely rename folders and files. Files by the same name overwrite existing files without warning. This, together with some unexpected issues referencing the existing folders, may cause problems for you, so follow my examples below with some care.
In order to avoid using the rather convoluted URLs provided for accessing my web server and webDAV storage respectively I chose to use one of my own domain names with web forwarding to make the URLs more meaningful to me. For example, the two URLs provided will look something like this URL to your webDAV storage: http://serversman.net:8080/userName-node/ and this URL to CyberDuck’s web server: http://serversman.net/userName-node/
I decided instead to redirect webdav.myDomain.com to serversman.net:8080/userName-node/ for storage access and wow.myDomain.com to serversman.net/userName-node/ to hit the web server. This paradigm works for me. You can figure out your own if you want to and know how to — but this is not a necessary step to making the system work.
As far as I can tell there is no need for you to logon to the ServersMan website at all, although if you do you’ll need to have CyberDuck serving before you logon. The site appears to offer file management options that are no better than what you can achieve through your browser pointed directly at the webDAV storage on your iPhone. Parts of the proxy site don’t work: It wouldn’t successfully reset my password and it wouldn’t mail me a forgotten password.
You can reset your password from CyberDuck’s preferences which is just as well because before I could access my iPhone’s WebDAV storage I had to reset my password. Remember this, I suspect you may absolutely need to rest your password before webDAV access will work — you’ll know when your username/password combo won’t let you directly into webDAV storage, even though it lets you into the ServersMan site. Odd behaviour indeed but from Googlegroups I see this happened to one other person too.
The app is being developed in Japanese so there are some language issues you’ll need to overcome. I’ll explain some of the ones I figured out below. There are several features that I haven’t worked out yet: GPS location mashups and the sharing of music and photos. Mr Noriaki Misawa at FreeBit, ServersMan Development Leader, is active on their support Googlegroup and will likely help us figure out such things.
Install, register and configure CyberDuck: Get the free ServersMan at the App Store or via iTunes. Launch it. To register you’ll provide an email address which becomes your logon to the ServersMan site as well to your iPhone’s webDAV file storage area. You’ll be asked for a password to go along with that logon. Then you’ll be asked for a username — which becomes the node name by which your website will be know by at the ServersMan proxy site and will be part of the URL to your iPhone’s CyberDuck web server (see userName in the example URLs).
Enable Public Web Access from the app’s preferences (gear on the lower right) to publish your web server. I also enabled Auto Login to start webserving immediately whenever CyberDuck is launched. Don’t forget to hit the Save button (top right) on your preferences, else your changes won’t be saved. I set my location to US from Japan thinking it would change both URLs to .com from their default .net domains — but seeming not so, even though this is suggested at the ServersMan website. Changing your location to the US alters the top level domain to your web server only (now .com), not to your webDAV storage (remains .net).
Jot down the two URLs you’ll need. The URL to your iphones’s webDAV storage: http://serversman.net:8080/userName-node/ (the site’s files are stored in a folder called public_html). The URL to your CyberDuck web server: http://serversman.net/userName-node/
Test CyberDuck: Launch CyberDuck if it isn’t already running. If the Public Web Access and Auto Login preferences haven’t been enabled do so now and then hit the Login button to connect. Your iPhone will vibrate briefly when CyberDuck has connected with the ServersMan proxy. From another computer direct your browser to http://serversman.net/yourUserName-node/ (substitute yourUserName with whatever username you successfully claimed for yourself on registration, do this wherever you see yourUserName in my examples). All going well the default index.html page on CyberDuck will be served up. Now, paying attention to the CyberDuck application on your iPhone refresh the browser page — you’ll see flashes on your server indicated it was hot again. If you Logout or quit the CyberDuck application and then refresh your browser page again you’ll get a page from the ServersMan proxy site saying the server is not currently connected and to try again later.
Here’s what the proxy server displays when CyberDuck isn’t serving …
Uploading your own HTML and image files: You’ll want to hang your own home page by replacing the existing index.html page with your own. Here follows a complete example with pointers on how to navigate the default folders and how to upload HTML and image files to your server.
On you computer, using any editor of your choice, generate your own index.html file. I used BBEdit, writing the HTML code the old way, by hand. In reading through the following minimalistic example you’ll get important insights into how the default folders are names and how you need to navigate them. Read carefully if for no other reason than that …
Here’s the HTML of my index.html home page. You’ll need to replace my web forward links with your own URLs mentioned earlier. My home page calls two images, ideaslogo.gif* and example.png, which we’ll soon be uploading to CyberDuck serving up webDAV storage.
The logo image is stored at the same level as the .html file and the image of me holding a honeycomb moray eel is buried in the Share/ folder. This it how it displays …
Read the code and the presentation screen carefully. They demonstrate how to navigate the folders. Did you spot my mistake? One of my last references to the Share/ folder does not capitalise the “S”, a bad mistake! The folder’s name is “Share/” with a capital “S” and including the slash — requiring a double slash when referencing images inside the “Share/” folder!
File management: I’m now going to demonstrate file management by using my computer’s browser to connect to my iPhone’s webDAV storage — not by signing onto the Seversman website. With CyberDuck on your iPhone serving, navigate to serversman.net:8080/userName-node/ on your computer’s browser (in my examples you’ll note I’m using the webforward webdav.myDomain.com I mentioned earlier). Enter your username (the email address you registered) and password (also as previously given but may need to be reset before it’ll work). You’ll land on this page, showing the content of your public_html folder. Some of the buttons are labeled in Japanese, I’ve translated them according to what they appear to do for me.
Try navigating up to the Parent Directory and back down into public_html, then down into your Share/ folder and back up again. When you navite up out of public_html you’re into the private storage area where you may transfer files which are only accessible via webDAV and are which relatively protected by that username/password combo. Unfortunately I could not read, edit and/or delete files stored here on the iPhone itself.
Navigate back to your public_html folder, this is your sites folder from where pages are served up via the CyberDuck web server. Now let’s delete the mypage.html file we do not need . Follow the directions in this screen shot …
When you’re ready to host your own home page, have your index.html file ready and follow these directions to upload your file into the public_html, overwriting the existing file by the same name …
Upload images as required, either in the public_html or the Share/ folders.
Now you’ll want to test that CyberDuck is serving up your new home page and loading up your own images.
Conclusion: So back to why you may want to use your iPhone as a web server. At the time of writing I think it’s biggest benefit is simply the geek factor. That’s certainly why I got into it. Now that I have it working I’m still wondering how it might be of some practical benefit. In the comments below, lets think out loud: How and why would you use your iPhone as a web server?
*Yes, I know. GIF files date me. What’s even more telling about this particular image is that I’ve carried it forward from my original website from the mid 90s!