Administration en ligne de commande
Remarque : la traduction de cette page n'est pas terminée. N'hésitez pas à traduire tout ou partie de cette page ou à la compléter. Vous pouvez aussi utiliser la page de discussion pour vos recommandations et suggestions d'améliorations.
Si vous avez accès en ligne de commande à votre serveur web, différents scripts pourront vous être utiles pour l'administration de Moodle. Les outils pré-installés en standard sont situés dans le dossier admin/cli/*
(CLI = command line interface). Des plugins fournissent leurs propres outils en ligne de commande dans des scripts situés dans leur propre dossier cli
. Par exemple, le script de synchronisation enrol_db est situé dans enrol/db/cli/.
Pour éviter des problèmes de contrôle d'accès, ces scripts doivent être lancés sou le nom de l'utilisateur possesseur du processus du serveur web (apache, www, wwrun, httpd, etc.). Ceci est particulièrement important pour les tâches d'installation et de mise à jour en ligne de commande, puisque durant ces tâches des fichiers sont créés dans le dossier de données moodledata et que le serveur web doit y avoir accès en écriture. Si vous êtes connecté en tant que root, vous lancerez donc les scripts ainsi :
$ cd /chemin/vers/votre/dossier/moodle $ sudo -u apache /usr/bin/php admin/cli/somescript.php --params
La plupart des scripts acceptent la paramètre standard --help (ou -h) pour afficher l'aide sur l'utilisation du script, par exemple :
$ sudo -u apache /usr/bin/php admin/cli/install.php --help
Mise à jour en ligne de commande
Moodle peut être mis à jour en ligne de commande. Tout comme pour le script d'installation, il y a pour la mise à jour un mode interactif et un mode non-interactif. Le script ne met pas le site en mode de maintenance. Vous devrez le faire vous-même (en ligne de commande, par exemple). En outre, le script n'effectue aucune sauvegarde (mais si vous lisez cette page, vous avez certainement mis en place vos propres scripts de sauvegarde de moodledata et de la base de données, n'est-ce-pas ?). La commande est la suivante :
$ sudo -u apache /usr/bin/php admin/cli/upgrade.php
La mise à jour en CLI est très confortable, notamment en combinaison avec l'utilisation de Git pour télécharger le code source de Moodle (voir Git pour Administrateurs). La procédure ci-dessous montre comment mettre à jour votre site en quelques secondes, tout en préservant vos éventuelles personnalisations locales :
$ cd /var/www/sites/moodle/htdocs/ $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable $ git pull $ sudo -u apache /usr/bin/php admin/cli/upgrade.php $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable
Installation en ligne de commande
Depuis Moodle 2.0, Moodle peut-être installé en ligne de commande. Il y a deux modes d'installation. En mode interactif, le script d'installation vous demandera toutes les données nécessaires afin de procéder à l'installation correctement. En mode non-interactif, vous devez fournir toutes les données nécessaires comme paramètres du script et le nouveau site sera créé automatiquement. Les paramètres peuvent également être passés en mode interactif ; ils seront dans ce cas utilisés comme valeur par défaut durant la session interactive.
$ sudo -u apache /usr/bin/php admin/cli/install.php --lang=fr
Mode de maintenance
Pour mettre votre site en mode de maintenance, vous pouvez utiliser :
$ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable
Pour désactiver la maintenance, il suffit d'utiliser plutôt le paramètre --disable
$ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable
Mode hors ligne
Dans certaines situations, vous aurez besoin de mettre votre site Moodle hors ligne en le rendant inaccessible, tout en conservant certaines fonctionnalités, par exemple parce que d'autres pages ou applications web y tournent. Si un fichier du nom de climaintenance.html
est placé dans le dossier moodledata tout en haut de la hiérarchie, Moodle affichera automatiquement le contenu de ce fichier au lieu de toute autre page.
$ cd /var/www/sites/moodle/moodledata/ $ echo '<h1>Désolé, le site Moodle est actuellement en maintenance</h1>' > climaintenance.html
Vous pouvez préparer une page HTML avec votre charte graphique pour informer vos utilisateurs que le serveur est temporairement inaccessible et conserver ce fichier dans le dossier moodledata sous un nom comme climaintenance.off
et le renommer en climaintenance.html
au besoin.
Personnalisation des valeurs par défaut
Durant l'installation ou la mise à jour en ligne de commande, Moodle définit des variables d'administration à leur valeur par défaut. Vous pouvez définir d'autres valeurs par défaut. Voyez MDL-17850 pour des détails. En résumé, il suffit de créer un fichier local/defaults.php
dans votre installation Moodle. Le format de ce fichier est le suivant :
<?php
$defaults['pluginname']['settingname'] = 'settingvalue'; // pour les plugins
$defaults['moodle']['settingname'] = 'settingvalue'; // pour les paramètres du cœur de Moodle
Ces valeurs par défaut sont utilisées lors de l'installation, de la mise à jour, et sont en outre affichées comme valeur par défaut dans les pages d'administration du site.
Réinitialiser le mot de passe
Si vous avez perdu votre mot de passe administrateur (ou souhaitez définir le mot de passe d'un autre utilisateur), vous pouvez utiliser le script reset_password.php. Ce script défini correctement le mot de passe de l'utilisateur spécifié, en tenant compte du sel de mot de passe.
$ sudo -u apache /usr/bin/php admin/cli/reset_password.php
Conversion du moteur de stockage MySQL
Si votre site Moodle utilise la base de données MySQL et utilise par défaut le moteur de stockage MyISAM pour vos tables, vous pourriez vouloir les convertir pour utiliser un autre moteur plus performant comme InnoDB (certains diraient que vous devriez même quitter MySQL et passer à PostgreSQL ;-) ).
$ sudo -u apache /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB
Exécution du cron en ligne de commande
Dans les versions 1.x, vous pouviez exécuter admin/cron.php soit depuis la ligne de commande, soit depuis le web. Depuis Moodle 2.0, seul le script admin/cli/cron.php peut être exécuté via la ligne de commande.