Install general information

From ClarolineDoc

Table of contents

Introduction

This page is more a page for administrators than developers, but it describes some hacks for developers.

Before installation

System requirement

First of all, don’t forget to read install.txt file which contains important informations.

Operating systems

You need one of the following Operating systems :

  • Linux / BSD / Unix (*)
  • Windows (9x, Me, NT4, 2000, 2003, XP)
  • MacOS X.
Note : We thoroughly test Claroline with Debian (stable) and Mandrake GNU/Linux distributions, but other GNU/Linux
distributions should work too. We've received positive feedbacks from users working on Red Hat and Suse. 
Don't hesitate to notify us of any problem encountered on other Linux distributions.

Web server

We recommend Apache, but others should work too :

  • Apache 1.3 or 2.0
  • Microsoft IIS

PHP

Claroline 1.9

PHP 5.1.6 minimum is required to run Claroline 1.9. PHP 5.2.x is recommended. Claroline 1.9 will not work on PHP 4 !

Claroline 1.8

PHP (version >= 4.1.x) configured with the following modules : mySQL, zlib, preg. Most of the PHP4 compiled distributions are provided with these modules. Anyway, their presence are checked by the Claroline install script.

Some users could meet problems if their PHP settings don't fit these ones :

safe_mode            = Off
error_reporting      = E_ALL & ~E_NOTICE (*)

MYSQL databases server

You must have a MySQL databases server and a login/password allowing to administrate and create at least one database. By default, Claroline will create a single database which contains all courses created. If you want to use Claroline on a 'multiple databases host' you have to select this option on purpose at installation. It means your host should allow you to create and administrate several databases.

Warning

  • If you use the single database install option, it is recommended to use this database for Claroline use only. If you share this database with other applications, interferences could occur between table names of both applications that could result in serious problems.

Note

  • The backticks characters (`) inserted inside most of the Claroline SQL queries since Claroline 1.3 doesn't work with MySQL versions previous to 3.23.6.

Important notes

  • Claroline works with only one server and only one account.
  • Claroline needs at least one database.
  • With installation option single database, Claroline is hack to be able to work with an account which can't create databases.
  • With installation option multi databases, Claroline is build with the idea that the account can create databases.

Rights on folders

Give write access to web directory where Claroline has been moved or unzipped to. Remotely, you need to be allowed to change rights permissions on folders and files through FTP, telnet, ssh or any means.

If you don't want to set write access on the whole folders, which is recommended for security reasons, give to the web server user write access on these folders :

  • With Claroline 1.5.x :
    • / (root directory)
    • /claroline/admin
    • /claroline/sql
    • /claroline/claroline_garbage
    • /claroline/lang
  • With Claroline 1.6.x :
    • / (root directory)
    • courses
    • claroline/admin
    • claroline/sql
    • claroline/claroline_garbage
    • claroline/lang
  • With Claroline 1.7.x :
    • / (root directory)
    • courses
    • cache
    • claroline/admin
    • claroline/inc/conf
    • claroline/claroline_garbage
    • claroline/lang
  • With Claroline 1.8.x and Claroline 1.9.x :
    • / (root directory)
    • courses
    • platform
    • module
    • tmp

Mail server

A mail server as called Mail Transport Agent (MTA).

This is not absolutely necessary, but some Claroline features will remain silent if you don't provide MTA.

  • Most GNU/Linux distributions provide MTA (Sendmail, Exim, Qmail, PostFix, ...).
  • On MS Windows machines, no MTA are provided by default. You can either modify the configuration file php.ini to redirect mail to a MTA available on another machine, or install a MTA on the Claroline server. Several MTA are available for MS Windows (Blat, Netmail95, WMailto , Hamster ...).

MySQL requirements

Tables repository

Claroline needs 2 types of tables repository (in one or several databases) :

  • Main tables
  • Course tables

Main tables

There are tables :

  • Central (users, tools list, ...)
  • Statistics of the platform

These tables are created in one database.

Course table

There are tables for :

  • Course tools
  • Groups
  • Statistics of the course

Claroline is built to have one table for each "course-tool" pair. So table for chat in course foo is not the same table for course bar.

This means that there will be many tables. It's more user-friendly to have one database for each course but before install, we don't know how many courses would be created. So Claroline needs a user with database creation rights (it's multi databases option at the installation).

A lot of MySQL administrators would find it crazy: 'haw, give db creation rights to my users ... NO!'

If the administrator still hold on their position, you can request one database and shake all tables of courses in the same database (it's the single database option at the installation).

Note to the administrators

A very good solution is to request a right to create databases with a fixed prefix :

  • Create a user with less right as possible (nothing)
  • Give all access for this user on db 'foo%'

With these rights, the account can create all databases he needs but all these databases must begin with foo name. You can set this database name prefix at the installation.

Note to the developers

The solution for administrators is also great if you need to run many Claroline platforms on the same machine. Personally we have a user called "claroline" with a password. The rights for this user is "all" on "claro%" database. And when we install a Claroline, we set as prefix "clarofoo" where "foo" is our checkout name.

On the Disk

Claroline need to be in the web space.

So Claroline contains :

  • index.php.
  • Some html files
  • Claroline sub-folders and scripts
  • Readme and licence files

So if you want Claroline not to be the only "tool" on the website, it's better to create a subdir in your document root.

It gives something like :

i.e.

  • The document root is /var/www/html/
cd /var/www/html/
mkdir mycampus
cd mycampus
  • Place in mycampus subfolder the content of archive (or cvs checkout for the developers).

File system right

To manage files of Claroline, use an account member of group of your webserver process.

i.e.

  • Debian GNU/Linux
addgroup paul www-data
  • Mandrake GNU/Linux
addgroup paul apache