Sådan installeres Moodle Learning Platform i Ubuntu 20.04


Moodle er verdens mest populære, robuste, gratis og open source online-læringsplatform (e-learning) administrationsplatform bygget til web og mobil. Det tilbyder en bred vifte af aktiviteter og uddannelsesværktøjer, der gør det muligt for skoler, universiteter og relaterede institutioner at tilbyde studerende en fleksibel læringsplatform når som helst og hvor som helst uden afbrydelse af deres kursus og læseplan.

Nogle af dens generelle funktioner inkluderer en moderne, brugervenlig grænseflade, personaliseret dashboard, samarbejdsværktøjer og aktiviteter, alt-i-en-kalender, praktisk filadministration, enkel intuitiv teksteditor, underretninger og spor fremskridt.

Det er vigtigt, at Moodle også er meget udvidelig ved hjælp af over tusind plugins, der understøtter ekstra aktiviteter, blokke, temaer og så meget mere.

I denne artikel lærer du, hvordan du installerer den nyeste version af Moodle Learning Platform med NGINX og MySQL/MariaDB-database på Ubuntu 20.04 og ældre versioner.

  • En nyinstalleret Ubuntu 20.04 Server med LEMP Stack installeret.

Når du har installeret LEMP-stakken på Ubuntu-serveren, kan du gå videre med at opsætte Moodle på serveren som forklaret nedenfor.

På denne side

  • Opsætning af DNS-post til Moodle-applikation
  • Installation af Moodle i Ubuntu Server
  • Konfiguration af NGINX til servering af Moodle-applikation
  • Afslutning af Moodle-installation via webinstallatør
  • Aktivér HTTPS på Moodle-applikationer ved hjælp af Lad os kryptere

1. For at brugere skal få adgang til din Moodle-forekomst, skal du oprette et underdomæne for det. Derfor skal du oprette en DNS A -post for at opnå dette. I denne vejledning er vores testdomæne testprojects.me , så vi er nødt til at oprette et underdomæne, f.eks. learning.testprojects.me .

Så log ind på din domæneregistrators webkonsol og få adgang til dit domænes avancerede indstillinger, klik på Tilføj ny post af typen A , en vært skal lære (eller et hvilket som helst ord efter eget valg ), og værdien skal være den offentlige IP-adresse på din Ubuntu-server.

2. Dernæst skal du installere PHP-udvidelser og biblioteker, der kræves af Moodle ved hjælp af apt-pakkehåndteringen som vist.

$ 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. Opret derefter en database til dit Moodle-system. Log ind på MySQL-databaseadministrationsskallen, og opret databasen som vist:

$ 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. Som nævnt tidligere downloader og installerer vi den nyeste version Moodle (version 3.9 i skrivende stund) til denne vejledning. Kør følgende wget-kommando for at få fat i Moodle-pakken og brug tjærkommandoen til at udpakke den henholdsvis. Brug derefter kommandoen ls til at bekræfte, at moodle-biblioteket findes under/var/www/html/som vist.

$ 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. Indstil derefter passende tilladelser til Moodle-biblioteket ved at køre følgende kommandoer.

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

6. Opret derefter Moodle-datakataloget, et sted, hvor Moodle kan gemme uploadede filer og indstille dets tilladelser som vist.

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

7. Opret derefter Moodle-hovedkonfigurationsfilen fra den eksempelkonfigurationsfil, der følger med pakken, og åbn den.

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

Lok for databasekonfigurationsafsnittet, og konfigurer derefter databasen, hvor alle Moodle-data vil blive gemt, som vist i følgende skærmbillede:

$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

Konfigurer også placeringen af Moodle-webstedet samt placeringen af Moodle-datakataloget som vist.

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

Gem luk filen. Konfigurer derefter NGINX til at servere dit Moodle-websted som beskrevet i næste afsnit.

8. For at NGINX skal servere dit Moodle-websted, skal du oprette en ny konfiguration af serverblok under NGINX-konfigurationen i biblioteket /etc/nginx/conf.d/.

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

Kopier og indsæt følgende konfiguration i den, erstat learning.testprojects.me med dit underdomæne. Desuden skal fastcgi_pass -direktivet pege på den adresse, som PHP-FPM accepterer FastCGI-anmodninger på (se /etc/php/7.4/fpm/pool.d/www.conf-filen for at få flere oplysninger) .

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

Gem filen, og luk den.

9. Kontroller derefter, at NGINX-konfigurationen er OK, efter at du har foretaget ovenstående ændringer, og genstart derefter NGINX-tjenesten med glæde.

$ sudo nginx -t
$ sudo systemctl reload nginx

10. Åbn nu en webbrowser, og naviger ved hjælp af dit underdomæne, f.eks. learning.testprojects.me for at få adgang til Moodle-webinstallationsprogrammet.

http://learning.testprojects.me

Når velkomstsiden er indlæst, skal du læse meddelelsen, og klik derefter på Fortsæt.

11. Dernæst kontrollerer installationsprogrammet, om dit system opfylder kravene. Hvis alt er i orden, skal du rulle ned og klikke på Fortsæt for at starte den aktuelle installation af filer og opsætte databaseskema.

Bemærk, at installationsprogrammet viser en advarsel om, at webstedet ikke kører på HTTPS, ignorer advarslen for nu. I det sidste afsnit vil vi dække, hvordan du aktiverer HTTPS på Moodle ved hjælp af gratis Lad os kryptere certifikater.

Når installationen er afsluttet, skal du klikke på Fortsæt.

12. Dernæst skal du konfigurere dit Moodle-websteds administratorkonto ved at oprette kontoens brugernavn, adgangskode, fornavn og efternavn og e-mail-adresse. Rul derefter ned og klik på Opdater konto.

13. Dernæst skal du konfigurere indstillingerne for forsiden af Moodle-webstedet som vist i det følgende skærmbillede. Rul derefter ned og klik på Opdater.

14. Webinstallatøren logger dig automatisk på det nye Moodle-websted. Du kan gennemføre din webstedsregistrering ved at følge instruktionerne på skærmen.

15. For at beskytte dit Moodle-websted skal du aktivere HTTPS. I denne vejledning bruger vi Lad os kryptere gratis og pålidelige SSL/TLS-certifikater. En anden fordel ved at bruge Lad os kryptere er, at den er automatiseret.

Så gå tilbage til din terminal og kør følgende kommando for at installere certbot på Ubuntu (et gratis open source-værktøj til automatisk brug af Lad os kryptere certifikater for at aktivere HTTPS på manuelt administrerede websteder).

$ sudo snap install --classic certbot

16. Udgiv derefter følgende kommando for at få et certifikat og få Certbot til at redigere din NGINX-konfiguration for automatisk at konfigurere det nye certifikat.

$ sudo certbot --nginx

17. Gå derefter tilbage til konfigurationsfilen til Moodle-webstedet.

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

og skift URL fra HTTP til HTTPS som vist i det følgende skærmbillede.

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

18. Endelig skal du kontrollere fra browseren, at dit Moodle-websted nu kører på HTTPS.

https://learning.testprojects.me

Det er alt for nu! Gå til Moodle 3.9-dokumentationen for at få flere oplysninger, konfigurationsindstillinger og brugsvejledning.