# WebJames - the web server

#####
Contents

- Introduction
- Installation
- Your site
- Configuration
- Virtual hosts
- Attributes
- Handlers
  - CGI scripts
  - WebJames scripts
  - PHP
  - SSI
- PUT and DELETE methods
- Content negotiation
- Logging/statistics
- Bandwidth
- Commands
- Cache
- Reports
- Things that need to be improved
- History
- Compiling WebJames
- Solved problems
- Problems and bug reporting

###

Introduction

WebJames is an HTTP server for RISC OS.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Versions 0.24 and earlier were written by Henrik Bjerregaard Pedersen
email: henrik@login.dknet.dk
www: http://login.dknet.dk/~henrik/

Development has now been taken over by Alex Waugh
email: alex@alexwaugh.com
www: http://www.alexwaugh.com/

The source has been released in the hope that others will improve and extend the program.

###

Installation

##### Installing this version from scratch

To get things up and running, you will need to have an internet stack running. If you use the ANT suite, then you will need to ensure that local loopback is enabled.

If you have a driver for a network card already enabled then this should include loopback and so the loopback driver does not need to be explicitly selected. If it is not, then in the ANT configuration program, tick the LAN icon, then open the LAN setup window. Select `Loopback` from the driver list. Host name should be `localhost` and IP address `127.0.0.1` IP Mask `255.255.255.0` and leave Name server blank.

The Acorn stack has loopback configured on by default.

You will also need the MimeMap module version 0.10 or later.

Copy WebJames to a suitable location on your harddisc or wherever you may want to install it. Start WebJames by double-clicking on its icon. No icon will apear on the iconbar, but you can check that it is running by seeing if it is listed in the Task manager.

Check that your web browser is not set up to use a proxy server. If it is, then you will have to turn it off, or add localhost to the list of domains to exclude. You will not be able to run !WebServe (or any other proxy server) on the same machine unless you set WebServe and WebJames to use different ports from each other.

In your web browser, enter the URL http://localhost/, and you should get a page saying that WebJames is working.

You can now put your web pages in the `Site` directory or edit the attributes file to give the location of the pages. You should also change the webmaster email address and if possible server ip address in the attributes file.

The rest of the attributes file, and the config file can be edited to suit your requirements, but the default values should be suitable to start with.

The above assumes that you are running your browser on the same machine as WebJames is running on. If your broswer is running on another machine, either on a LAN or over the internet, then you should enter http://host/ in your browser where host is the hostname or IP address of the machine WebJames is running on.

##### Upgrading from an earlier version

Move the old version somewhere out of the way, then copy the new version in its place. Versions 0.46 and earlier store the config and attributes files inside the !WebJames application. Newer version store them in Choices:WebJames. If upgrading from an old version you'll probably want to copy your config and attributes files from the old version to Choices:WebJames.

###

About your site

The web site to be served by WebJames is usually stored in a single directory, and may hold any number of files and subdirectories. The path to the directory is set with the DocumentRoot attribute in the attributes file.

However, much more complex arrangements are possible if desired by editing the attributes file.

The filepaths in incoming request will use unix-syntax instead of RISC OS syntax, so WebJames will switch / and . so the URI `/pics/file.gif` will refer to the file `pics.file/gif`.

If a request for a directory is received, WebJames will append the name of a default file (usually `index.html`) to the URI; thus a request for the URI `/whatever/` will usually return the file `whatever.index/html`. The name of the default file is an attribute of the directory, and so may be changed by editing the attributes file.

Back to contents