can be installed on Windows, Linux, Mac OS X and UNIX servers
indifferently. However, we recommend the use of Linux server for
can be installed on Windows, GNU/Linux, Mac OS X and UNIX servers
indifferently. However, we recommend the use of GNU/Linux for
optimal flexibility, remote control and scalability. <br/>
<br/>
Chamilo is mainly a LMS running <spanstyle="font-weight: bold;">Apache (1.3, 2.0 or 2.2)</span>, <spanstyle="font-weight: bold;">MySQL 5.1 (or MariaDB)</span> and <spanstyle="font-weight: bold;">PHP 5.3 (or 5.4)</span> (the so called <spanstyle="font-weight: bold;">AMP</span> trilogy). <br/>
Chamilo is mainly a LMS running from <spanstyle="font-weight: bold;">Apache (1.3, 2.0 or 2.2)</span>, with a <spanstyle="font-weight: bold;">MySQL 5.1 (or MariaDB)</span> database backend and <spanstyle="font-weight: bold;">PHP 5.3 (or 5.4)</span> (the so called <spanstyle="font-weight: bold;">AMP</span> trilogy). <br/>
<br/>
All these pieces of software are free software and freely available. <br/>
All these pieces of software are Free Software and as such freely available. <br/>
<br/>
@ -88,9 +88,9 @@ To run Chamilo <span style="font-weight: bold;">LMS</span> on your server, you n
<li>To install <spanstyle="font-weight: bold;">WAMP</span> (AMP on Windows), we recommend the <ahref="http://www.apachefriends.org/en/xampp.html">XAMPP</a> .exe installer<ahref="http://www.apachefriends.org/en/xampp.html"></a></li>
(AMP on Linux), use the Package manager of your favourite distribution (Synaptic, RPMFinder etc.).
For instance, on a Ubuntu server, use Shell or Synaptic following the
<ahref="http://ubuntuguide.org/wiki/Ubuntu:Feisty#Apache_HTTP_Server">Ubuntuguide on Apache</a> and the following sections</li>
(AMP on Linux), use the Package manager of your favourite distribution (Synaptic, RPMFinder, APT, YUM, etc.).
For instance, on an Ubuntu server, use apt-get from the Shell or Synaptic from the GUI following the
<ahref="https://help.ubuntu.com/lts/serverguide/httpd.html">Ubuntu Server Guide about Apache</a> and the following sections</li>
<li>To install <spanstyle="font-weight: bold;">MAMP</span> (AMP on Mac OS X), refer to the <ahref="http://www.mamp.info/en/index.php">MAMP</a> dedicated website<ahref="http://www.mamp.info/en/index.php"></a></li>
<li>Make sure you check the <ahref="dependencies.html"title="Dependencies">Dependencies page</a> if you need to know the requirements in more precise way.
@ -105,13 +105,12 @@ For instance, on a Ubuntu server, use Shell or Synaptic following the
You will need a login and password allowing to manage and create
a database. Usually, the default configuration on local computers is to allow you to connect as root with an empty password. It is highly recommended to change the password and define a user with access to only a specific database. Please refer to the MySQL or MariaDB documentation in order to do this.<br/>
<spanclass="muted">Note that this has been greatly simplified since version 1.9, as it
previously required to choose between multiple databases and a deprecated
single-database mode.</span><br/>
previously required to choose between multiple databases and a deprecated single-database mode.</span><br/>
<hrstyle="width: 100%; height: 2px;"/>
<h2><aname="2._Installation_of_Chamilo_LMS"></a><spanstyle="font-weight: bold;">2. Installation of Chamilo LMS</span></h2>
<h3>Configuring your web server to allow overrides</h3>
If you are using Apache, and due to new friendly URL features added in 1.10, you will be required to <b>AllowOverride All</b> (and possibly install the ModRewrite extension for Apache). This means that, inside your Apache configuration (or your VirtualHost configuration), you will need to have a block similar to this (the directory given is the same as in the <i>DocumentRoot</i> directive):
<h3>Configuring your web server to allow .htaccess overrides</h3>
Starting from 1.10, Chamilo LMS allows friendly URLs if using Apache. As it is based on .htaccess and rewrites, you will be required to <b>AllowOverride All</b> (and possibly enable the ModRewrite extension for Apache). This means that, inside your Apache configuration (or your VirtualHost configuration), you will need to have a block similar to this (the directory given is the same as in the <i>DocumentRoot</i> directive):
<pre>
<Directory /var/www/chamilo>
Options Indexes FollowSymLinks MultiViews
@ -121,11 +120,11 @@ If you are using Apache, and due to new friendly URL features added in 1.10, you
</Directory>
</pre>
<p>
In particular, the "AllowOverride All" clause is the one that matters. This will allow PHP to send the user from one page to another freely, thus allowing for more user-friendly URLs.<br/>
Once you've made sure "AllowOverride" says "All", you can safely save the file, get out of it and reload the web server (<i>sudo service apache2 reload</i> under Debian/Ubuntu, or click right on the WAMP/XAMP/EasyPHP icon and "reload web server" under Windows).</p>
In particular, the "AllowOverride All" clause is the one that matters. This will allow PHP to send the user from one page to another freely, thus allowing for friendlier URLs.<br/>
Once you've made sure "AllowOverride" says "All", you can safely save the file, get out of it and reload the web server (<i>sudo service apache2 reload</i> under Debian/Ubuntu, orright-click on the WAMP/XAMP/EasyPHP icon and "reload web server" under Windows).</p>
<p>
Please note that, if you are using Chamilo in a subdirectory (for example, you load it in your browser as http://localhost/chamilo/ or http://yoursite.com/chamilo/, you will also need to alter the .htaccess file in the root directory of Chamilo, <b>before</b> you proceed with the installation.<br/>
On the RewriteBase line, where it normally says "/", change it to whatever subdirectory you are using. In the same case as above, your RewriteBase will have to say "chamilo/" (without the quotes).
Please note that, if you are using Chamilo LMS in a subdirectory (for example, you load it in your browser as http://localhost/chamilo/ or http://yoursite.com/chamilo/, you will also need to alter the .htaccess file in the root directory of Chamilo, <b>before</b> you proceed with the installation.<br/>
On the RewriteBase line, where it normally says "/", change it to whatever subdirectory name you are using. In the default case described above, your RewriteBase will have to say "chamilo/" (without the quotes).
</p>
<h3>Downloading and installing Chamilo</h3>
<ol>
@ -134,24 +133,24 @@ On the RewriteBase line, where it normally says "/", change it to whatever subdi
<li>Copy the Chamilo directory in your Apache web directory. This can be
<spanstyle="font-weight: bold;">C:\xampp\htdocs\</span> on a Windows server or <spanstyle="font-weight: bold;">/var/www/html/</span> (or /var/www/chamilo/) on a Linux server</li>
<li>Open your web browser (Internet Explorer, Firefox...) and type
<spanstyle="font-weight: bold;">http://localhost/chamilo/</span> if you install locally or
<spanstyle="font-weight: bold;">http://www.domain.com/chamilo/</span> if you install remotely. <spanclass="muted">We recommend defining a specific Virtual Host for this installation if you have the skills to do so</span>
<spanstyle="font-weight: bold;">http://localhost/chamilo/</span> if installing locally or
<spanstyle="font-weight: bold;">http://www.domain.com/chamilo/</span> if installing remotely. <spanclass="muted">We recommend defining a specific Virtual Host for this installation if you have the skills to do so</span>
</li>
<li>Follow the web installation process. You can accept all default
values. Consider changing the admin password to remember it. </li>
<li>Process through the web installation process. You can safely accept all default values. Consider changing the admin password to remember it.</li>
</ol>
<br/>
The following directories need to be readable, writeable and executable by your web server.
<spanclass="muted">This usually requires no specific action on Windows servers, but will require a "chmod" under Linux and Mac. See instructions below.</span><br/>Replace [chamilo] with the directory where your Chamilo installation is located):
Only the following directories need to be readable, writeable and executable by your web server.
<spanclass="muted">This usually requires no specific action on Windows servers, but will require a "chmod" under Linux/UNIX and Mac. See instructions below.</span>
<br/>Replace [chamilo] with the directory where your Chamilo installation is located:
<li>search the word "_max" and increase the two values to optimise the server</li>
<li>we recommend the following values : </li>
</ul>
<preclass="code">
max_execution_time = 300; Maximum execution time of each script, in seconds<br/>
max_input_time = 600; Maximum amount of time each script may spend parsing request data<br/>
memory_limit = 256M; Maximum amount of memory a script may consume (128MB)<br/>
post_max_size = 100M<br/>
upload_max_filesize = 100M<br/>
</pre>
<ul>
<li>max_execution_time = 300; Maximum execution time of each script, in seconds</li>
<li>max_input_time = 600; Maximum amount of time each script may spend parsing request data</li>
<li>memory_limit = 256M; Maximum amount of memory a script may consume (128MB)</li>
<li>post_max_size = 100M</li>
<li>upload_max_filesize = 100M</li>
<li>session.cookie_httponly = On</li>
</ul>
<p>Some users could meet problems if their PHP settings don't match
these ones:</p>
@ -276,16 +298,17 @@ these ones:</p>
<li>magic_quotes_gpc = Off</li>
<li>magic_quotes_runtime = Off</li>
</ul>
On any recent Debian/Ubuntu, just copying those lines into a new .ini file installed in /etc/php5/conf.d/ (e.g. /etc/php5/conf.d/chamilo.ini) and reloading Apache's config (i.e. "sudo service apache2 reload") would do the trick. Any later php.ini modification in this documentation could/should subsequently as well be applied in this file instead.
<p>
Past Chamilo versions required register_globals to be set to On. This is
no longer necessary, this can (and should) be set to Off.
Past Chamilo releases required register_globals to be set to On. This is
no longer necessary, and should preferably be set to Off.
<spanclass="muted">It is considered a bad choice in terms of security to set register_globals to On.</a></p>
<p><strong>Note:</strong> if you are using PHP 5.3 or higher, you need to set
<p><strong>Note:</strong> if using PHP 5.3 or higher, you also need to set
your <em>date.timezone</em> setting to whatever your server's timezone is.
For example, if your server is in the 'America/New_York' timezone, set this
<p><strong>Note:</strong> PHP 5.3.9 introduces a new setting "max_input_vars", which limits the number of elements you can send in one single form. If you are dealing with numerous users, make sure you set this setting higher than its default value of 1000.</p>
<p><strong>BSD users:</strong>these php libraries have to be included during
php installation:</p>
<p><strong>BSD users:</strong>according to the requirements, the following PHP libraries have to be included during
PHP installation:</p>
<ul>
<li>php5-mysql The mysql shared extension for php</li>
@ -347,7 +371,7 @@ As this is only a minor version change from previous 1.9.* versions of Chamilo,
<li> check that you haven't left any customised stylesheet or image <spanclass="muted">(if you have, make sure you keep a copy on the side*)</span></li>
<li> download the Chamilo 1.9 install package from the <ahref="http://www.chamilo.org/download">Chamilo download page</a></li>
<li> unzip the new files of Chamilo 1.9 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)</li>
<li> edit the main/inc/conf/configuration.php file: at the en of the file, locate the previous version number (e.g. '1.9.2') and change it to this new version (e.g. '1.9.4')</li>
<li> edit the main/inc/conf/configuration.php file: at the end of the file, locate the previous version number (e.g. '1.9.2') and change it to this new version (e.g. '1.9.4')</li>
<li> you're done! No other upgrade procedure is required</li>
</ul>
@ -455,12 +479,11 @@ choose "Configure the homepage" in the Chamilo administration section.</p>
The following directories need to be readable, writeable and executable for the web server:
<ul>
<li>chamilo/main/inc/conf/</li>
<li>chamilo/main/upload/users/</li>
<li>chamilo/config</li>
<li>chamilo/data</li>
<li>chamilo/logs</li>
<li>chamilo/temp</li>
<li>chamilo/main/default_course_document/</li>
<li>chamilo/archive/</li>
<li>chamilo/courses/</li>
<li>chamilo/home/</li>
</ul>
On Linux, Mac OS X and BSD operating systems you can quick-fix this using the