9. Command Line Install/Update
Rogo 7.0.0
Recommend for experience users only. The web browser install interface may be more suitable - Installing the Application.
Install
ExamSys can be installed on the command line using the init.php script.
init.php
$ php init.php -h
ExamSys initialisation script options
-h, --help Display help
-u, --user, Database username
-p, --passwd, Database password
-s, --host, Database host
-t, --port, Database port
-n, --name, Database name
User/Passwd: Username and password for database - must have full access to db.
Host/Port: Server and port database is running on.
Before running the init.php script the admin user should create a config/settings.xml file. It is advised to copy and update the config/settings.example.xml file.
settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<company>University of Testing</company>
<server>
<host>127.0.0.1</host>
<data>/rogodata</data>
<temp>/tmp/</temp>
<root></root>
<site_address>https://localhost/</site_address>
</server>
<database>
<prefix>rogo</prefix>
<engine>InnoDB</engine>
<help_engine>MyISAM</help_engine>
</database>
<timedate>
<mysqlshortdate>%d/%m/%y</mysqlshortdate>
<mysqllongdate>%d/%m/%Y</mysqllongdate>
<mysqllongdatetime>%d/%m/%Y %H:%i</mysqllongdatetime>
<mysqlshortdatetime>%d/%m/%y %H:%i</mysqlshortdatetime>
<phplongdate>d/m/Y</phplongdate>
<phpshortdate>d/m/y</phpshortdate>
<phplongdatetime>H:i:s</phplongdatetime>
<phpshortdatetime>H:i</phpshortdatetime>
<timezone>Europe/London</timezone>
</timedate>
<sysadmin>
<username>testuser</username>
<password>password</password>
<title>Mx</title>
<forename>Test</forename>
<surname>Tester</surname>
<email>test@example.com</email>
</sysadmin>
<authentication>
<lti>0</lti>
<internaldb>1</internaldb>
<ldap>1</ldap>
<summativeguestlogin>1</summativeguestlogin>
<userimpersonation>1</userimpersonation>
</authentication>
<ldap>
<server>ildap.example.ac.uk</server>
<searchdn>OU=University,DC=ac,DC=uk</searchdn>
<username>user</username>
<password>password</password>
<prefix>pre</prefix>
</ldap>
<supportemail>support@example.com</supportemail>
<paperanomalyemail>anamoly@example.com</paperanomalyemail>
<contact1>
<name>Test Tester</name>
<telephone>1234 567890</telephone>
</contact1>
<contact2>
<name>Test Tester</name>
<telephone>1234 567890</telephone>
</contact2>
<contact3>
<name>Test Tester</name>
<telephone>1234 567890</telephone>
</contact3>
<help>1</help>
<translations>0</translations>
<lookup>
<ldap>1</ldap>
<xml>0</xml>
</lookup>
<labsecurity>
<type>ipaddress</type>
</labsecurity>
</settings>
Setting | Description |
---|---|
company | Name of the institute ExamSys is running for |
server/host | IP address of web server. Probably 127.0.0.1. |
server/data | Location of ExamSys data direcotry on server. i.e. /examsysdata |
server/temp | Location of temp directory on server. i.e. /tmp/ |
server/root | Path to Examsys from web root directory. Will be '/' unless using sub directory's. |
server/site_address | The url to the root of ExamSys (from ExamSys 7.6.0) |
database/prefix | Prefix appending to ExamSys tables and users in database. i.e. examsys |
database/engine | The MySQL database engine to use for the core database |
database/help_engine | The MySQL database engine to use for the help database |
timedate/mysqlshortdate | The short date format returned by the database |
timedate/mysqllongdate | The long date format returned by the database |
timedate/mysqllongdatetime | The long atetime format returned by the database |
timedate/mysqlshortdatetime | The short datetime format returned by the database |
timedate/phplongdate | The long date format returned by the application |
timedate/phpshortdate | The short date format returned by the application |
timedate/phplongdatetime | The long time format returned by the application |
timedate/phpshortdatetime | The short time format returned by the application |
timedate/timezone | The timezone the application should use. |
sysadmin/username | Sysadmin username |
sysadmin/password | Sysadmin password |
sysadmin/title | Sysadmin title |
sysadmin/forename | Sysadmin forename |
sysadmin/surname | Sysadmin surname |
sysadmin/email | Email address for sysadmin |
authentication/lti | Enable LTI authentication |
authentication/internaldb | Enable internal database authentication |
authentication/ldap | Enable LDAP authentication |
authentication/summativeguestlogin | Enable guest login accounts |
authentication/userimpersonation | Enable sysadmin user impersonation |
ldap/server | LDAP server address |
ldap/searchdn | LDAP dn |
ldap/username | LDAP username |
ldap/password | LDAP password |
ldap/prefix | LDAPprefix |
supportemail | Comma seperated list of support emails |
paperanomalyemail | The address that anomaly reports should be sent to (from ExaSsys 7.6.0) |
contactX/name | Support contact full name |
contactX/telephone | Support contact email address |
help | Enable loading of help files |
translations | Enable installation of language packs |
lookup/ldap | Enable LDAP lookup |
lookup/xml | Enable XML lookup |
labsecurity/type | Lab computer validation type |
Once installation is completed it is recommended that the config/settings.xml file is removing from the system as it contains user details.
Update
ExamSys can be updated on the command line using the upd.php script.
upd.php
$ php upd.php -h
ExamSys initialisation script options
-h, --help Display help
-u Database username
-p Database password
-s Web server address. It should be in the form https://www.example.com/path/
It is only used on upgrades to version 7.6.0 to avoid a command line prompt (optional)
-o Load staff help (0/1, default 0)
-q Load student help (0/1, default 0)
-l Load language packs (0/1, default 0)
Note to Developers
When updating you may need to update both composer and npm.