# Chamilo - Server Dependencies

## Introduction

In the ever-evolving web environment, Chamilo has to rely on state-of-the-art third-party software in order to provide you with useful and practical features. Some of this third-party software usually come bundled with your operating system, but some don't. This means that if that software is not installed on your Chamilo server, along with Chamilo, you might not enjoy the best possible experience with your Chamilo platform. To avoid this problem, most of the software we used is bundled into a typical Chamilo installation.

However, if such a third-party software is too big to be included, or if it doesn't make sense to include it for whatever reason, you must make sure it is installed on your system. This is the goal of this list: to help you keep a track of what software is needed and, as much as possible, where to get the required information to install it.

## Dependencies - client-side

We recommend using HTML5-compatible technology.

- PC with a minimum of 512MB or any tablet or smartphone
- We recommend a Pentium-I as a minimum processor capability for PCs
- Works on Windows XP (SP3 recommended) and later versions, Linux (any version with a graphical interface), Mac OS (any version), FreeBSD, Android, iOS and pretty much any other operating system with a graphical interface you might think about
- Any modern browser (IE8 and inferior *excluded*).
- Optional: Flash plugin (only required for a few features like the videoconference plugins)
- Optional: Java applet capability (only required for some plugins)

## Dependencies - server-side

- Apache 2+
- PHP 7.2 or higher with MySQL bindings.
- MySQL 5.7+ or any version of MariaDB database server
- php-intl package (for international behaviour support)
- php-gd package (for images resizing/cropping)
- php-mbstring package (for international behaviour support)
- php-imagick
- php-bcmath
- php-curl (only required for a feature in the links tool and an optional installer check)
- php-ldap (only required for connection to a LDAP server)
- php-xapian (only required for full-text indexing and search)

## Included Dependencies

- EZpdf and MPDF
- FCKEditor (previously HTMLArea)
- FormValidator
- iCalCreator
- kSes
- MIMETex
- MP3Player
- PCLZip
- PEAR::HTML_Common
- PEAR::HTML_QuickForm
- PEAR::HTML_Table
- PEAR::OLE
- PEAR::Pager
- PEAR::Spreadsheet_Excel_Writer
- PECL
- PHPMailer
- WCAG_Rendering
- xajax
- jQuery
- Others (see composer.json)

## Extra features dependencies - server-side

Chamilo LMS is a very complex software suite, and some of its components wil only work when some specific server-side libraries are installed. The names of the libraries below are taken from a Debian/Ubuntu installation, so you might need to adapt these if you are installing on Windows, Mac or another Linux distribution.
Please note that, as for the rest of free software, we are NOT giving or implying any warranty of any kind that this will work on your system, even on the intended Debian/Ubuntu systems. You should take your own precautions to ensure all components are installed by an expert in the field.

- Chamilo Rapid (ex Oogie(TM))
  - libreoffice
- Audio recording (generate mp3 from wav)
  - libav-tools
  - libavcodec-extra-53
  - libmp3lame0
- BigBlueButton videoconference
  - bigbluebutton
- Resources sequencing
  - graphviz (only required for resources sequencing - for sessions etc)