Wyszukiwanie w witrynie

Jak zainstalować platformę edukacyjną Moodle w Ubuntu 20.04


Moodle to najpopularniejsza na świecie, niezawodna, bezpłatna platforma do zarządzania nauczaniem online (e-learning) typu open source, stworzona z myślą o Internecie i urządzeniach mobilnych. Oferuje szeroką gamę działań i narzędzi edukacyjnych, które umożliwiają szkołom, uniwersytetom i pokrewnym instytucjom oferowanie uczniom elastycznej platformy edukacyjnej w dowolnym miejscu i czasie, bez zakłócania ich kursu i programu nauczania.

Niektóre z jego ogólnych funkcji obejmują nowoczesny, łatwy w użyciu interfejs, spersonalizowany pulpit nawigacyjny, narzędzia i działania do współpracy, kalendarz typu „wszystko w jednym”, wygodne zarządzanie plikami, prosty intuicyjny edytor tekstu, powiadomienia i śledzenie postępów.

Co ważne, Moodle jest również wysoce rozszerzalny dzięki ponad tysiącowi wtyczek obsługujących dodatkowe działania, bloki, motywy i wiele więcej.

W tym artykule dowiesz się jak zainstalować najnowszą wersję Moodle Learning Platform z NGINX i bazą danych MySQL/MariaDB na Ubuntu 20.04 i starsza wersja.

Wymagania serwera:

  • Świeżo zainstalowany serwer Ubuntu 20.04 z zainstalowanym stosem LEMP.

Po zainstalowaniu stosu LEMP na serwerze Ubuntu możesz przejść dalej, aby skonfigurować Moodle na serwerze, jak wyjaśniono poniżej.

Na tej stronie

  • Konfigurowanie rekordu DNS dla aplikacji Moodle
  • Instalacja Moodle na serwerze Ubuntu
  • Konfigurowanie NGINX do obsługi aplikacji Moodle
  • Zakończenie instalacji Moodle poprzez instalator sieciowy
  • Włącz HTTPS w aplikacji Moodle za pomocą Let’s Encrypt

Konfigurowanie rekordu DNS dla aplikacji Moodle

1. Aby użytkownicy mogli uzyskać dostęp do Twojej instancji Moodle, musisz utworzyć dla niej subdomenę, a zatem musisz utworzyć DNS Rekord pozwalający to osiągnąć. Na potrzeby tego przewodnika naszą domeną testową jest testprojects.me, dlatego musimy utworzyć subdomenę, na przykład learning.testprojects.me.

Zaloguj się więc do konsoli internetowej rejestratora domeny i uzyskaj dostęp do zaawansowanych ustawień domeny, kliknij Dodaj nowy rekord typu A, host powinien uczyć się (lub dowolne wybrane słowo), a wartością powinien być publiczny adres IP Twojego serwera Ubuntu.

Instalacja Moodle na serwerze Ubuntu

2. Następnie musisz zainstalować rozszerzenia i biblioteki PHP wymagane przez Moodle, korzystając z menedżera pakietów apt, jak pokazano.

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. Następnie utwórz bazę danych dla swojego systemu Moodle. Zaloguj się do powłoki administracyjnej bazy danych MySQL i utwórz bazę danych, jak pokazano:

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. Jak wspomniano wcześniej, na potrzeby tego przewodnika pobierzemy i zainstalujemy najnowszą wersję Moodle (wersja 3.9 w chwili pisania tego tekstu). Uruchom następującą komendę wget, aby pobrać pakiet Moodle i użyj polecenia tar, aby go rozpakować. Następnie użyj polecenia ls, aby potwierdzić, że katalog moodle istnieje pod /var/www/html/, jak pokazano.

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. Następnie ustaw odpowiednie uprawnienia w katalogu Moodle, uruchamiając poniższe polecenia.

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

6. Następnie utwórz katalog data Moodle, miejsce, w którym Moodle może zapisywać przesłane pliki i ustawiać swoje uprawnienia, jak pokazano.

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

7. Następnie utwórz główny plik konfiguracyjny Moodle z przykładowego pliku konfiguracyjnego dostarczonego w pakiecie, otwórz go.

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

Znajdź sekcję konfiguracji bazy danych, a następnie skonfiguruj bazę danych, w której będą przechowywane wszystkie dane Moodle, jak pokazano na poniższym zrzucie ekranu:

$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

Skonfiguruj także lokalizację witryny Moodle oraz lokalizację katalogu danych Moodle, jak pokazano.

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

Zapisz zamknięcie pliku. Następnie skonfiguruj NGINX do serwera Twojej witryny Moodle zgodnie z opisem w następnej sekcji.

Konfigurowanie NGINX do obsługi aplikacji Moodle

8. Aby NGINX mógł serwerować Twoją witrynę Moodle, musisz utworzyć nową konfigurację bloków serwera w konfiguracji NGINX, w katalogu >/etc/nginx/conf.d/.

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

Skopiuj i wklej w nim poniższą konfigurację, zamień learning.testprojects.me na swoją subdomenę. Poza tym dyrektywa fastcgi_pass powinna wskazywać adres, na którym PHP-FPM akceptuje żądania FastCGI (sprawdź plik /etc/php/7.4/fpm/pool.d/www.conf, aby uzyskać więcej informacji).

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

Zapisz plik i zamknij go.

9. Następnie po wprowadzeniu powyższych zmian sprawdź, czy konfiguracja NGINX jest prawidłowa, a następnie bezpiecznie uruchom ponownie usługę NGINX.

sudo nginx -t
sudo systemctl reload nginx

Zakończenie instalacji Moodle poprzez instalator sieciowy

10. Teraz otwórz przeglądarkę internetową i nawiguj przy użyciu swojej subdomeny, na przykład learning.testprojects.me, aby uzyskać dostęp do instalatora internetowego Moodle.

http://learning.testprojects.me

Po załadowaniu strony powitalnej przeczytaj wiadomość i kliknij Kontynuuj.

11. Następnie instalator sprawdzi, czy Twój system spełnia wymagania, jeśli wszystko jest w porządku, przewiń w dół i kliknij Kontynuuj, aby rozpocząć właściwą instalację plików i konfigurację bazy danych schemat.

Pamiętaj, że instalator wyświetli ostrzeżenie o tym, że witryna nie działa na HTTPS. Na razie zignoruj to ostrzeżenie. W ostatniej sekcji omówimy, jak włączyć HTTPS w Moodle przy użyciu bezpłatnych certyfikatów Let's Encrypt.

Po zakończeniu instalacji kliknij Kontynuuj.

12. Następnie skonfiguruj konto administratora swojej witryny Moodle, tworząc nazwę użytkownika, hasło, imię i nazwisko oraz adres e-mail konta. Następnie przewiń w dół i kliknij Aktualizuj konto.

13. Następnie skonfiguruj ustawienia strony głównej witryny Moodle, jak pokazano na poniższym zrzucie ekranu. Następnie przewiń w dół i kliknij Aktualizuj.

14. Instalator sieciowy automatycznie zaloguje Cię do nowej witryny Moodle. Możesz dokończyć rejestrację w witrynie, postępując zgodnie z instrukcjami wyświetlanymi na ekranie.

Konfigurowanie protokołu HTTPS w aplikacji Moodle za pomocą Let’s Encrypt

15. Aby chronić swoją witrynę Moodle, musisz włączyć HTTPS. W tym przewodniku użyjemy bezpłatnych i zaufanych certyfikatów SSL/TLS Let's Encrypt. Kolejną zaletą korzystania z Let’s Encrypt jest to, że jest ono zautomatyzowane.

Wróć więc do terminala i uruchom następujące polecenie, aby zainstalować certbot na Ubuntu (bezpłatne narzędzie typu open source do automatycznego używania certyfikatów Let's Encrypt w celu włączenia protokołu HTTPS w witrynach administrowanych ręcznie).

sudo snap install --classic certbot

16. Następnie wydaj następujące polecenie, aby uzyskać certyfikat i pozwolić Certbotowi edytować konfigurację NGINX, aby automatycznie skonfigurować nowy certyfikat.

sudo certbot --nginx

17. Następnie wróć do pliku konfiguracyjnego witryny Moodle.

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

i zmień adres URL z HTTP na HTTPS, jak pokazano na poniższym zrzucie ekranu.

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

18. Na koniec sprawdź w przeglądarce, czy Twoja witryna Moodle działa teraz w oparciu o HTTPS.

https://learning.testprojects.me

To wszystko na teraz! Przejdź do dokumentacji Moodle 3.9, aby uzyskać więcej informacji, opcji konfiguracji i instrukcji użytkowania.