Wéi installéiere ech Moodle Learning Plattform an Ubuntu 20.04


Moodle ass déi populäerst, robust, gratis an Open-Source Online Léieren (E-Learning) Gestiounsplattform fir Web a Mobil. Et bitt eng breet Palette vun Aktivitéiten an Erzéiungsinstrumenter, déi Schoulen, Universitéiten a verbonne Institutiounen et erlaben, Studenten eng flexibel Léierplattform zu all Moment ze bidden, iwwerall, ouni Ënnerbriechung vun hirem Cours a Curriculum.

E puer vun hiren allgemenge Fonctiounen enthalen e modernen, einfach ze benotzen Interface, personaliséierten Dashboard, Zesummenaarbecht Tools an Aktivitéiten, All-in-One Kalenner, bequem Dateieverwaltung, einfachen intuitiven Texteditor, Notifikatiounen a verfollegt Fortschrëtter.

Wichteg ass, Moodle ass och héich erweiterbar mat iwwer dausend Plugins déi extra Aktivitéiten, Blocks, Themen a sou vill méi ënnerstëtzen.

An dësem Artikel léiert Dir wéi Dir déi lescht Versioun vun der Moodle Learning Plattform mat NGINX a MySQL/MariaDB Datebank op Ubuntu 20.04 a méi al Versiounen installéiere kënnt.

  • E frësch installéierten LEMP Stack installéiert.

Wann Dir den LEMP-Stack op den Ubuntu Server installéiert hutt, kënnt Dir weiderfuere fir Moodle um Server opzestellen wéi et hei ënnen erkläert gëtt.

Op dëser Säit

  • DNS Record fir Moodle Applikatioun opsetzen
  • Moodle op Ubuntu Server installéieren
  • Konfiguréieren NGINX fir Moodle Applikatioun ze servéieren
  • Moodle Installatioun iwwer Web Installer ofgeschloss
  • Aktivéieren HTTPS op Moodle Applikatioun mat Let's Encrypt

1. Fir Benotzer Zougang zu Ärer Moodle Instanz musst Dir e Subdomain dofir erstellen, also musst Dir en DNS A Rekord erstellen fir dëst z'erreechen. Fir dëse Guide ass eisen Test Domain testprojects.me, also musse mir en Ënnerdomain erstellen, zum Beispill learning.testprojects.me.

Also, loggt Iech op d'Webkonsole vun Ärem Domain Registrar an Zougang zu den erweiderten Astellunge vun Ärem Domain, klickt op Neie Rekord vum Typ A bäifügen, e Host soll léieren (oder all Wuert vun Ärer Wiel) ), a Wäert soll déi ëffentlech IP Adress vun Ärem Ubuntu Server sinn.

2. Als nächst musst Dir PHP-Extensiounen a Bibliothéiken installéieren, déi vum Moodle erfuerderlech sinn mat dem apt Package Manager wéi gewisen.

$ sudo apt update
$ sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. Als nächst erstellt eng Datebank fir Äre Moodle System. Mellt Iech un d'MySQL Datebankverwaltungsshell a erstellt d'Datebank wéi gewisen:

$ sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '[email ';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Wéi virdru scho gesot, fir dëse Guide wäerte mir déi lescht Versioun Moodle eroflueden an installéieren (Versioun 3.9 zum Schreiwen). Fëllt de folgende ls Kommando aus fir ze bestätegen datt de Moodle Verzeichnis existéiert ënner /var/www/html/ wéi gewisen.

$ wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
$ sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
$ ls /var/www/html/

5. Als nächst setzt de passenden Permissiounen am Moodle Verzeichnis andeems Dir déi folgend Kommandoen ausféiert.

$ sudo chown www-data:www-data -R /var/www/html/moodle
$ sudo chmod 775 -R /var/www/html/moodle

6. Als nächst erstellt de Moodle Dateverzeichnis, eng Plaz wou Moodle eropgeluede Dateien späichere kann a seng Permissiounen setzen wéi gewisen.

$ sudo mkdir -p /var/moodledata
$ sudo chmod 775 -R /var/moodledata
$ sudo chown www-data:www-data -R  /var/moodledata

7. Erstellt dann d'Moodle Haaptkonfiguratiounsdatei vun der Probekonfiguratiounsdatei, déi mam Package geliwwert gëtt, opmaachen.

$ cd /var/www/html/moodle/
$ sudo cp config-dist.php config.php
$ sudo vim config.php

Lok fir d'Datebankkonfiguratiounssektioun, konfiguréiert dann d'Datebank wou all Moodle Daten gespäichert ginn, wéi am folgenden Screenshot gewisen:

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = '[email ';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Konfiguréiert och d'Moodle Websäit Location souwéi d'Location vum Moodle Datenverzeechnes wéi gewisen.

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/moodledata';

Späichert d'Datei zoumaachen. Dann konfiguréieren NGINX fir Är Moodle Site ze Server wéi an der nächster Sektioun beschriwwen.

8. Fir NGINX fir Är Moodle Site ze serveren, musst Dir eng nei Serverblockkonfiguratioun ënner der NGINX Konfiguratioun erstellen, am Verzeechnes /etc/nginx/conf.d/.

$ sudo vim /etc/nginx/conf.d/moodle.conf

Kopéiert a paste déi folgend Konfiguratioun dran, ersetzt learning.testprojects.me mat Ärem Ënnerdomain. Donieft soll d'fastcgi_pass Direktiv op d'Adress weisen op där PHP-FPM FastCGI Ufroe akzeptéiert (kuckt d' /etc/php/7.4/fpm/pool.d/www.conf Datei fir méi Informatioun) .

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Späichert d'Datei a maach se zou.

9. Als nächst verifizéiert datt d'NGINX Konfiguratioun OK ass nodeems Dir déi uewe genannte Ännerunge gemaach hutt, da graziéis den NGINX Service nei starten.

$ sudo nginx -t
$ sudo systemctl reload nginx

10. Elo öffnen e Webbrowser a navigéiert mat Ärem Ënnerdomain, zum Beispill learning.testprojects.me fir Zougang zum Moodle Webinstallateur ze kréien.

http://learning.testprojects.me

Wann d'Begréissungssäit lued, liest de Message duerch, klickt op Continue.

11. Als nächst wäert den Installateur iwwerpréift ob Äre System den Ufuerderunge entsprécht, wann alles OK ass, scroll down a klickt Continue fir d'aktuell Installatioun vu Dateien ze starten an d'Datebankschema opzestellen.

Bedenkt datt den Installateur eng Warnung iwwer de Site weist deen net op HTTPS leeft, ignoréiert d'Warnung fir de Moment. An der leschter Sektioun wäerte mir ofdecken wéi Dir HTTPS op Moodle aktivéiert mat gratis Let's Encrypt Certificaten.

Wann d'Installatioun fäerdeg ass, klickt op Continue.

12. Als nächst, konfiguréieren Äre Moodle Site Administrator Kont andeems Dir de Benotzernumm, Passwuert, Virnumm a Familljennumm an E-Mailadress erstellt. Da scroll down a klickt Update Kont.

13. Als nächst konfiguréiert d'Moodle Site Frontpage Astellunge wéi am folgenden Screenshot gewisen. Da scroll down a klickt Update.

14. De Webinstallateur wäert Iech automatesch op den neie Moodle Site aloggen. Dir kënnt Är Site Registréierung fäerdeg maachen andeems Dir d'Instruktioune um Bildschierm befollegt.

15. Fir Är Moodle Site ze schützen, musst Dir HTTPS aktivéieren. Fir dëse Guide benotze mir Let's Encrypt gratis a vertraut SSL/TLS Zertifikater. En anere Virdeel fir Let's Encrypt ze benotzen ass datt et automatiséiert ass.

Also, gitt zréck op Ären Terminal a lafen de folgende Kommando fir den certbot op Ubuntu z'installéieren (e gratis Open-Source Tool fir automatesch Let's Encrypt Certificaten ze benotzen fir HTTPS op manuell verwaltete Site z'aktivéieren).

$ sudo snap install --classic certbot

16. Da gitt de folgende Kommando aus fir en Zertifika ze kréien an Certbot Är NGINX Konfiguratioun z'änneren fir den neien Zertifika automatesch ze konfiguréieren.

$ sudo certbot --nginx

17. Als nächst gitt zréck op d'Moodle Site Konfiguratiounsdatei.

$ sudo vim /var/www/html/moodle/config.php 

an änneren d'URL vun HTTP op HTTPS wéi am folgenden Screenshot gewisen.

$CFG->wwwroot   = 'https://learning.testprojects.me';

18. Endlech, z'iwwerpréiwen aus dem Browser datt Är Moodle Site elo op HTTPS leeft.

https://learning.testprojects.me

Dat ass alles fir elo! Gitt op d'Moodle 3.9 Dokumentatioun fir méi Informatioun, Konfiguratiounsoptiounen a Benotzungsguide.