Getting Started Guide

Table of Contents

System Requirements

Server Requirements

To host a SimpleID installation requires:

  1. a web server;
  2. the ability for the web server to write files to the filesystem; and
  3. PHP, version 4 or greater or version 5 or greater. The BCMath extension must be enabled (this is the case for most PHP installations).

Note the second requirement means that you can't install SimpleID on web servers which does not allow you to write files to it, such as Sourceforge.

Browser Requirements

The following requirements apply to SimpleID version 0.6 or later. There are no browser requirements for SimpleID versions earlier than version 0.6.

In order to access SimpleID with your browser, your browser must support JavaScript in general, and jQuery in particular.

The following browsers are known to work with jQuery:

Installation

1. Download SimpleID

You can obtain the latest SimpleID release from the SimpleID web site. The files are in .tar.gz format and can be extracted using most compression tools.

This will create a new directory simpleid containing all SimpleID files and directories.

2. Move the directories to the web server

You should move the following three directories to the web server. (The other directories are for developers only and can be safely ignored.)

cache

This is the cache directory, which stores user settings and other data. For security purposes, this directory should be moved to a place which is writeable by the web server, but not under the document root or public HTML directory (and thus accessible to user agents).

This directory must be readable and writeable by the web server.

identities

This is the identities directory, which stores identity data. For security purposes, this directory should be moved to a place which is readable by the web server, but not under the document root or public HTML directory (and thus accessible to user agents).

This directory must be readable by the web server. The directory should not be writeable by the web server.

www

This is the web directory. This must be moved below the document root so that it is accessible by users. Once this is done, the directory can be renamed to anything you like.

The URL to this directory becomes the URL of the SimpleID server (or, more precisely the OpenID provider endpoint URL).

3. Set up configuration options

Make a copy of the file config.inc.dist in the web directory and rename it config.inc.

Open the file with a text editor and edit the configuration options. The file is formatted as a plain PHP file.

The file contains comments explaining what each configuration option does.

4. Set up identities

Make a copy of the file example.identity.dist in the identities directory and rename it username.identity, where username is the user name with which you want to log into SimpleID.

Open the file with a text editor and edit the identity file. The file is formatted as a Windows INI file.

The file contains comments explaining what each line does.

See identity files for more information.

5. Done!

The SimpleID provider is now operational.

You will now need to notify OpenID consumers of the location of the SimpleID provider. There are various ways to do this; for further details see the tutorial by Sam Ruby.

One way is to put the following line on between the <head> tags on the site identified by your OpenID identity URL:

<link rel="openid.server" href="http://www.example.com/simpleid/" /><link rel="openid2.provider" href="http://www.example.com/simpleid/" />

where http://www.example.com/simpleid/ points to where you have moved the www directory as described above.

The URL specified by these link tags must containing a trailing slash, unlike the SIMPLEID_BASE_URL configuration option in your config.inc from step 3 above. Otherwise, your installation may not work for certain OpenID relying parties.

Alternatively, you can use the YADIS protocol. See the OpenID Enabled web site for further details on how to do this.

Testing your Installation

It's a good idea to test your installation to see if it is working. OpenID Enabled provides various test cases for your installation.