# IILearn 2.5 installation guide

Documentation > English installation guide

Thank you for downloading IILearn! This text will guide you through the basics of installing IILearn 2.5. Please read this fully before proceeding with the installation.

The installation guide is also available in other languages, please see this overview page for a list. The IILearn website will notify when new translations are available.

This is only a short installation guide. We are writing a manual with more info on installation, but this was not ready at the time of writing. When ready, this manual will be accessible through the IILearn documentation page. You can read the work in progress manual on our web writing area. We also maintain a list of Frequently Asked Questions (FAQ).

Contents

1. Requirements
2. Installing a new version of IILearn
3. Upgrading from a previous version of IILearn
4. Troubleshooting
5. Administration section
6. Ldap (optional)

## 1. Requirements

As from IILearn 2.5 additional plugins can be enabled. Two of these plug-ins needs a set of prerequirements and additional installation of software modules. The basic requirements have to be met by the core or basic IILearn modules. Both additional plugins do need a jdk (java development environment). The additional packages may be installed on an other computer as the DokeosServer.

- Basic requirements

### 1.1 Basic Requirements

IILearn is a web application which requires some other software to function:

- A web server - we recommend Apache
- PHP
- The MySQL database server

These software packages have to be installed on the computer where you will install IILearn.
You can install all these software packages separately, which often gives the best results. However, beginning users who want to test IILearn can use a combination package that installs all these software packages in one simple install. If you want to use a combination package, we recommend Wamp (Download at the WAMP5 website, you also need the PHP4 add-on) or XAMP.

#### 1.1.1. A web server

The Apache web server is recommended, and IILearn is configured to use some Apache security enhancements if possible. However, other web servers will work too. For best security results, you need to have the Apache module mod_rewrite activated. The mod_rewrite rules for IILearn are read from a .htaccess file in the courses folder, so Apache needs to allow this (AllowOverride FileInfo in httpd.conf).
Download Apache web server
Apache web server manual

#### 1.1.2. PHP

You need PHP version 5.2.x or later (5.x versions), configured with the following modules : mysql, zlib, preg, xml. PHP versions 5 or later are not supported by Dokes yet. You need the ldap module too if you want to use ldap with IILearn. Most of the PHP5 compiled distributions are provided with these modules. Anyway, their presence is checked by the IILearn install script.
Download PHP
PHP manual

Some users could meet problems if their PHP setting doesn't fit these ones:

- short_open_tag = On
- safe_mode = Off
- magic_quotes_gpc = On
- magic_quotes_runtime = Off

Past IILearn versions required register_globals to be set to On. This is no longer necessary, this can be set to Off and IILearn will work fine.

BSD users: these php libraries have to be included during php installation:

- php-mysql The mysql shared extension for php
- php-pcre The pcre shared extension for php
- php-session The session shared extension for php
- php-zlib The zlib shared extension for php
- php-xml
- (optional) php-ldap if you want to be able to use LDAP authentication

#### 1.1.3. The MySQL database server

You will need a login and password allowing to administrate and create at least one database. By default, IILearn will create a new database for each course created. It means your host should allow you to create and administrate several databases. You can also install DOkeos using only one database, in that case you have to select this option during the installation.
Download MySQL server
MySQL server manual

Note:
It seems the backticks characters (`) inserted inside most of the IILearn SQL queries since version 1.3 don't work with MySQL versions before 3.23.6.

#### 1.1.4. Permissions

Furthermore, IILearn needs to have write access to specific directories. The best way to deal with these permission is to give the webserver user read/ write access on the specified directories. The other directories can work with read access. The specific directories are listed in the installation section. or unzipped to. On a Windows machine locally, this is not a problem. Remotely, you need to be allowed to CHMOD through FTP, telnet or any means.

## 2. Installing a new version of IILearn

2.1. Download the IILearn 2.5 install package (.zip for Windows users or .tar.gz for all others) from the IILearn download page.

2.2. Unzip or untar the downloaded install package. Most current operating systems can do this with a built-in graphical application, if this doesn't work you can open a commandline, go to the download directory and type tar -zxvf iilearn-community-2.5.tar.gz

2.3. Move by any means (FTP, SCP, local file copy) the contents of the IILearn install package to your website on your webserver (whether webroot or subdirectory). Your webserver can also be your local computer. Be sure to copy all the folders (archive, home, claroline, courses) as well as all the .php files.

For Windows users who install IILearn locally: if you use an Apache/PHP/MySQL combination package, just drag and drop the contents of the IILearn install package into the web directory of the combination package:

- EasyPHP - C:\Program Files\easyphp\www\
- WAMP - C:\Program Files\wamp\www\
- XAMP - C:\Program Files\xamp\www\

2.4. The following directories need to be readable, writeable and executable for the owner of the apache webservice:

- iilearn/main/inc/conf/
- iilearn/main/garbage/
- iilearn/main/upload/
- iilearn/main/img/default_courses_img/
- iilearn/archive/
- iilearn/courses/
- iilearn/home/

On Linux, Mac OS X and BSD operating systems you can use the CHMOD 777 command for this. In Windows, you may need to check the properties of the folders (by right-clicking on them).

2.5. The following files need to be readable and writeable for everyone:

- iilearn/main/inc/conf/configuration.php (if present)
- iilearn/home/*.html

On Linux, Mac OS X and BSD operating systems you can use the CHMOD 666 command for this. In Windows, you may need to check the properties of the files and folders (by right-clicking on them).

NOTE:
Do not modify the home_*.html files directly. Instead, choose "Configure the homepage" in the IILearn administration section.

2.6. Open a web browser and go to http://www.yourserver.org/yoursite/iilearn/index.php If you install IILearn locally (not on a server) open: http://localhost/iilearn/index.php

2.7. Click on the install button and follow instructions. Windows: with combination packages like easyphp, out of the box, login and password for MySQL should probably remain empty.

2.8. Configuration and security after installation

- Protect your configuration file: make sure no one can overwrite it. You can find the config file in (iilearn folder)/main/inc/conf/configuration.php. Make it read-only (windows/xwindows: right-click the file to edit the properties. linux/bsd/macosx: use the chmod 444 command). The config file is created by Apache so you may need to be root user to change its permissions.
- Protect your installation folder: if the (iilearn folder)/main/install folder is still accessible, someone could install over your existing version (you could lose your data that way). Move the folder somewhere out of the web directories so it is not accessible, change its name, or edit its properties so no one can read or execute it.
- For better security: making the files world-writable will help you install, and solves many issues for people without much admin experience. However, it's better security to make the owner of the apache process (often called apache or www-data) also owner of all the iilearn files and folders. Ths way, these files need only be readable and writable by the Apache process owner, not by the entire world.
- Configure your IILearn installation: in the administration section of IILearn, you can use the IILearn Config Settings to adjust the behavior of your installation.
- Configure IILearn mail: most of IILearn uses the mail settings from the php.ini file. However, the announcements tool uses phpMailer (another free software project) and the settings for this tool can be adjusted in (iilearn folder)/main/inc/conf/mail.conf.php.

## 3. Upgrading from a previous version of IILearn

Before upgrading we heavily recommend you do a full backup of the previous IILearn directories and databases. If you are unsure how to achieve this please ask your hosting provider for advice.

If you upgrade from IILearn 2.5, you can simply copy the new files of 2.0.1 over the files of the older version. You should not copy over the home, courses or archive folders, otherwise you might lose data. If you accidentally copy over those folders, you can simply replace them with the folders from your backup.
If you upgrade from a lower version of IILearn (1.6.x), you'll have to use the built-in upgrade facility, as described below.

3.1. Download the IILearn 2.5 install package (.zip for Windows users or .tar.gz for all others) from the IILearn download page.

3.2. Unzip or untar the downloaded install package. Most current operating systems can do this with a built-in graphical application, if this doesn't work you can open a commandline, go to the download directory and type tar -zxvf iilearn-community-2.5.tar.gz

3.3. Move the IILearn directory to a different path from the previous version

WARNING:
Do not delete the previous IILearn installation directory before installing the new one. When the update is successfully finished, you can remove the old path.

TIP:
If you want IILearn 2.5 to be installed in the same directory as the previous version :

- move the old directory to a new location (e.g. move iilearn/ to iilearn_old/)
- uncompress IILearn 2.5 to the old version directory (e.g. uncompress IILearn 2.0.1 to iilearn/)
- go to next step

3.4. The following files need to be readable and writeable by the web server:

- iilearn/main/inc/conf/configuration.php (if present)
- iilearn/home/*.html

On Linux, Mac OS X and BSD operating systems you can use the CHMOD 666 command for this. In Windows, you may need to check the properties of the folders.

NOTE:
Do not modify the home_*.html files directly. Instead, choose "Configure the homepage" in the IILearn administration section.

3.5. The following directories need to be readable, writeable and executable by the web server:

- iilearn/main/inc/conf/
- iilearn/main/garbage/
- iilearn/main/upload/
- iilearn/main/img/default_courses_img/
- iilearn/archive/
- iilearn/courses/
- iilearn/home/

On Linux, Mac OS X and BSD operating systems you can use the CHMOD 777 command for this. In Windows, you may need to check the properties of the folders.

3.6. Open a web browser and go to http://www.yourserver.org/yoursite/iilearn/index.php
On Windows, locally, with e.g easyphp or another combination package, open: http://localhost/iilearn/index.php

3.7. Click on the install button, then click on "Upgrade from IILearn 1.6, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5" and follow the instructions.

## 4. Troubleshooting

In the future we will also provide instructions on how to do a "manual" install of IILearn, by creating the database tables yourself. If you have any problems, go to the IILearn website and ask a question on our support forum. Please read the previous messages first to see if there is already an answer to your question.

## 5. Administration section

To access the IILearn administration section, open browser, go to your IILearn adress and log in with the admin user. Then you will see a "Platform admin section" link in the header of the web page.

## 6. LDAP

This part is optional, only organisations with an LDAP server will need to read this.
An LDAP module is already provided in IILearn, but it has to be configured to make it work.

Compiling
Linux servers: It's possible that you have to recompile php with ldap support. Newer distributions also allow downloading rpms for additional packages.

Activating LDAP in IILearn
In (iilearn folder)/main/inc/conf/configuration.php, around line 90, you see
//for new login module
//uncomment these to activate ldap
//$extAuthSource['ldap']['login'] = "./main/auth/ldap/login.php";
//$extAuthSource['ldap']['newUser'] = "./main/auth/ldap/newUser.php";
remove the // from the last two lines to activate LDAP.

Settings
Ask the LDAP server admin for the settings:

- ldap server name
- ldap server port (usually 389)
- ldap dc

You must enter these in (iilearn folder)/main/auth/ldap/ldap_var.inc.php
//parameters for LDAP module
$usesLDAP = TRUE;
$usesCurriculum = FALSE;
$ldaphost = "myldapserver.com"; // your ldap server
$ldapport = 389; // your ldap server's port number
$ldapDc = "dc=xx, dc=yy, dc=zz"; //domain

Teacher/student status
If you wish, you can give teacher/student status to iilearn users according to settings in the ldap server. This is not a standard field however, so you'll have to change some code. main/auth/ldap/ldap_var.inc.php around line 189, function putUserInfoInClaroline ($login, $infoArray)

if (your criterium)
{
$statut = STUDENT;
}
else
{
$statut = COURSEMANAGER;
}

If this seems too difficult, the simplest solution is to just put $statut = STUDENT; and give course manager rights through the administration section.

Protected LDAP servers
Some LDAP servers do not support anonymous use of the directory services In this case, you need code that binds with a name and password - this code has already been provided, just ask on a forum or email for this.

## 7 Debian based linux distribution (ubuntu)

The following packages have to be installed

- Apache(2)

- apt-get install apache2
- apt-get install apache2-common
- apt-get install apache2-utils
- apt-get install apache2-utils
- apt-get install libapache2-mod-jk

- Mysql

- apt-get install mysql-server
- apt-get install mysql-common

- php4

- apt-get install php4
- apt-get install php4-common
- apt-get install php4-mysql
- apt-get install apache2-mod-php4

- Install IILearn

- download iilearn.tar.gz
- tar -xvzf iilearn.tar.gz
- change the apache setting
- restart your web-server
- goto your iilearn homepage

Mail: poopsoft@163.com