Zoeken op website

Hoe Moodle Learning Platform te installeren in Ubuntu 20.04


Moodle is 's werelds populairste, robuuste, gratis en open-source beheerplatform voor online leren (e-learning), gebouwd voor internet en mobiel. Het biedt een breed scala aan activiteiten en educatieve hulpmiddelen waarmee scholen, universiteiten en aanverwante instellingen studenten altijd en overal een flexibel leerplatform kunnen bieden, zonder onderbreking van hun cursus en curriculum.

Enkele van de algemene kenmerken zijn onder meer een moderne, gebruiksvriendelijke interface, een gepersonaliseerd dashboard, samenwerkingstools en -activiteiten, een alles-in-één kalender, handig bestandsbeheer, een eenvoudige intuïtieve teksteditor, meldingen en het bijhouden van de voortgang.

Belangrijk is dat Moodle ook zeer uitbreidbaar is met behulp van meer dan duizend plug-ins die extra activiteiten, blokken, thema's en nog veel meer ondersteunen.

In dit artikel leert u hoe u de nieuwste versie van het Moodle Learning Platform met NGINX en MySQL/MariaDB-database op Ubuntu 20.04 en Oudere versies.

Serververeisten:

  • Een vers geïnstalleerde Ubuntu 20.04-server met LEMP Stack geïnstalleerd.

Zodra u de LEMP-stack op de Ubuntu-server heeft geïnstalleerd, kunt u verder gaan met het instellen van Moodle op de server, zoals hieronder wordt uitgelegd.

Op deze pagina

  • DNS-record instellen voor Moodle-toepassing
  • Moodle installeren op Ubuntu-server
  • NGINX configureren om de Moodle-applicatie te bedienen
  • De Moodle-installatie voltooien via Web Installer
  • Schakel HTTPS in op de Moodle-applicatie met Let's Encrypt

DNS-record instellen voor Moodle-toepassing

1. Om ervoor te zorgen dat gebruikers toegang krijgen tot uw Moodle-instantie, moet u er een subdomein voor maken, dus moet u een DNS- maken Een-record om dit te bereiken. Voor deze handleiding is ons testdomein testprojects.me, dus we moeten een subdomein maken, bijvoorbeeld learning.testprojects.me.

Log dus in op de webconsole van uw domeinregistreerder en ga naar de geavanceerde instellingen van uw domein. Klik op Nieuwe record toevoegen van het type A, een host zou leren moeten zijn (of een ander woord naar keuze), en de waarde moet het openbare IP-adres van uw Ubuntu-server zijn.

Moodle installeren op Ubuntu-server

2. Vervolgens moet u de PHP-extensies en -bibliotheken die vereist zijn voor Moodle installeren met behulp van de apt-pakketbeheerder, zoals weergegeven.

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. Maak vervolgens een database voor uw Moodle systeem. Log in op de MySQL databasebeheershell en creëer de database zoals weergegeven:

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 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Zoals eerder vermeld, zullen we voor deze handleiding de nieuwste versie Moodle downloaden en installeren (versie 3.9 op het moment van schrijven). Voer de volgende wget-opdracht uit om het Moodle-pakket te pakken en gebruik de tar-opdracht om het respectievelijk uit te pakken. Gebruik vervolgens het ls-commando om te bevestigen dat de Moodle-map bestaat onder /var/www/html/, zoals weergegeven.

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. Stel vervolgens de juiste rechten in voor de map Moodle door de volgende opdrachten uit te voeren.

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

6. Maak vervolgens de Moodle-map gegevens aan, een plaats waar Moodle geüploade bestanden kan opslaan en de rechten kan instellen zoals weergegeven.

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

7. Maak vervolgens het Moodle hoofdconfiguratiebestand aan uit het voorbeeldconfiguratiebestand dat bij het pakket is geleverd en open het.

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

Zoek naar de databaseconfiguratiesectie en configureer vervolgens de database waarin alle Moodle-gegevens worden opgeslagen, zoals weergegeven in de volgende schermafbeelding:

$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    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Configureer ook de locatie van de Moodle-website en de locatie van de Moodle-gegevensmap, zoals weergegeven.

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

Sla het bestand op en sluit het. Configureer vervolgens NGINX om uw Moodle-site te servereren, zoals beschreven in de volgende sectie.

NGINX configureren om de Moodle-applicatie te bedienen

8. Om ervoor te zorgen dat NGINX uw Moodle site kan serveren, moet u een nieuwe serverblokconfiguratie maken onder de NGINX-configuratie, in de map >/etc/nginx/conf.d/.

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

Kopieer en plak de volgende configuratie erin, vervang learning.testprojects.me door uw subdomein. Daarnaast zou de fastcgi_pass richtlijn moeten verwijzen naar het adres waarop PHP-FPM FastCGI-verzoeken accepteert (controleer /etc/php/7.4/fpm/pool.d/www.conf bestand voor meer informatie).

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;
}
}

Sla het bestand op en sluit het.

9. Controleer vervolgens of de NGINX-configuratie in orde is nadat u de bovenstaande wijzigingen heeft aangebracht en start vervolgens de NGINX-service opnieuw op.

sudo nginx -t
sudo systemctl reload nginx

De Moodle-installatie voltooien via Web Installer

10. Open nu een webbrowser en navigeer met uw subdomein, bijvoorbeeld learning.testprojects.me om toegang te krijgen tot het Moodle webinstallatieprogramma.

http://learning.testprojects.me

Zodra de welkomstpagina is geladen, leest u het bericht en klikt u op Doorgaan.

11. Vervolgens controleert het installatieprogramma of uw systeem aan de vereisten voldoet. Als alles in orde is, scroll dan naar beneden en klik op Doorgaan om de daadwerkelijke installatie van bestanden en het opzetten van de database te starten schema.

Houd er rekening mee dat het installatieprogramma een waarschuwing weergeeft dat de site niet op HTTPS draait. Negeer de waarschuwing voorlopig. In het laatste gedeelte bespreken we hoe u HTTPS op Moodle kunt inschakelen met behulp van gratis Let's Encrypt-certificaten.

Zodra de installatie is voltooid, klikt u op Doorgaan.

12. Configureer vervolgens het beheerdersaccount van uw Moodle-site door de gebruikersnaam, het wachtwoord, de voor- en achternaam en het e-mailadres van het account aan te maken. Scroll vervolgens naar beneden en klik op Account bijwerken.

13. Configureer vervolgens de voorpagina-instellingen van de Moodle-site, zoals weergegeven in de volgende schermafbeelding. Scroll vervolgens naar beneden en klik op Bijwerken.

14. Het webinstallatieprogramma logt u automatisch in op de nieuwe Moodle-site. U kunt uw siteregistratie voltooien door de instructies op het scherm te volgen.

HTTPS instellen op de Moodle-applicatie met Let's Encrypt

15. Om uw Moodle-site te beschermen, moet u HTTPS inschakelen. Voor deze handleiding gebruiken we de gratis en vertrouwde SSL/TLS-certificaten van Let's Encrypt. Een ander voordeel van het gebruik van Let’s Encrypt is dat het geautomatiseerd is.

Ga dus terug naar uw terminal en voer de volgende opdracht uit om de certbot op Ubuntu te installeren (een gratis, open source tool voor het automatisch gebruiken van Let's Encrypt-certificaten om HTTPS in te schakelen op handmatig beheerde sites).

sudo snap install --classic certbot

16. Voer vervolgens de volgende opdracht uit om een certificaat te verkrijgen en laat Certbot uw NGINX-configuratie bewerken om het nieuwe certificaat automatisch te configureren.

sudo certbot --nginx

17. Ga vervolgens terug naar het siteconfiguratiebestand van Moodle.

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

en wijzig de URL van HTTP in HTTPS, zoals weergegeven in de volgende schermafbeelding.

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

18. Controleer ten slotte vanuit de browser of uw Moodle-site nu op HTTPS draait.

https://learning.testprojects.me

Dat is het voor nu! Ga naar de Moodle 3.9-documentatie voor meer informatie, configuratieopties en gebruikshandleiding.