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
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 :
- / (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

