A while back we took a look at running a HTTP web server on RISC OS with Web James, which for the most part was a pretty painless process. WebJames isn’t the only option out there though, HTTPServ by Thomas Millius began life in 1998 as a way for Thomas to get more familiar with the Internet and how it worked. Fast forward to 2018 and it’s now at version 0.11 and able to run on modern RISC OS hardware.
HTTPServ is a simple HTTP 1.0 web server, it currently doesn’t support HTTPS (no web server on RISC OS does to my knowledge) but it can act as a proxy and it supports cgi-bin dynamic webpage generating including !PHP.
You can download HTTPServ for free from the Pling Store.
Setting up HTTPServ
What’s cool with HTTPServ is, once it’s been installed and the application is run for the first time, your web server is already setup and running with a basic template webpage.
An icon appears on the left side of your icon bar, clicking on it will bring up your web directory where all your webpages and other files you want accessible to your website’s visitors should be stored. The default web directory is actually within the !HTTPServ application itself, inside a folder called Files.
If you’d rather not write your website manually via a text editor, you could use something like HTML3 to design the website that will run on your HTTPServ server. Alternatively, if you’ve already got a pre-designed website or something similar ready to upload from another machine, you can use something like Samba so that files can be dropped onto the RISC OS system running HTTPServ.
Should you want to tweak with any of the configurations of the server, for example routing traffic through a proxy or accepting traffic from certain IP addresses only, then middle-clicking on the icon bar iconthen clicking on Configuration will bring up the HTTPServ config file in a text editor, where you can tweak away to your heart’s content. You can configure a fair amount of things, including changing your web directory from the Files folder within !HTTPServ to another location on your system.
Should you want your web server to automatically start when your system boots, then you can configure HTTPServ to run at boot by running !Boot, navigating to ‘Boot’ then ‘Run’. Just drag !HTTPServ into the ‘Run at startup’ window and click ‘Set’ to save your changes. Your web server will then run whenever your system starts.
To make sure your web server is running, visit http://127.0.0.1 in a web browser on the system you’re running HTTPServ on, this should bring up your website.
Local network configuration
If you want to access your website from an external network (i.e. via the Internet) then you’ll need to enable the firewall your web server is passing through to allow connections on port 80 (the HTTP port). With most setups this can be achieved by adding a port forwarding rule in your router’s firewall to allow TCP connections over port 80.
Should you decide you don’t require access to your web server from an external network – for example, you only need to connect to it from devices in your home so that you can easily link through to other servers/services on your home network – then you don’t need to do anything, traffic should pass over port 80 without a problem unless you have device-specific firewalls blocking this port (you’ll probably know about it if this is the case).
Accessing your website
Once your web server is setup and running on RISC OS, you can remotely access it by pointing any web browser to the IP address designated to your RISC OS machine running HTTPServ, or alternatively if you’ve configured a domain name to point to your IP address, you can visit the domain name.
LAN Access – If you’re accessing it from a device connected to the same local network as your server, then you can specify the LAN IP address for your device (e.g. 192.168.0.2) – it’s worth setting up a static LAN IP address in your router’s DHCP settings to ensure this stays the same.
If you will be accessing the server from your local network and from external connections, then following the steps in the ‘WAN Access’ section below will be your best bet.
WAN Access – If your website needs to be accessed from machines outside your home network, then web browsers will need to point to your WAN IP address, which will be assigned to your Broadband modem. You can find out your IP address by searching ‘My IP’ using most major search engines,(click here for a pre-configured search query) or or alternatively if you’ve configured a domain name to point to your IP address, you can visit the domain name.
There we have it! You’re running a web server on your RISC OS computer with HTTPServ.