How to install applications on your N95 from a local web server

by Ross McKillop on October 21, 2008

Symbian

After writing more than a dozen of these tutorials and installing and removing so many different applications, I thought to myself, there has got to be a faster way. WiFi is far faster than Bluetooth and far more convenient than digging for a USB data cable. I have a computer running Linux, I have a wireless network, and the N95 connects via WiFi so why not just run Apache on my computer and point the N95 at a directory on the computer?

I’m writing this tutorial using Fedora 9, but these instructions should be easily adaptable to just about any Linux distribution. Also, you can install Apache in Windows or OS X, and follow along with the steps in this tutorial.

  1. These instructions are almost completely command line based. First, check if you already have Apache installed. There’s a chance you might already have it. For RedHat, Fedora and other RPM based Linux distributions:

    [user@radon ~]# rpm -q httpd
    httpd-2.2.9-1.fc9.i386

    If you don’t, it’s as simple as the following:

    [user@radon ~]# sudo yum install httpd
    Loaded plugins: changelog, downloadonly, fastestmirror, list-data, merge-conf,
    : presto, refresh-packagekit
    Setting up and reading Presto delta metadata
    No Presto metadata available for atrpms
    No Presto metadata available for google
    No Presto metadata available for fedora
    No Presto metadata available for adobe-linux-i386
    No Presto metadata available for updates-newkey
    No Presto metadata available for updates
    Loading mirror speeds from cached hostfile
    * fedora: mirror.hmc.edu
    * updates-newkey: mirror.hmc.edu
    * updates: mirror.hmc.edu
    Finished
    Setting up Install Process
    Parsing package install arguments
    Resolving Dependencies
    –> Running transaction check
    —> Package httpd.i386 0:2.2.9-1.fc9 set to be updated
    –> Finished Dependency Resolution

    Dependencies Resolved

    ==================================================
    Package Arch Version Repository Size
    ==================================================
    httpd i386 2.2.9-1.fc9 updates-newkey 975 k

    Transaction Summary
    ==================================================
    Install 1 Package(s)
    Update 0 Package(s)
    Remove 0 Package(s)

    Total download size: 975 k
    Is this ok [y/N]: y
    Downloading Packages:
    Downloading DeltaRPMs:
    Rebuilding rpms from deltarpms
    httpd-2.2.9-1.fc9.i386.rpm | 975 kB 00:24
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Installing : httpd [1/1]

    Installed: httpd.i386 0:2.2.9-1.fc9
    Complete!

    If your output looks slightly different that the above, don’t worry. I have a few extra repositories enabled as well as a few extra yum plugins. The important part is the line that says: Installed: httpd.i386 0:2.2.9-1.fc9.

  2. Start Apache:

    [user@radon ~]$ sudo /sbin/service httpd start
    Starting httpd: [ OK ]

  3. Now test that it works. Open a browser and visit http://127.0.0.1/ You should see something similar to the following:

  4. click to enlarge

  5. Lets find out the IP Address of the computer. We’ll need this when we connect from the phone.

    [user@radon ~]$ /sbin/ifconfig wlan0
    wlan0 Link encap:Ethernet HWaddr AA:BB:CC:DD:EE:FF
    inet addr:192.168.20.2 Bcast:192.168.20.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:206616 errors:0 dropped:0 overruns:0 frame:0
    TX packets:161635 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:251797632 (240.1 MiB) TX bytes:24504623 (23.3 MiB)

    Note the second line of the output where it says inet addr. Our IP Address is 192.168.20.4.

    On your phone, choose Menu -> Web. Make sure you choose the correct Access Point, the name of your wireless network. Now, choose Options -> Go To Web Address and enter the IP Address you discovered above. You should see the Apache Test Page on your phone’s browser.

  6.  
     

  7. The default installation of Apache on Fedora 9 expects you to put your web pages in /var/www/html. I decided to create a separate directory at /home/shared and make that accessible via the web. The following commands create the directory, then change its ownership to my user name, then create a symbolic link to the new directory below the default web root.

    [user@radon ~]$ sudo mkdir /home/shared
    [user@radon ~]$ sudo chown user: /home/shared
    [user@radon ~]$ sudo ln -s /home/shared/ /var/www/html/shared

    Now visit http://127.0.0.1/shared/ in your browser and you should see an empty directory similar to the following:


  8. click to enlarge

  9. Now visit http://192.168.20.4/shared on your phone, substituting the IP Address of your computer.
  10.  

  11. Ok, now that the phone can see your shared directory, copy some installation files into it and choose Options -> Navigations Options -> Reload.
  12.  

  13. Simple click on one of the files and you are prompted to install it. I find this way a whole lot faster than installing applications via USB or Bluetooth.
  14. If you are paying attention to the above screenshots, you will notice that the installation files I am using in this example are actually the Apache installation files. Yes, you can run Apache on your N95. Watch for my upcoming tutorial on how to run Apache on the N95.