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
Web Server
Apache web server: ILIAS should run on current Apache 1 and 2 releases. We recommend Apache 2.2.x or higher.
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
Database
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.x4.0.x - 5.0.x
3.7.0 - 3.7.2
3.6.0 - 3.6.44.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
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.Option: Oracle as DBMS
ILIAS Version
Oracle Version
4.3.x - 5.0.x
10g, 11g
4.0.x - 4.2.x
10g
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.
Additional Software
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
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.htmlSOAP 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