Have you ever dreamt of carrying a personal web site to which a PC browser can
connect to in your pocket? Nokia have an Open Source project called
Mobile Web Server (MWS) which includes a Symbian port of the Apache
web server as well as a gateway solution that enables HTTP traffic to a mobile
device from the Internet. This combination will run a web server on your phone
which can be accessed either from a browser on the phone itself, or by use of
the special gateway, from any browser on the Internet. The gateway is required
to circumvent the NAT/Firewalled mobile phones; they connect and authenticate
to the gateway and set up DNS to allow a client on the Internet to connect to
the Mobile Web Server. Before starting, it is
important to realize that the owner of the phone’s SIM card foots the bill for
all connections, also incoming connections. If you plan to run this over a
period of time, be warned that you’d be better off with an unlimited data plan
for your phone, or at lease one which has a high included data volume.
According to Nokia, there are a number of good reasons as well as some
tricky issues to solve when running a web server on a phone. As to the
former, I could imagine querying calendars of travelling salesmen or perhaps
querying the phone to determine their locations, whereas battery life and data
cost certainly belongs to the latter category. The software, named Raccoon
is available for download as a bundle which includes Python for S60. I
installed the bundle on my Nokia N70 via Nokia’s PC Suite and applied for a
gateway account which was enabled after just a few hours; the return mail
contained username and password as well as instructions on how to set those
up. While waiting for my gateway account, I launched Raccoon without
the connector and pointed the phone’s browser to the Apache server hosted by
itself, entering
http://127.0.0.1
as a URL; I was promptly greeted by a
familiar looking page, on which the capabilities of the Mobile Web Server
can be tested. Before continuing, I enabled a user in the users
file located
in C:/data/apache/conf/
directory on the phone and added a user with a
password. This can be done either through the Nokia PC suite or by installing
pyEdit for S60, and adding a line to the file formatted as
username:password
. Beware that these credentials will later travel in clear
text over the network. As soon as I got my gateway access, I relaunched the
server with the connector: I could then access the
Mobile Web Server over the Internet (shown here from a BlackBerry device) by
entering the URL of the gateway server. Nokia issues URLs as
username.domain-
at-openlaboratory.net
. The full URL is specified in the message returned from
requesting a gateway account. Some of the concept demos are
quite powerful. This screen shot shows some of the available ones
I can access my contacts from a web browser. First an (unsorted) list is
displayed, and my own card shows up as
Sending a message also
works. It is submitted directly into the phone’s inbox. The message submission
form is simple enough
and the phone then displays it in its
usual inbox viewer
When Raccoon is shut down, the owner can set
an “out of office” message which is displayed by the gateway server when my
personal Raccoon installation is unavailable; either because I’ve shut it
down, or because my phone is out of coverage. There are currently two Cool
solutions on the wiki; Raccoon On a Map shows a mashup of Raccoon
users’ location and Contacts Browser Plugin is a browser plug-in which
lets you remote control your phone from a PC web browser.
All in all, the software is a powerful demonstration of the most utilized Open
Source web server (Apache) running on Symbian phones. The wiki has some
information on how to customize your mobile site, whereby most of the
information can be taken from the Apache documentation. An impressive list of
Apache modules has been included in Raccoon, although some of them need
enabling before use as they are currently disabled. Before starting, I
recommend you check the FAQ which might answer some of your questions.