skala
Julio Montoya 12 years ago
parent aa0fb41aa7
commit b0b550cf1d
  1. 171
      documentation/installation_guide.html

@ -67,18 +67,18 @@
<h2><a name="1._Pre-requisites"></a>1. Pre-requisites</h2>
Chamilo
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 <span style="font-weight: bold;">Apache (1.3, 2.0 or 2.2)</span>, <span style="font-weight: bold;">MySQL 5.1 (or MariaDB)</span> and <span style="font-weight: bold;">PHP 5.3 (or 5.4)</span> (the so called <span style="font-weight: bold;">AMP</span> trilogy). <br />
Chamilo is mainly a LMS running from <span style="font-weight: bold;">Apache (1.3, 2.0 or 2.2)</span>, with a <span style="font-weight: bold;">MySQL 5.1 (or MariaDB)</span> database backend and <span style="font-weight: bold;">PHP 5.3 (or 5.4)</span> (the so called <span style="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 <span style="font-weight: bold;">WAMP</span> (AMP on Windows), we recommend the <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> .exe installer<a href="http://www.apachefriends.org/en/xampp.html"></a></li>
<li>To install <span style="font-weight: bold;">LAMP</span>
(AMP on Linux), use the Package manager of your favourite distribution (Synaptic, RPMFinder etc.).
For instance, on a Ubuntu server,&nbsp;use Shell or Synaptic following the
<a href="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,&nbsp;use apt-get from the Shell or Synaptic from the GUI following the
<a href="https://help.ubuntu.com/lts/serverguide/httpd.html">Ubuntu Server Guide about Apache</a> and the following sections</li>
<li>To install <span style="font-weight: bold;">MAMP</span> (AMP on Mac OS X), refer to the <a href="http://www.mamp.info/en/index.php">MAMP</a> dedicated website<a href="http://www.mamp.info/en/index.php"></a></li>
<li>Make sure you check the <a href="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,&nbsp;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 />
<span class="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 />
<hr style="width: 100%; height: 2px;" />
<h2><a name="2._Installation_of_Chamilo_LMS"></a><span style="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>
&lt;Directory /var/www/chamilo&gt;
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
&lt;/Directory&gt;
</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
<span style="font-weight: bold;">C:\xampp\htdocs\</span> on a Windows server or <span style="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
<span style="font-weight: bold;">http://localhost/chamilo/</span> if you install locally or
<span style="font-weight: bold;">http://www.domain.com/chamilo/</span> if you install remotely. <span class="muted">We recommend defining a specific Virtual Host for this installation if you have the skills to do so</span>
<span style="font-weight: bold;">http://localhost/chamilo/</span> if installing locally or
<span style="font-weight: bold;">http://www.domain.com/chamilo/</span> if installing remotely. <span class="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.&nbsp;</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.
<span class="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.
<span class="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:
<ul>
<li>[chamilo]/config/</li>
<li>[chamilo]/data/</li>
<li>[chamilo]/temp/</li>
<li>[chamilo]/logs/</li>
<li>[chamilo]/config</li>
<li>[chamilo]/data</li>
<li>[chamilo]/logs</li>
<li>[chamilo]/temp</li>
<li>[chamilo]/main/default_course_document/images</li>
</ul>
Optionally, you can do the same to the following directories if you want to
enable CSS styles package upload and sub-language definition:
Optionally, you can do the same to the following directories if you want to enable CSS styles package upload and sub-language definition:
<ul>
<li>[chamilo]/main/css/</li>
<li>[chamilo]/main/lang/</li>
@ -163,35 +162,34 @@ it, you will need to allow your system to write into the searchdb directory:
<li>[chamilo]/data/searchdb</li>
</ul>
If you find a tests/ directory at the root of your package, please delete it.
This is a development directory that has not been checked for security issues,
This is a development directory (automated tests) that has not been checked for security issues,
an it should *never* be accessible to final users on a production server.
<p>On Linux, Mac OS X and BSD operating systems you can use the <em>chmod
0775</em> command for this (although we recommend you seek advice from an
0775</em> command to this end (although we recommend you seek advice from an
experienced system administrator to avoid security issues).
On Windows, you may need to check the properties of the folders (by
right-clicking on them).</p>
On Windows, you may need to check the permissions of the folders (right-clicking on them).</p>
<p>The following directory needs to be readable and writeable for the web browser
<em>only</em> during the installation process:</p>
<ul>
<li>chamilo/config (if present)</li>
<li>[chamilo]/config (if present)</li>
</ul>
<p>On Linux, Mac OS X and BSD operating systems you can use the <em>chmod
666</em> command for this (although we recommend you seek advice from an
experienced system administrator).
In Windows, you may need to check the properties of the files and
folders (by right-clicking on them).</p>
In Windows, you may need to check the permissions of the files and
folders (right-clicking on them).</p>
<p>
<b>NOTES:</b><br />
Do not modify the home_*.html files directly. Instead,
Do not edit the home_*.html files directly. Instead,
choose "Configure the homepage" in the Chamilo administration section.</p>
<p><span style="font-weight: bold;">Windows</span> : with all-in-one packages
like XAMPP, you can install Chamilo easily. In this case (and unless you use it
like XAMPP, you can easily install Chamilo. In this case (and unless you use it
in production), the login and password for MySQL will probably remain empty.</p>
<p></p>
@ -203,40 +201,39 @@ in production), the login and password for MySQL will probably remain empty.</p>
<li><strong>Protect your configuration directory: </strong>
make sure no one (but you) can overwrite it. You can find the config directory in
<em>(chamilo folder)</em>/config
Make it read-only (windows/xwindows: right-click the file to edit the
properties. linux/bsd/macosx: use the chmod 0555 command). The config
<em>[chamilo]</em>/config
Make it read-only (Windows: right-click the file to edit its
permissions. Linux/UNIX/MacOsX: use the ""chmod 0555" command). The config
file is created by your web server (Apache + PHP, usually) so you may
need to be root user to change its permissions.</li>
need to be a privileged user to change its permissions afterwards.</li>
<li><strong>Protect your installation folder: </strong>
if the <em>(chamilo folder)</em>/main/install
if the <em>[chamilo]</em>/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,
delete it completely or edit its properties so no one can read or
out of the web directories so it is no longer accessible, rename it,
delete it completely or edit its permissions so no one can read or
execute it.</li>
<li><strong>For better security: </strong>
making the files world-writeable will help you install, and it solves many
issues for people without much admin experience. However, it's more
secure to make a distinct user owner of all the chamilo files and folders,
issues for people without much sysadmin experience. Be aware though that it is more
secure to create a distinct user owning all the Chamilo files and folders,
and only give read access to the web server to all files, and write access
only to the directories previously mentioned. This way, these files need
only be readable and writeable by the Apache process owner, not by the
entire world. It would also be adviseable to make all writeable directory
entire world. It would also be adviseable to make all writeable directories
refuse the interpretation of PHP files (except for the root of the courses
directories). Don't hesitate to hire an experienced administrator to do that,
it might be a bit more expensive now, but you'll be happy not to have to loose
all of your data to a hacker who attacked your site.</li>
directories). Don't hesitate to hire an experienced administrator to do that, you'd be happy not to lose
all of your data in case a hacker ever attacks your site.</li>
<li><strong>Configure your Chamilo installation: </strong>
in the administration section of Chamilo, you can use the Chamilo Configuration Settings to adjust the behavior of your installation.</li>
<li><strong>Configure Chamilo mail: </strong>
most of Chamilo uses the mail settings from the php.ini file. However,
if you use a distinct e-mail server, you might need to adjust the
e-mail setting in <em>(chamilo folder)</em>/config/mail.conf.php.</li>
Chamilo uses the mail settings from your PHP configuration file (php.ini) by default. However,
if you want to use a distinct e-mail server, you might need to adjust the
e-mail setting in <em>[chamilo]</em>/config/mail.conf.php.</li>
<li>Check our new <a href="./security.html">security guide</a> for more</li>
</ul>
@ -244,28 +241,53 @@ e-mail setting in <em>(chamilo folder)</em>/config/mail.conf.php.</li>
<br />
<h3>PHP configuration</h3>
<h3>PHP requirements and configuration</h3>
Chamilo LMS requires the following PHP extensions:
<ul>
<li>PCRE</li>
<li>zlib</li>
<li>session</li>
<li>mbstring</li>
<li>iconv</li>
<li>json</li>
</ul>
It also requires the following PHP modules:
<ul>
<li>gd</li>
<li>imagick</li>
<li>mysql or mysqlnd</li>
</ul>
And optionally (for more features) the following PHP modules:
<ul>
<li>ldap</li>
<li>curl</li>
<li>xapian</li>
<li></li>
</ul>
To get the best out of Chamilo, you need to finetune your PHP settings. Consider : <br />
<ul>
<li>Editing php.ini file (on windows can be located at
<li>Editing php.ini file (on Windows can be located at
<span style="font-weight: bold;">C:\xampp\php\php.ini</span>,
on Ubuntu Linux :
on Ubuntu :
<span style="font-weight: bold;">/etc/php5/apache2/php.ini</span></li>
<li>search the word "_max" and increase the two values to optimise the server</li>
<li>we recommend the following values : </li>
</ul>
<pre class="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.
<span class="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
in your php.ini:</p>
in your PHP .ini file:</p>
<div class="code">
date.timezone = 'America/New_York'
@ -293,8 +316,8 @@ date.timezone = 'America/New_York'
<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>
@ -308,6 +331,7 @@ date.timezone = 'America/New_York'
<ul>
<li>php5-ctype</li>
<li>php5-gd</li>
<li>php5-imagick</li>
<li>php5-iconv</li>
<li>php5-json</li>
<li>php5-mbstring</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 <span class="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 <a href="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

Loading…
Cancel
Save