This chapter describes the installation of OLAT for those wishing to use OLAT in a test or production environment. If you are a developer then please skip this section and proceed to Section 2.3, “Developer Installation” where the installation process for an Eclipse IDE environment is described (please see the specific notes regarding Eclipse and WTP found in developer installation instructions!) If you are a deployment manager then we suggest that you review the Operations chapter to consider additional installation and configuration details. This installation process has been tested on Linux, MacOSX and Windows systems. Our production systems run on Linux and use JDK 1.6.x, Tomcat 6.x, MySQL 5.x and the latest Openfire 3.4.x
The following are the necessary steps for installation:
Download OLAT and unpack it into a working directory. It is not necessary to have administrative rights on your machine in order to configure and build OLAT. However, you will likely need administrative access to deploy the database and web application components.
The olat.properties file contains settings required to build and install OLAT most of which
you will seldom, if ever, need to change. The olat.local.properties.sample file
contains those configuration settings you are most likely going to need to change for your environment.
Begin by making a copy of this sample file and naming it olat.local.properties. Review
its contents and amend them as appropriate for your local environment.
Please note that OLAT application directories will be created for you during the build for which the build user account must have sufficient access rights. Pre-existing directories will not be removed though their contents may become overwritten.
The follow remarks apply to the local properties (note that other parameters not cited here are chiefly of relevance to developers):
Table 2.1. Local configuration properties
userdata.dir | This should be set to an appropriate application data location. A typical choice on a Linux system would be
/var/lib/olat.
|
share.dir | This contains samples of optional configurations generated from your property settings. A typical location on
a Linux system for such assets would be /var/share/olat. |
smtp.* | Mail settings for your local SMTP agent (typically an MTA such as Sendmail, Postfix or Exim) Without these settings your OLAT instance will be unable to issue emails. You must sent email addresses for admin and support emails. |
instance.id | This is an internal instance identifier used by OLAT and should only be changed in the event that several instances are deployed within a single cluster. |
skip.db.install and db.prompt |
It is important to note that during the installation the database will be created along with necessary tables. If you
already have a working database that you do not wish to alter then you must set the value of this
property to false! Note that if you are installing a database then
the db.prompt (which defaults to true) will determine whether
or not you are prompted to confirm the installation of your database. You should
set this to false if you do not want to be prompted (e.g., if you want a
non-interactive build.)
|
db.* |
The database settings are mostly self explanatory and refer to the database server that will host the OLAT database.
Note that it is necessary to state the name of an administrative user with the necessary rights to create databases
(on MySQL the root user is often used for this) using the db.admin.user property.
You may, if you wish, also store the administrative user password in your olat.local.properties file
but if you do so, then you should ensure that the file is not publicly readable for security reasons.
If you choose not to set this property then you will be prompted for the password during installation.
You should not use an empty root password for your database and expect an empty value for the admin password to work!
|
The following MySQL configuration parameters should be applied to your server configuration file
(i.e., my.cnf)
Table 2.2. MySQL configuration file parameters.
default_storage_engine | This must be set to innodb and applies to all OLAT tables (unless
the table definition states otherwise) |
transaction-isolation | This must be set to READ-COMMITTED which denies opportunity for dirty
reads and represents the optimal choice for an OLTP system. This is a required setting
for OLAT.
|
innodb_data_home_dir | This establishes the tablespace for your OLAT database which you can place under your MySQL data directory. You must create this directory yourself before starting the MySQL instance. We recommend a dedicated tablespace for OLAT and hence a dedicated MySQL instance. |
innodb_log_group_home_dir | This establishes the logfiles for your OLAT database which you can place under
your MySQL data directory i.e., datadir in a directory called olatlogs
We recommend dedicated logfiles for OLAT and hence a dedicated MySQL instance. For heavy loads
you may consider locating these files on a separate partition or volume.
You must create this directory yourself before starting the MySQL instance.
|
innodb_flush_log_at_trx_commit |
When set to 1 this flushes the log buffer to the log file with each commit and a
a disk write is performed. This is a reasonable default value for OLAT which ensures ACID
compliance though you may wish to review other possible values depending on your
circumstances.
|
innodb_buffer_pool_size | Generally speaking we recommend a value of c. 1024M for production systems though a (considerably)
smaller value is appropriate for trial instances |
innodb_additional_mem_pool_size | This should be set to 20M and is required exclusively for the data dictionary and related matters. |
log-bin, expire_logs_days | We strongly recommend that you make use of binary logging and that you retain binary logs for a reasonable period of time (e.g., 5-7 days) See MySQL documentation for further details. |
Issue the following command from within the olat3 subdirectory
mvn install
During the build you will need Internet access since depedencies will be downloaded and stored in your
local Maven repository. Moreover you will need network access to your MySQL database since
the necessary tables, contraints and indexes will be created automatically during the build unless
you have set skip.db.install to true.