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.
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.
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.
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.
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.
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.
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;
You will need to download the latest WebPA stable release from MySQL Documentation.
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.
Download the latest stable install of WebPA cron jobs/services being set for the following files;
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','');
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");
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
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.
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;
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.
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;
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.
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.
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.
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 |
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/ |
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 |