Jak zainstalować platformę uczenia się Moodle z Nginx w Centos 8

Jak zainstalować platformę uczenia się Moodle z Nginx w Centos 8

Moodle jest najpopularniejszym na świecie systemem zarządzania uczeniem się do budowania solidnych witryn edukacyjnych online. Zawiera szereg działań i narzędzi edukacyjnych, które możesz wybrać, obsługuje zarządzanie oceną i statki z niestandardowymi certyfikatami. Umożliwia także komunikację z uczniami w czasie rzeczywistym dzięki potężnemu narzędziem do konferencji wideo. Poza tym jest gotowy na urządzenia mobilne, dzięki czemu uczniowie mogą uczyć się na urządzeniach mobilnych.

Powiązany artykuł: Jak zainstalować platformę uczenia się Moodle w Ubuntu

Wymagania serwera Moodle

  • System operacyjny: minimalna instalacja serwera CentOS 8 lub RHEL z zainstalowanym stosem LEMP.
  • Miejsca na dysku: 200 MB dla Moodle, a 5 GB to prawdopodobnie realistyczne minimum przechowywania treści.
  • Edytor: 1 GHz (min), 2 GHz dwurdzeniowy lub więcej zalecany.
  • Pamięć: Zaleca się 512 MB (min), 1 GB lub więcej. 8GB Plus jest prawdopodobnie na dużym serwerze produkcyjnym.

Na tej stronie

  • Tworzenie rekordu DNS domeny dla witryny Moodle
  • Instalowanie platformy uczenia się Moodle na serwerze Centos 8
  • Konfigurowanie Nginx do obsługi witryny Moodle
  • Ukończ instalację Moodle za pośrednictwem instalatora internetowego
  • Włącz HTTPS na stronie Moodle za pomocą Let's Encrypt

Tworzenie rekordu DNS domeny dla witryny Moodle

1. Zacznij od utworzenia subdomeny, z której użytkownicy użyją, aby uzyskać dostęp do Moodle Witryna uczenia się online. Na przykład, jeśli nazwa Twojej domeny to TestProjects.Ja, możesz utworzyć podokwot o nazwie uczenie się.TestProjects.Ja.

Otwórz zaawansowaną nazwę domeny DNS Ustawienia i dodaj A Zapisz, jak pokazano na poniższym obrazku.

Dodaj rekord domeny Moodle

Instalowanie Moodle na serwerze Centos 8

2. Przed zainstalowaniem Moodle, Upewnij się, że masz wymagane rozszerzenia PHP na serwerze, możesz uruchomić następujące polecenie, aby je zainstalować:

# DNF instaluj 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 grafviz ASPELL CLAMAV CLAMAV 

3. Następnie utwórz bazę danych dla Moodle aplikacja w następujący sposób.

# mysql -u root -p 

Następnie utwórz bazę danych, użytkownik bazy danych i utwórz bezpieczne hasło do użycia.

Mariadb [(brak)]> Utwórz bazę danych Moodledb; Mariadb [(brak)]> Grant wybierz, wstaw, aktualizuj, usuń, Utwórz, utwórz tabele tymczasowe, upuszczenie, indeks, altern Moodledb.* DO 'Moodleadmin„@„ localHost ”zidentyfikowane przez '[chroniony e -mail]';; Mariadb [(brak)]> Przywileje spłukiwane; Mariadb [(brak)]> Wyjście 

4. Teraz pobierz najnowszą wersję Moodle (3.9 W momencie pisania) z oficjalnej strony internetowej projektu Moodle wyodrębnia plik archiwum i przenieś go do Webroot (/var/www/html/) Directory, a następnie ustawiaj odpowiednie uprawnienia i własność, aby umożliwić WebServer dostęp do katalogu Moodle, w następujący sposób.

# wget -c https: // pobierz.Moodle.org/pobierz.PHP/Direct/Stable39/Moodle-Latest-39.TGZ # TAR -xZVF Moodle-Latest-39.TGZ # MV Moodle/var/www/html/ # chmod 775 -r/var/www/html/Moodle # chown nginx: nginx -r/var/www/html/moodle 

5. Następnie utwórz Moodledata katalog, który jest lokalizacją plików, które są przesyłane lub tworzone przez Moodle Interfejs, następnie przypisz odpowiednie uprawnienia i własność, aby umożliwić odczytanie i zapisu dostępu do niego:

# mkdir -p/var/www/html/Moodledata # chmod 770 -r/var/www/html/moodledata # chown: nginx -r/var/www/html/moodledata 

6. Następnie przejdź do Moodle katalog instalacyjny i utwórz konfigurator.php Plik z próbki konfigurator.dist.php podany plik, a następnie otwórz go do edycji, aby skonfigurować niektóre kluczowe ustawienia dla twojego Moodle Platforma, taka jak parametry połączenia bazy danych i lokalizacja witryny i gdzie może znaleźć katalog MoodleData:

# cd/var/www/html/moodle/ # cp konfiguracyjny-dist.PHP Config.PHP # vim config.php 

Ustaw prawidłowy typ bazy danych, popraw, popraw hosta bazy danych, nazwa bazy danych i użytkownika bazy danych oraz hasło użytkownika.

$ Cfg-> dbtype = 'Mariadb';; // „pgsql”, „mariadb”, „mysqli”, „sqlsrv” lub „oCi” $ cfg-> dblibrary = 'natywne'; // „Native” tylko w tej chwili $ cfg-> dbhost = „localHost”; // np. „LocalHost” lub „DB.ISP.com 'lub ip $ cfg-> dbname ='Moodledb';; // nazwa bazy danych, np. Moodle $ cfg-> dbuser = 'Moodleadmin';; // nazwa użytkownika Twojej bazy danych $ cfg-> dbpass = '[e-mail chroniony]ZZWD0L2';; // hasło do bazy danych $ cfg-> prefix = 'mdl_'; // Prefiks do użycia dla wszystkich nazw tabel 

7. Ustaw również adres URL używany do dostępu Moodle usiądź, to określa lokalizację wwwroot gdzie znajdują się Twoje pliki internetowe Moodle, a także DataRoot (katalog Moodledata):

$ Cfg-> wwwroot = 'http: // nauka.TestProjects.Ja';; $ Cfg-> dataroot = '/var/www/html/moodledata';; 

Konfigurowanie Nginx do obsługi witryny Moodle

8. W tej sekcji musisz skonfigurować Nginx służyć Moodle aplikacja. Musisz utworzyć dla niego blok serwerowy w konfiguracji Nginx, jak pokazano.

# vim/etc/nginx/conf.D/Moodle.conf 

Skopiuj i wklej następującą konfigurację w pliku konfiguracji bloku serwera. Zastąp Nazwa serwera z Twoim Nazwa subdomeny utworzony powyżej i fastcgi_pass powinien wskazać PHP-FPM (Zwróć uwagę na to Centos 8, PHP-FPM akceptuje Fastcgi żądania za pomocą adresu zdefiniowanego w /etc/nginx/conf.D/PHP-FPM.conf konfiguracja).

serwer Słuchaj 80; Nazwa serwera uczenie się.TestProjects.Ja; źródło /var/www/html/Moodle; indeks indeksu.php; lokalizacja / try_files $ URI $ URI / / Index.php?$ query_string;  Lokalizacja ~ ^(.+\.php) (.*) $ fastcgi_split_path_info ^(.+\.php) (.*) $; indeks fastcgi_index.php; fastcgi_pass php-fpm; obejmują/etc/nginx/mim.typy; Dołącz fastcgi_params; fastcgi_param ścieżka_info $ fastcgi_path_info; fastcgi_param script_filename $ dokument_root $ fastcgi_script_name;  

Zapisz plik i zamknij go.

9. Następnie sprawdź Nginx konfiguracja poprawności, jeśli tak jest OK, uruchom ponownie nginx I PHP-FPM Usługi w celu zastosowania ostatnich zmian:

# nginx -t # Systemctl restart nginx # Systemctl restart php -fpm 

10. Jeśli masz Selinux włączone w systemie, a następnie uruchom następujące polecenia, aby ustawić prawidłowy kontekst w celu uzyskania dostępu do Moodle Pliki internetowe na serwerze:

# setsebool -p httpd_can_network_connect on # chcon -r --type httpd_sys_rw_content_t/var/www/html 

11. Poza tym upewnij się, że Http I Https Usługi są otwarte w zaporze, aby umożliwić ruch do Nginx serwer internetowy:

# firewall-cmd --Permanent --zone = public --add-service = http # firewall-cmd --Permanent --zone = public --add-service = https # firewalll-cmd--relad 

Ukończ instalację Moodle za pośrednictwem instalatora internetowego

12. Aby uzyskać dostęp do Moodle instalator internetowy, otwórz przeglądarkę internetową i nawiguj za pomocą subdomena stworzyłeś powyżej:

http: // nauka.TestProjects.Ja 

Po przeczytaniu warunków i warunków i kliknij stronę strony powitalnej Kontynuować.

Moodle Web Installer

13. Następnie instalator internetowy sprawdzi, czy system spełnia wymagania dotyczące uruchomienia Moodle strona określonej wersji. Możesz przewinąć w dół, aby wyświetlić więcej informacji.

Sprawdź wymagań serwera Moodle

14. Instalator będzie narzekać Https Nie będąc włączonym, zignoruj ​​ten błąd na razie (w następnej sekcji pokażemy, jak włączyć HTTPS w Moodle) i kliknij Kontynuować, Aby rozpocząć faktyczną instalację plików internetowych.

Moodle HTTPS Błąd

15. Teraz instalator rozpocznie faktyczną instalację Moodle Pliki, jak pokazano na poniższym zrzucie ekranu. Po zakończeniu kliknij Kontynuować.

Instalacja Moodle

16. W następnym kroku musisz zaktualizować Moodle Konto administratora witryny poprzez aktualizację nazwy użytkownika, hasła, nazwiska i nazwiska oraz adresu e -mail. Następnie przewiń stronę i kliknij Zaktualizować profil.

Szczegóły witryny Moodle

17. Następnie zaktualizuj ustawienia strony witryny Moodle. Następnie przewiń w dół i kliknij Aktualizacja Aby zacząć korzystać z witryny Moodle.

Ustawienia na pierwszej stronie Moodle

18. Następnie musisz zarejestrować swoją witrynę, postępując zgodnie z instrukcjami na ekranie. Możesz przejść do pulpitu nawigacyjnego, klikając pulpit nawigacyjny.

Kompletna instalacja internetowa Moodle

Konfigurowanie HTTPS na stronie Moodle za pomocą Let's Encrypt

Https Dodaje pierwszą warstwę bezpieczeństwa do Twojej witryny, aby umożliwić bezpieczną komunikację między użytkownikami a Moodle Aplikacja (zwłaszcza Nginx serwer WWW, który odbiera żądania i dostarcza odpowiedzi).

Możesz kupić certyfikat SSL/TLS z komercyjnego CA lub użycie Zaszypujmy który jest bezpłatny i rozpoznawany przez wszystkie nowoczesne przeglądarki internetowe. Do tego przewodnika będziemy używać Zaszypujmy.

19. Zaszypujmy Wdrożenie certyfikatów jest automatycznie zarządzane za pomocą Certbot narzędzie. Możesz zainstalować Certbot i inne wymagane pakiety z następującym poleceniem:

# DNF Zainstaluj certbot python3-certbot-nginx 

20. Następnie uruchom następujące polecenie, aby uzyskać Zaszypujmy certyfikat i mają certbot edytuj swój Nginx konfiguracja automatycznie do obsługi (będzie również skonfigurować Http do przekierowania automatycznie do Https).

# certbot --Nginx 
Włącz HTTPS na Moodle

21. Następnie uruchom następujące polecenie, aby umożliwić automatyczne odnowienie Szyfrujmy SSL/TLS certyfikat:

# echo "0 0,12 * * * root Python3 -C 'import losowy; czas importu; czas; czas; czas importu;.sen (losowy.Random () * 3600) '&& certBot Revel -q "| sudo tee -a /etc /crontab> /dev /null 

22. Następnie zaktualizuj konfigurację Moodle, aby zacząć używać Https.

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

zmienić wwwroot URL z Http Do Https:

$ Cfg-> wwwroot = 'https: // nauka.TestProjects.Ja';; 

23. Na koniec potwierdź, że twój Moodle Witryna działa teraz Https.

Witryna Moodle działająca na HTTPS

To wszystko na razie! Aby uzyskać więcej informacji i opcji konfiguracji, aby uruchomić nową platformę edukacyjną, przejdź do strony internetowej Moodle i przeczytaj oficjalną dokumentację.