Introduction

This document will take you through the installation procedures for installing WebPA. Please take the time to read through this document fully before beginning the installation process.

 

WebPA is built on open source software and can be used in conjunction with any server as long as all the ‘requirements/ pre-installation checklist’ have been met.

 

WebPA can be broken down into two major components. The first component is the Database, and the second component being the PHP files that constitute the application and interface. Information for how to set up/ install these components are described in the following sections.

 

Requirements/Pre-installation Checklist

The WebPA application requires the following components:

 

These software components need to be installed on the computer/machine/server where you are going to be installing WebPA. It is possible to install the components independently, however, it is possible to find packages of the components that can be installed together. If you want to use a packaged install please read ‘Appendix 3– Software Packages’ where you can find information about where to download the software components and packages.

 

Information on installing, configuring and administering these software components is beyond the scope of this document. Comprehensive help about the software components can be best sought from each of the open source communities.

 

Web Server

WebPA was originally written to be run on Apache Server Project. The system has sucessfully been installed on other server architectures e.g. Microsoft IIS Server. The project would be grateful to know of any other server configurations running WebPA.

 

MySQL

You will need the login details (username and password) which will allow you to create and administer at least one database, if MySQL has already been set up. If you need to install MySQL then you will to need choose to either install the latest supported version 5.x.x or the version that WebPA has currently been written for, which is version 4.1.22.

 

PHP

You will need to install the 5.2.x version of PHP

When installing php you will need to ensure that the following configuration modules are included

 
A lot of these configuration modules are installed as standard but it is best to check that they are included.

 

Permissions

You will need to set up permissions on the web server to allow files to be written to the server file structure in a specified location. WebPA advise you to take security measures that are appropriate for your server to ensure that the files can only be written by the application.

 

Installing a new version of WebPA?

In general the reasons for why self and peer assessment are used is related to the meanings of the terms. Generally the assessment forms are under stood to be;

 

Downloading

You will need to download the latest WebPA stable release from MySQL Documentation.

 

Alternative Database Installation

You may wish to create you own copy so that you can test the system before putting it into use. It is possible for you to install a blank database, however Bob has provided a solution for versions prior to 1.0.0.2.

 
By following the above instructions you will create a semi populated database with false information.

 

This will inturn create the following users:

 

Admin User

username = fred

password = test

Staff User

username = rakia

password = rakia

and

username = Chimoa

password = Chimoa

 

There are also aproximately 10 students with the details of AAAA, BBBB etc.

 

 

Installing the WebPA Application Files

Download the latest stable install of WebPA cron jobs/services being set for the following files;

  • /tutors/assessments/email/trigger_reminder.php
  • /tutors/assessments/email/closing_reminber.php

 
define('APP__REMINDER_OPENING', false);

define('APP__REMINDER_CLOSING', false);

The file structure also needs to be set to suit the operating systems structure

define ('DOC__ROOT', '[File structure]');

On a Microsoft Windows machine this will be something like ‘C:\webpa\’, on a *nix machine it will be ‘/var/www/html/webpa’.N.B. Please note that a trailing slash is required for the windows system.

In order to set the authentication method that will be used to allow users to logon to the application the following line of code within the configuration file needs to be changed.

define('AUTH__CLASS', '[authentication option]');

There are currently two options for authentication. The first is to use the database; this is set by the authentication option of DBAuthentication. To use the LDAP authentication option the use; LDAPAuthenticator.

The final section to be configured is for the students are able to add textural input as part of an assessment.

NB. In the UK if requested any information about the student would need to be made available to them under the Freedom of Information Act 2000. Therefore it is up to the installer of the software to meet the institutional requirements dependant on this act.

define('APP__ALLOW_TEXT_INPUT', true);

Within the WebPA tool a number of areas allow you to send emails. You can leave the settings as in the php ini file and the system should use the default php email system. Alternatively you can set WebPA up to use the organisational SMTP server. In order to do this you will need to edit the following lines in the config file.

ini_set('SMTP','localhost');

ini_set('smtp_port','25');

If using a Windows based architecture then you need to set the send mail from

ini_set('sendmail_from','');

 

LDAP Configuration

You will need to locate and open the following file;

Include ->inc_global.php

Within this file you will find the following definitions for which you will need to change as appropriate. The area for editing is shown in square brackets ([ ]) and italics.

define ("LDAP__HOST", "[host url]");

define ("LDAP__PORT", "[Port number]");

define("LDAP__USERNAME_EXT", "[User name extention]");

define("LDAP__BASE_DN""[dc=…]");

define< ("LDAP__FILTER""");

$LDAP__INFO_REQUIRED = array("displayname","mail", "sn","homeDirectory", "memberof");
 

Troubleshooting

If you are having problems with the LDAP authentication then this may be related to anonymous binding. The following patch was recieved from D.Appelbe of Liverpool University (http://sourceforge.net/tracker/index.php?func=detail&aid=1813683&group_i…) for the file \library\classes\class_ldap_authenticator.php

Add the following code at line 91 in the class_ldap_authenticator

------------------------------------------

//-- DEA Addition

//-- Need to get full DN for bind

//--

$ldapbind = ldap_bind( $ldapconn );

if ( $ldapbind ) {

//-- now get DN of user

$retVal = ldap_search( $ldapconn, LDAP__BASE_DN, "cn={$this->username}",

array( 'dn', 'sn' ) );

if ( !$retVal ) {

// drop the ldap connection

ldap_close($ldapconn);

return false;

exit;

}

$uentry = ldap_first_entry( $ldapconn, $retVal );

if ( !$uentry ) {

// drop the ldap connection

ldap_close($ldapconn);

return false;

exit;

}

$user = ldap_get_dn( $ldapconn, $uentry );

}

----------------------------------------

Also remove the “*” on the filter definition.

There are also the following areas of the LDAP Authentication Class that you may wish to check.

From line number 121

//with the results add this to the cls info.

$this->fullname = $info[0]["displayname"][0];

$this->email = $info[0]["mail"][0];

$description_str = $info[0]["description"][0];

to ensure that the ‘descriptionname’, ‘mail’ and ‘description’ match the LDAP stucture that you use.

Also you may want to change the lines from 127 to match the how you identify the staff and students in the description area.

//check in the string for staff

if(strripos ($description_str, 'staff')){

$this->user_type = 'staff';

}else{

$this->user_type = 'student';

}

LDAP error codes
If you recieve specific LDAP error codes then you can see what they mean; http://www.directory-info.com/LDAP/LDAPErrorCodes.html

 

Running WebPA for the First Time

Once you have installed and configured the WebPA application and database then you will want to ensure that the system is running correctly. To do this you will need to navigate to the page you defined in the /includes/inc_global.php file as the APP__WWW variable.

If the system has been properly configured then you will see the login page. If there is a problem with the installation then you will be presented with no information. In order to find out what the problems with the installation are you will need to make a change to the /includes/inc_global.php file. If you change the following line error_reporting(0); to error_reporting(E_ALL); you should be able to see all of the errors for the system.

 

If you have had no problems with the install and can see the login page okay, then you will need to set up a administrators account. In the web browser you will need to navigate to /install.php. This file will allow you to enter the information for the administrators account. You will need to enter the information for the following;

 

There is an optional tick box to let the project know about your installation Notify the WebPA Project that an installation of the system has taken place for inclusion on the WebPA community site.. If you tick this box then an email will be sent to the WebPA team and you institution name will be displayed on the MySQL documentation.

 

We also recommend that you take a copy of the files as configured currently. In order to do this all you need to do is copy the directory to another location on your system.

 

Replacing the Files

It is recommended that you download the new stable release from the download page and un zip the file this will create a new directory ‘WebPA’ which contains all of the WebPA files and directories. You will need to move this directory on to the web servers document root, or your public HTML directory as when you originally installed WebPA.

 

However, before moving the files we recommend that you remove the following files;

 

  • /install.php
  • /test.php

 

We also recommend that you copy the configuration elements before moving the files into their final place.

 

Alternatively you can un-zip the files and move them in to a location on the server before altering the server configuration for the WebPA system.

 

Database Changes

The database update is only applicable when upgrading from the last version to lates release.

The database update script, tables_updates.sql has been created to be UTF-8 compliant and should, in theory work, on all platforms.

It is entirely up to you on how you run the update script tables_updates.sql. If you are using an interface to MySQL such as Query Browser then you can open the files via

File->Open Script…

this will then open a directory browser window for you to locate the tables_updates.sql file where you have saved it.

Alternatively you can run the script from the a command line. For example for a linux machine you will need to type

mysql [my_db_name[ -u[user_name] -p[password] tables_updates.sql

Where the text within the [] brackets is replaces with your local terms.

It is also possible to achieve the same out come by using the MySQL command prompt by entering:

mysql>source tables_updates.sql

Once you have run the WebPA script we recommend that you remove the following files;

  • /pa_tables.sql
  • /tables_updates.sql

 
It is also recommended that you put in place a database back up schedule if not already present. More information on creating back-ups and schedules can be found in the MySQL Documentation.

 

Troubleshooting

If anything goes wrong in the process we recommend that submit a bug report via the WebPA source forge area or use the mailing lists and forums to find the answer or post questions.

 

Thanks

Caroline Lowery from the CEDE for reading through and providing a sanity check on the information provided in this document.

 

If you would like to be included in the thanks section for this document then you will need to add something or provide feedback on how useful or unhelpful it has been with suggested corrections if applicable.

 

 

Appendix 1 – Glossary of Terms

Term Definition
Components Application, service or software that is required to run WebPA
Package Group of components all bundled together in to a one-click installation

 

 

Appendix 2 – Student Briefing Document

Description URL
Apache Server Project Open source server application which allows PHP to be run and served to the application user via HTTP http://httpd.apache.org
PHP Server scripting language that WebPA has been written in http://php.net/
MySQL Database server application http://mysql.org/

 

 

Appendix 3 – Student Briefing Document

Name Operating system URL
Entropy package Mac OSX http://www.entropy.ch/software/macosx/php/
PHP for Solaris Solaris http://sunfreeware.com/programlistsparc10.html#php
MAMP Mac OSX http://www.mamp.info/en/index.php
SGI-IRIX 6.5.x

http://freeware.sgi.com/index-by-alpha.html#php

XAMPP Cross platform http://www.apachefriends.org/en/xampp.html