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.