Installation and Maintenance

Software Requirements

In general ILIAS should be installable on every server that runs a common PHP/Apache. Supported database systems are MySQL, Oracle and PostgreSQL (experimental). The following pages explain how to install ILIAS in different server environments. These are examples, the "from scratch" procedure should work on any Linux/Unix systems. If you successfully installed ILIAS on another platform, do not hesitate to send your install instructions to info@ilias.de.

I. License

ILIAS is distributed under the General Public License (GPL), version 2.0. The text of the GPL may be obtained from www.gnu.org.

II. General Requirements

  1. Web Server

    Apache web server: ILIAS should run on current Apache 1 and 2 releases. We recommend Apache 2.2.x or higher.

  2. PHP

    PHP including support for GD (jpeg, png, gif), DOM, XSL, MySQL and PEAR.

    ILIAS Version

    PHP Version Needed

    5.2.x [1]

    5.5.x - 5.6.x, 7.0.x

    5.0.x - 5.1.x

    5.3.x - 5.5.x

    4.4.x

    5.3.x - 5.5.x

    4.3.x

    5.2.6 - 5.4.x

    4.2.x

    5.2.6 - 5.3.x

    4.0.x - 4.1.x

    5.1.4 - 5.3.x

    3.8.x - 3.10.x

    5.1.4 - 5.2.x

    3.4.x - 3.7.x

    4.3.x - 5.2.x

    3.0.x - 3.3.x

    4.3.x - 4.x.x

  3. Database

    1. Option: MySQL as DBMS (PHP mysqli driver)

      ILIAS Version

      MySQL Version Needed

      4.4.x-5.0.x

      5.0.x, 5.1.32 - 5.1.x, 5.5.x, 5.6.x (InnoDB on 5.6.x currently suffers from a MySQL bug, see our bug report #13196)

      4.2.x - 4.3.x

      5.0.x, 5.1.32 - 5.1.x, 5.5.x

      4.0.x - 4.1.x

      5.0.x, 5.1.32 - 5.1.x

      3.10.x

      4.1.x, 5.0.x, 5.1.32 - 5.1.x

      3.7.3 - 3.9.x
      3.6.5 - 3.6.x

      4.0.x - 5.0.x

      3.7.0 - 3.7.2
      3.6.0 - 3.6.4

      4.0.x - 4.1.x

      3.0.x - 3.5.x

      3.23.x - 4.0.x

      Please do not enable the STRICT_TRANS_TABLES or STRICT_ALL_TABLES modes on your server.

      IMPORTANT NOTICE: With MySQL 5.6 and above, MySQL activates the options STRICT_TRANS_TABLES and STRICT_ALL_TABLES by default. Please deactivate, e.g.: https://serverpilot.io/community/articles/how-to-disable-strict-mode-in-mysql-5-7.html

    2. Option: MariaDB as DBMS
       
      Since MariaDB's API and protocol claim to be compatible with those used by MySQL ILIAS should run with it, too. However since it is not tested by us, we consider its support being experimental. Please contact info@ilias.de, if you are planning to use MariaDB on a productive environment.

    3. Option: Oracle as DBMS

      ILIAS Version

      Oracle Version

      4.3.x - 5.0.x

      10g, 11g

      4.0.x - 4.2.x

      10g

    4. Option: PostgreSQL as DBMS
       
      Experimental, current versions of PostgreSQL should work but are not tested. Contact info@ilias.de, if you would like to use ILIAS on PostgreSQL and are willing to help us testing the platform.

  4. Additional Software

    1. ImageMagick: ILIAS is using the Imagemagick "convert" command line tool through PHP exec calls.

      ILIAS Version

      Imagemagick Version Needed

      4.2.x - 5.0.x

      ImageMagick 6.3.8-3 or higher

      Earlier versions

      No specific version requirements

    2. Info-Zip and Info-Unzip

III. PEAR Packages

ILIAS requires the PEAR packages Auth, DB and HTML_Template_IT.
 
Since ILIAS 4.0.x all necessary PEAR packages are included in the ILIAS package, so no additional PEAR installation should be necessary.

Use the following commands in your shell:
 
PEAR packages AUTH and HTML_Template_IT
 
> pear install Auth> pear install HTML_Template_IT-1.2.1
 
Please note that the HTML_Template_IT version 1.3.0 released 10 Mar 2010 will not be supported by ILIAS 3.9.x or 3.10.x.
 
 
PEAR package MDB2 / DB:
 
ILIAS 3.10.x (ILIAS 3.10.x requires PEAR package MDB2 instead of package DB)
 
> pear install MDB2> pear install MDB2#mysql
 
Up to ILIAS 3.9.x:
 
> pear install DB
 
The Spreadsheet_Excel_Writer module is needed for exports to Microsoft Excel files
which can be used in Test & Assessment, Survey and User Administration. The Spreadsheet_Excel_Writer module is still a "beta" state module which means that you must change the preferred state of the PEAR library to beta for the installation process. To set the preferred state from "stable" to "beta" enter:
 
> pear config-set preferred_state beta
 
Then you can install the Spreadsheet_Excel_Writer module with
 
> pear install --alldeps Spreadsheet_Excel_Writer
 
which also installs the depended module OLE using the --alldeps switch.
To set your preferred PEAR state back to "stable" enter
 
> pear config-set preferred_state stable
 
 

IV. Configuring PHP (php.ini)

We recommend the following settings in your php.ini:
 
; you may choose higher values for max_execution_time and memory_limit
max_execution_time = 600
memory_limit = 200M
 
; you may set display_errors = Off if the system runs in a production environment
error_reporting = E_ALL & ~E_NOTICE ; up to PHP 5.2.x
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED ; PHP 5.3.0 and higher
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT ; PHP 5.4.0 and higher
display_errors = On
 
; or any higher values for post_max_size and upload_max_filesize
post_max_size = 60M
upload_max_filesize = 40M

; choose a non-zero value for session.gc_probability, otherwise old session data will not be deleted
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 3600
session.hash_function = 0
 
; for chat server since ILIAS 4.2
allow_url_fopen = 1

; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 10000

 
Please adapt the values for your individual needs. If everything works fine, you may consider to set "display_errors" to "Off" and to write PHP errors to a log file.

V. Requirements of Optional Features

  • Link Checker: PEAR package HTTP_Request

  • SOAP Authentication: PEAR::Auth 1.3.0 or higher

  • CAS Authentication: PEAR::Auth 1.3.0 or higher, PHP 4.3.1 or higher with CURL 7.5 or higher

  • Radius Authentication: PEAR::Auth_Radius 1.0.5 or higher

  • LDAP Authentication: PEAR::Auth 1.4.0 or higher. Optional: PEAR:Log 1.9.11 for extended authentication infos in the ILIAS log file.

  • Internet compliant E-Mail addresses: PEAR::Mail 1.1.14 or higher.
     
    Installation instructions:
    1. Open a terminal window, and enter: pear install mail
    2. Perform the following steps for each ILIAS client:
    2.1 Open the Mail Settings object in the Administration view of ILIAS
    2.2 Check the option "Use Pear Mail"

  • WebDAV: PEAR package Auth_HTTP

  • Lucene Search Engine: PEAR package XML_RPC, PHP cURL support

  • jsMath: for displaying mathematics (only until 4.2.x. Since 4.3.x jsMath is substituted by MathJax);
    see http://www.math.union.edu/~dpvc/jsMath/download/jsMath.html

  • SOAP server: php cURL support

  • Readable .html URLs: Add AllowOverride All to your apache virtual host configuration to make local .htaccess files work.

VI. Other Compatibility Issues

PHP safe_mode

The safe_mode=on setting in php.ini is supported for installation on unix-based operating systems. Make sure you set safe_mode_exec_dir to the directory, where the unzip-binary is located (e.g. safe_mode_exec_dir="/usr/bin").
safe_mode=on is not supported on Windows operating systems at the moment due to an unresolved bug regarding the exec-command on windows operating systems (see: http://bugs.php.net/bug.php?id=33102 for reference)

Eaccelerator with PHP 5.2.x

eAccelerator is a free open-source PHP accelerator, optimizer, and dynamic content cache.

Versions <= 0.9.5.1 cannot be used in combination with PHP 5.2.x. See: http://eaccelerator.net/ticket/242.
Turning off the optimizer, clearing the cache and restarting apache may solve the problem.

The stable version 0.9.5.2 does not produce any problems.

Suhosin-Patch

Currently is not possible to run ILIAS with the default Suhosin settings.
Please enter the following line in your php.ini if this patch is activated:
suhosin.session.encrypt=Off
suhosin.post.max_vars=10000
suhosin.request.max_vars=10000
suhosin.srand.ignore=Off
suhosin.mt_srand.ignore=Off

Reverse Proxy and HTTPS/SSL

In some infrastructures the ILIAS webserver is connected behind a reverse proxy.
 
When the client browsers perform HTTPS/SSL requests to ILIAS,
in most cases the request is routed to the webserver by the proxy without using HTTPS/SSL connections.
 
Depending on the proxy configuration a certain header (e.g. "HTTP_X_SSL" = "on") is added to the routed requests in this case.
 
In order that ILIAS recognizes the use of HTTPS/SSL connections by the client browsers,
ILIAS detect this header added by the proxy.
 
Therefore the name as well as the value of the header can be configured within the ILIAS administration under Security Settings (the header name is to be stored without the leading "HTTP_")
Administration » Privacy and Security » Security » Autodetect HTTPS

PHP OPCache

ILIAS runs flowlessly with PHP OPCache enabled (bundled PHP 5.5, available in PECL for PHP 5.2, 5.3, 5.4). Since some components use dynamic interpretation of PHP-Comments (ActiveRecord) the following PHP-setting is necessary:

opcache.load_comments = 1


[1] In development


No comment has been posted yet.