Installer Moodle sur Yunohost 3.0 - Tutoriel rapide

Salut à tous,

Après avoir galéré un peu, je viens de trouver un moyen d’installer Moodle 3.5.1 sur Yunohost ; je vais donc me permettre de vous partager la façon dont j’ai procédé.

1- Installation en sous-domaine : moodle.blabla.com ; installation d’un certificat Let’s Encrypt.
Bien entendu, il n’y a pas d’intégration SSO !

2- Installation de Custom Webapp pour ce sous-domaine à la racine de celui-ci. Puis, on entre - avec Filezilla par exemple - dans le répertoire FTP (en SFTP bien évidemment) et on charge tous les fichiers récupérés de l’archive Moodle 3.5.1+ [Downloading package | Moodle downloads]

Puis, on suit scrupuleusement toutes les étapes qui vont suivre ; ne surtout pas lancer l’installateur…

3- Modification du fichier de conf “nginx” de votre sous-domaine et ajouter ce qui est recommandé sur le site de Moodle dans le cas d’une installation justement sur Nginx =

N’effacez surtout pas le fichier de conf, mais ajoutez ces lignes à la fin avant le dernier } - Vous pouvez ajouter une ligne commentée par # pour vous y retrouver ; genre “# Configuration MOODLE”

location ~ [^/].php(/|$) {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

CTRL + O [pour enregistrer] ; puis CTRL + X [pour quitter]

4- Réglage MySQL avec MariaDB : pour fonctionner, Moodle a besoin de deux choses en particulier (le cas échéant, l’installateur de Moodle vous empêchera de continuer) =

Premièrement, toujours dans le terminal SSH, entrez “mysql” ;

Vous tomber sur cette boite de dialogue =

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5010
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]>

Pour que Moodle fonctionne, il va falloir activer Barracuda et activer ; pour cela on entre les deux commandes suivantes séparément =

mysql> set global innodb_file_format = BARRACUDA;
mysql> set global innodb_large_prefix = ON;

5- Création du répertoire “moodledata” : pour fonctionner, Moodle doit avoir un dossier où stocker les fichiers correspondant à l’utilisation que vous ferez de Moodle (les fichiers qui y seront chargés, les données temporaires, les données de sessions, etc.)

En ligne de commande, on exécute : mkdir /var/www/[mywebapp]/www/moodledata
(ou bien un autre path si désiré)

Puis, enfin, on exécute les droits en écriture tels que sur la doc MOODLE : chmod 0777 /var/www/[mywebapp]/www/moodledata

6- A cette étape, on lance l’installateur en se rendant simplement sur le sous-domaine. Moodle va faire apparaître trois paths ; dont un est modifiable et c’est celui de moodledata.

Très important, il faut simplement mettre moodledata/ sans référence absolue au path complet ; sinon, erreur d’installation et/ou avertissement !

Puis, après avoir cliqué sur continué, une erreur va s’afficher : pas de panique, retournez sur le répertoire de Custom Webapp et modifiez la ligne du fichier config.php =

$CFG->dataroot = ‘moodledata/’ par le path absolu : $CFG->dataroot = ‘/var/www/my_webapp__X/www/moodledata/’

7- Continuez l’installation jusqu’à son terme ; cela peut prendre un peu de temps suivant les performances de votre serveur !

Hi @alexandre75

It would be great if you can contribute to the moodle package.

1 Like

Yes, but I don’t know how to package an application. Could you send me a ebook or teach me how to do ?

Hi @alexandre75

I have updated the moodle package to work with YunoHost 3. You can test it. After the test I will merge it into the master.

$ yunohost app install https://github.com/YunoHost-Apps/moodle_ynh/tree/yunohost3

It would be helpful if you can tell me what should be backed up before upgrade and restored after upgrade so that I can make an update script for the package.

Thanks