Rogō runs on a standard LAMP stack:
To use LDAP for authentication or lookup:
N.B. Rogō is being used on Linux and Solaris servers for all known installations in the community. However, as Rogō runs on a LAMP stack there should be no issues with it running on a Windows server.
From Rogō 6.1 the install and update scripts will check that the listed extensions are installed before letting you proceed.
<?xml version="1.0"?> <rogo> <version>6.3.0</version> <php> <min_version>5.3.9</min_version> <extensions> <extension>mysqli</extension> <extension>mcrypt</extension> <extension>curl</extension> <extension>gd</extension> <extension>ctype</extension> <extension>mbstring</extension> <extension>xml</extension> <extension>xmlrpc</extension> <extension>fileinfo</extension> </extensions> </php> <database> <mysql> <min_version>50100</min_version> </mysql> </database> <translations> <url>http://rogo-oss.nottingham.ac.uk/langpacks</url> </translations> </rogo> |
From 6.3 on intall and update rogo will attempt to download the latest language packs available. The university of nottingham hosts a rogo site to download these from. If you prefer this setting can be changed to a site of your choosing.
Running on-line summative assessments requires a stable hardware platform with enough resources to handle the current student numbers and predicted growth in numbers. Rogō is a web application based around the LAMP stack and many of the standard optimisation techniques are applicable. However, on-line summative assessments have a different load profile to normal web traffic caused by the start of the exam. This high load over a short time period and the importance of the consequence of hardware failure must be taken into account.
Below are some sample/example based systems.
CPU | 1x Quadcore |
RAM | 4Gb |
Hard Disk | 8Gb (RAID recommended for reliability NOT 0,2,3,4, for this size of space RAID 1 is adequate) |
CPU | 2x Quadcore |
RAM | 8Gb |
Hard Disk | 20Gb (RAID recommended for reliability NOT 0,2,3,4, for this size of space RAID 1 is adequate) |
CPU | 4x Quadcore AMD Opteron(tm) Processor 8356 2300MHz |
RAM | 16Gb |
Hard Disk | 4 x 250Gb (RAID 5) |
PSU | 4x redundant |
Network | 2x Gbit |
Rogō should run on any LAMP stack without modification however there are some configuration task which need to be undertaken to ensure smooth operation under load.
Most directories in Rogō should be set up to be writable by the owner only:
For these writable directories the permissions should be set to drwxrwxr-x for the user that Apache runs as. Note: |
Optimising apache can be a specialised task so if you have an apache expert/experienced sysadmin please consult with them. Server prefork settingsThe settings for apache adjust how many processes are listening and how many spare threads are available (As of writing this document running php as a module in apache is only recommended for the prefork configuration of apache). For small scale tests then the default apache settings are acceptable, but to increase performance then the numbers should be increased (this will usually use more ram as these are extra processes). It is recommended to increase the minimum spare servers & the start servers (as this will improve the initial start from when the users arrive at the page as it can cope with more simultaneous requests) This is directly related to how much RAM is used For more info about this please go and read the Apache documentation. Server prefork settings from a basic apache config from a default install of apache in Centos 6.2
An example from a university of Nottingham Apache config for prefork settings
As a minimum Apache should be configured with the following to prevent access to sensitive files
|
If you have a MySQL Expert or database administrator you are recommended to contact them for advice first as optimizing MySQL is an 'art'. The basic default installation config should work in small settings. It is best to increase the key_buffer (the settings do depend upon your exact conditions) then make sure that the query cache is increased. You would be recommended to have a read of the MySQL documentation. The my-large.cnf should be suitable for most configurations (this should be supplied with mysql maybe in the examples directory). An example MySQL my.cnf segment from University of Nottingham:
On systems with networked file storage (SANS) with slow disk IO times considerer using:
See 'adaptive flushing' for a description of the consequence. |
Below are some of the settings which may need to be altered from their default values:
E-mail configurationRogō uses the built in PHP mail functions to send e-mail, therefor you will need to configure it correctly for your environment. |
Users wishing to install in one of the supported languages other than English should download and install the language pack http://rogo-oss.nottingham.ac.uk/langpacks/ before proceeding with the installation.
Work is being done to make this automated in the future. |
Extract Rogō into the web root and visit 'https://[YOUR_HOST_NAME]/install/index.php'. This will check your installation and create the appropriate databases and users.
From Rogo 6.1.0 an additional install step is needed to install composer and libraries (note: from 6.2.0 Rogo will attempt to install composer automatically):
|
Go to https://getcomposer.org/download/ or search for composer in your package manager. |
From Rogo 6.4.0 an additional install step is needed to install npm and libraries (note: from Rogo will attempt to install the libraries automatically):
npm install --production |
Go to npm comes bundled in nodejs you can download from https://nodejs.org/en/download/ or search for npm/nodejs in your package manager. |
Rogō main configuration file is in /config/config.inc.php – This holds system wide setting for your installation.