Chamilo est un système de gestion de l'apprentissage (LMS) gratuit et open source qui est largement utilisé pour l'éducation en ligne et la collaboration d'équipe partout dans le monde.
Dans cet article, je vais vous montrer comment déployer la dernière version stable de Chamilo sur une instance de serveur Ubuntu 18.04 LTS.
Conditions préalables
- Une nouvelle instance de serveur Vultr Ubuntu 18.04 LTS x64 avec suffisamment de mémoire, 8 Go ou plus est recommandée en production. Supposons que son adresse IPv4 soit
203.0.113.1
.
- Un utilisateur sudo .
- L'instance de serveur a été mise à jour vers le dernier état stable. Voir les détails ici .
- Un domaine
chamilo.example.com
pointé vers l'instance de serveur mentionnée ci-dessus.
Modifier les règles du pare-feu UFW
En production, vous devez modifier les règles de pare-feu UFW afin d'autoriser uniquement le trafic TCP entrant sur les ports SSH, HTTP et HTTPS:
sudo ufw allow in ssh
sudo ufw allow in http
sudo ufw allow in https
sudo ufw enable
Installez Apache 2.4
Sur Ubuntu 18.04 LTS, vous pouvez utiliser APT pour installer la dernière version stable d'Apache comme suit:
sudo apt install -y apache2
Supprimez la page d'accueil Apache prédéfinie:
sudo mv /var/www/html/index.html /var/www/html/index.html.old
Interdire à Apache d'exposer des fichiers et des répertoires dans le répertoire racine Web /var/www/html
aux visiteurs:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Activez le module Apache Rewrite:
sudo a2enmod rewrite
Démarrez le service Apache et faites-le démarrer automatiquement à chaque démarrage du système:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Installer et sécuriser la série MariaDB 10.3
Installez la dernière version stable de MariaDB:
sudo apt install -y software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server
Pendant l'installation, vous serez invité à configurer un nouveau mot de passe pour l' root
utilisateur MariaDB . Pour des raisons de sécurité, assurez-vous de saisir un mot de passe fort ici.
Démarrez le service MariaDB et lancez-le automatiquement à chaque démarrage du système:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Secure MariaDB:
sudo /usr/bin/mysql_secure_installation
Lorsque vous y êtes invité, répondez à chaque question à l'écran comme suit:
Enter current password for root (enter for none): your-MariaDB-root-password
Change the root password? [Y/n]: n
Remove anonymous users? [Y/n]: y
Disallow root login remotely? [Y/n]: y
Remove test database and access to it? [Y/n]: y
Reload privilege tables now? [Y/n]: y
Installer les packages PHP 7.2 requis
Afin d'obtenir de meilleures performances sur le site Chamilo, il est recommandé d'installer les derniers packages PHP 7.2 plutôt que les anciens packages PHP 5.x. Actuellement, vous pouvez utiliser un référentiel PPA tiers pour installer les packages PHP 7.2 requis comme suit.
Installez le ondrej/php
référentiel PPA, puis mettez à jour le système:
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
Installez les packages PHP 7.2 requis:
sudo apt install -y php7.2 php7.2-opcache php7.2-cli php7.2-curl php7.2-common php7.2-gd php7.2-intl php7.2-mbstring php7.2-mysql libapache2-mod-php7.2 php7.2-soap php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-ldap php-apcu-bc
Sauvegardez et modifiez le fichier de configuration PHP orienté Apache:
sudo cp /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php/7.2/apache2/php.ini
Remarque: lorsque vous travaillez sur votre propre instance de serveur, assurez-vous de remplacer l'exemple de valeur de fuseau horaire America/Los_Angeles
par le vôtre. Vous pouvez trouver toutes les valeurs de fuseau horaire prises en charge ici .
Installer Chamilo
Ayant la pile LAMP en place, il est maintenant temps de déployer le Chamilo LMS. Vous devrez configurer une base de données MariaDB dédiée pour Chamilo, préparer les fichiers Chamilo LMS, affiner les paramètres PHP 7.2, configurer un serveur virtuel Apache, terminer l'installation dans un navigateur Web et exécuter les mesures de sécurité post-installation.
Connectez-vous au shell MariaDB en tant que root
:
mysql -u root -p
Dans le shell MariaDB, entrez les instructions suivantes:
CREATE DATABASE chamilo;
CREATE USER 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON chamilo.* TO 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Remarque: Pour des raisons de sécurité, assurez-vous de remplacer le nom de chamilo
la base de données , le nom d'utilisateur de la base de données chamilouser
et le mot yourpassword
de passe par les vôtres.
Préparer les fichiers Chamilo LMS
Téléchargez la dernière version stable de Chamilo à partir du dépôt Chamilo GitHub. Assurez-vous de choisir la version orientée PHP 7.x:
cd
wget https://github.com/chamilo/chamilo-lms/releases/download/v1.11.8/chamilo-1.11.8-php7.tar.gz
Extrayez tous les fichiers Chamilo dans le /opt
répertoire:
sudo tar -zxvf chamilo-1.11.8-php7.tar.gz -C /opt
Afin de faciliter l'utilisation quotidienne et les mises à jour potentielles, créez un lien symbolique, qui pointe vers le /opt/chamilo-1.11.8-php7
répertoire, dans le répertoire racine Web Apache /var/www/html
:
sudo ln -s /opt/chamilo-1.11.8-php7 /var/www/html/chamilo
Modifiez la propriété de tous les fichiers Chamilo pour l' www-data
utilisateur et le www-data
groupe:
sudo chown -R www-data:www-data /opt/chamilo-1.11.8-php7
Ajustez les paramètres PHP 7.2 pour Chamilo
Utilisez l' vi
éditeur pour ouvrir le même fichier de configuration PHP que nous avons édité précédemment:
sudo vi /etc/php/7.2/apache2/php.ini
Recherchez respectivement les lignes suivantes:
session.cookie_httponly =
upload_max_filesize = 2M
post_max_size = 8M
Remplacez-les par ce qui suit:
session.cookie_httponly = 1
upload_max_filesize = 100M
post_max_size = 100M
Sauvegarder et quitter:
:wq!
Configurer un serveur virtuel Apache pour Chamilo LMS
Utilisez les commandes suivantes pour configurer un hôte virtuel Apache pour votre site Chamilo LMS:
cat <<EOF | sudo tee /etc/apache2/sites-available/chamilo.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/chamilo
ServerName chamilo.example.com
ServerAlias example.com
<Directory />
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/chamilo>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/chamilo.example.com-error_log
CustomLog /var/log/apache2/chamilo.example.com-access_log common
</VirtualHost>
EOF
Remarque: veillez à remplacer toutes les occurrences de example.com
par votre domaine réel.
Utilisez un nouveau lien symbolique pour remplacer le fichier de lien par défaut dans le /etc/apache2/sites-enabled
répertoire:
sudo rm /etc/apache2/sites-enabled/000-default.conf
sudo ln -s /etc/apache2/sites-available/chamilo.conf /etc/apache2/sites-enabled/
Redémarrez le service Apache pour appliquer toutes vos modifications:
sudo systemctl restart apache2.service
Terminez l'installation dans un navigateur Web
Pointez votre navigateur Web préféré vers http://chamilo.example.com
et vous serez amené dans l'assistant d'installation de Chamilo. Cliquez sur le Install Chamilo
bouton pour continuer. La section suivante vous guidera à travers le processus d'installation:
Step 1 - Installation Language
: Choisissez la langue que vous souhaitez utiliser, telle que English
, puis cliquez sur le Next
bouton.
Step 2 – Requirements
: Assurez-vous que toutes les exigences obligatoires sont remplies, puis cliquez sur le New installation
bouton.
Step 3 – Licence
: Vous devez consulter la licence GNU General Public (GPL), cochez la case à côté de la I agree
phrase, remplissez tous les champs d'informations de contact, puis cliquez sur le Next
bouton pour continuer.
Step 4 – MySQL database settings
: Saisissez les informations d'identification de la base de données que nous avons configurées précédemment, puis cliquez sur le Check database connection
bouton pour les vérifier. Cliquez sur le Next
bouton pour continuer.
Step 5 – Config settings
: Assurez-vous de modifier le mot de passe administrateur prédéfini, remplissez les autres champs en fonction de votre plan d'affaires, puis cliquez sur le Next
bouton pour continuer.
Step 6 – Last check before install
: Passez en revue tous les paramètres, puis cliquez sur le Install Chamilo
bouton pour démarrer l'installation Web.
Step 7 – Installation process execution
: Lorsque Chamilo est installé avec succès, cliquez sur le Go to your newly created portal.
bouton pour terminer l'assistant d'installation Web.
Exécuter les mesures de sécurité post-installation
En outre, deux mesures de sécurité après l'installation que vous devez prendre sont répertoriées ci-dessous:
sudo chmod -R 0555 /var/www/html/chamilo/app/config
sudo rm -rf /var/www/html/chamilo/main/install