
Chamilo Release INSTALLATION
--------------------------------------

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

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 Chamilo website


1. Requirements
2. Installing a new version of Chamilo
3. Example installation log on (Debian Squeeze stable) Linux
4. Troubleshooting & more Information


1. Requirements
---------------

Chamilo is a web application which requires some other software to function:
a web server, PHP, and the MySQL database server. These software packages
have to be installed on the computer where you will install Chamilo.

You can install all these software packages separately, which often gives
the best results. However, beginning users who want to test Chamilo 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 or XAMP.

WAMP5 website: http://www.wampserver.com
XAMP: http://www.apachefriends.org

1.1. A webserver

The Apache web server is recommended, and Chamilo is configured to use some
Apache security enhancements if possible. However, other web servers will
work too.

Download Apache web server:
http://httpd.apache.org/download.cgi

1.2. PHP

You need PHP version 5.3 minimum and configured with the
following modules :

* gd
* pcre
* session
* standard
* mysql
* zlib
* xsl

Their presence is also checked by the Chamilo install script.
Download PHP: http://www.php.net/downloads.php

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

* output_buffering = Off

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
* (optional) php-ldap if you want to be able to use LDAP authentication


1.3. The MySQL database server

Add a login/password allowing to administrate and create at least one
database. Download MySQL server: http://dev.mysql.com/downloads/

1.4. Permissions
Furthermore, you need web Write access to web directory where Chamilo has
been moved or unzipped to. On a (Windows) machine locally, this is not a
problem. Remotely, you need to be allowed to chmod through (S)FTP,
telnet/SSH or any means.


2. Installing a new version of Chamilo
--------------------------------------

2.1. Download the Chamilo install package (.zip for Windows users
or .tar.gz for all others) from the Chamilo download page:
http://www.chamilo.org/download/

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 chamilo-release-number.tar.gz

2.3. Move by any means ((S)FTP, SCP, local file copy) the contents of the
Chamilo 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 as well as all the .php files.

For Windows users: If you use e.g easyphp locally (http://www.easyphp.org),
just drag and drop the contents of the Chamilo install package into
C:\Program Files\easyphp\www\

2.4. The following directories need to be readable, writeable and executable
for the webserver user (apache or www-data):

chamilo/files/
chamilo/common/configuration/

On Linux, Mac OS X and other Unix operating systems,
if you have root permissions, you can use:

chown -R www-data:www-data chamilo/files
chown -R www-data:www-data chamilo/common/configuration
chmod -R u+rwx chamilo/files chamilo/common/configuration

In Windows, you may need to check the properties of the folders.

2.6. Open a web browser and go to
http://www.yourserver.org/yoursite/chamilo/index.php

Or for an installation on your local machine open:
http://localhost/chamilo/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. Security after installation

Protect your configuration file (your db password is in it):
- only the webserver user should be able to read it
- nobody, not even the webserver user should be able to overwrite it

You can find this config file in
(chamilo folder)/common/configuration/configuration.php.

Make it read-only (windows: right-click the file to edit the properties)

For linux, macosx and other Unices: if possible, make the file owned by root,
and give the web server user read access through the group permissions:

chown -R root:www-data /var/www/chamilo/common/configuration
chmod -R 550 /var/www/chamilo/common/configuration

Protect your installation folder:
If the (chamilo folder)/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.


3. Example installation log on (Debian Squeeze stable) Linux
------------------------------------------------------------

Here follows an example log of a Chamilo 2 installation on a Linux server,
remotely over ssh, with root permissions.
This is a recommended installation procedure if you have ownership of,
or complete access to a server (albeit a virtual one.)

Debian Squeeze stable installed with option 'webserver' (Apache included).

ssh www.yourserver.org

wget http://download.chamilo.org/chamilo-release-number.zip
unzip chamilo-release-number.zip

or

wget http://download.chamilo.org/chamilo-release-number.tar.gz
tar -zxvf chamilo-release-number.tar.gz

su
  (sudo on some Linux systems such as Ubuntu)

mv chamilo /var/www

chown -R www-data:www-data /var/www/chamilo/files
chown -R www-data:www-data /var/www/chamilo/common/configuration

nano /etc/php5/apache2/php.ini
  (change output_buffer = Off)

apt-get install php5-gd php5-xsl
apt-get install mysql-client mysql-server

mysql -u root -p
mysql> create database chamilodb;
mysql> CREATE USER 'chamilo'@'localhost' IDENTIFIED BY 'password';
mysql> grant ALL on chamilodb.* to chamilo@localhost;
mysql> flush privileges;

/etc/init.d/apache2 restart
/etc/init.d/mysql restart

Follow the installation procedure at:
http://www.yourserver.org/chamilo
  (name of database = chamilodb)

Security measures after installation:
mv /var/www/chamilo/install /root/chamilo-install
chown -R root:www-data /var/www/chamilo/common/configuration
chmod -R 550 /var/www/chamilo/common/configuration


4. Troubleshooting & more Information
-------------------------------------

If you have any problems, go to the Chamilo 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.

Chamilo website: http://www.chamilo.org
Support forum: http://www.chamilo.org/forum
Issue & Bug Tracker: http://support.chamilo.org