Moodle

"Moodle" to darmowa platforma edukacyjna napisana w PHP. Umożliwia przeprowadzanie kursów oraz szkoleń za pomocą przeglądarki.

Wstępna konfiguracja

Przed instalacją Moodle należy:

  • Utworzyć stronę WWW bez dokonywania edycji opcji w Zaawansowane ustawienia. Można utworzyć stronę również jako subdomenę.
  • Jeżeli dodaliśmy stronę w nowej domenie (która nie była podpięta do MyDevil) to wskazać u rejestratora domeny serwery dns: dns1.mydevil.net oraz dns2.mydevil.net.
  • Utworzyć bazę danych MySQL wraz z użytkownikiem bazy. Podczas tworzenia bazy należy kliknąć w "Zaawansowane ustawienia" i zmienić "Metoda porównywania znaków" na utf8mb4_general_ci.
  • Zalecane jest dodanie certyfikatu SSL dla strony, można u nas wygenerować darmowy certyfikat Let's Encrypt. Po dodaniu certyfikatu należy w panelu przejść do "Strony WWW" ➡ "Szczegóły" (przy wybranej stronie) ➡ włączyć "Wymuś SSL".
  • Zalogować się na konto poprzez SSH.

Instalacja

W oknie klienta SSH należy: Przejść do ~/domains/domena/ gdzie domena to nazwa naszej domeny/subdomeny na której będzie instalowany Moodle:

cd ~/domains/domena/

Pobrać archiwum instalacyjne Moodle:

fetch https://download.moodle.org/stable401/moodle-4.1.1.tgz

Usunąć katalogpublic_html, wypakować archiwum, zmienić nazwę rozpakowanego katalogu, usunąć zbędne archiwum po rozpakowaniu, utworzyć katalog moodledata:

rm -R public_html && tar -zxf moodle-4.1.1.tgz && mv moodle public_html && rm moodle-4.1.1.tgz && mkdir moodledata 

Wskazać katalog moodledata w open_basedir. W miejscu domena należy podać nazwę domeny/subdomeny na której instalujemy Moodle:

devil www options domena php_openbasedir $PWD

Zmienić wersję PHP dla strony na 8.0:

echo "AddType application/x-httpd-php80 .php" >> .htaccess

Przechodzimy w przeglądarce internetowej na adres strony na której instalujemy Moodle. Zatwierdzamy domyślne ustawienia proponowane przez instalator aż do pytania o dane do bazy danych. W polu na "Host bazy danych" wskazujemy adres serwera MySQL (podany w mailu z danymi do usługi), wypełniamy pola "Nazwa bazy danych", "Użytkownik bazy danych", "Hasło do bazy danych" wcześniej utworzonej bazy danych. Resztę pól dotyczących MySQL nie zmieniamy.

Cron

W celu prawidłowego działania Moodle wymagane jest utworzenie zadania cron uruchamianego cyklicznie co minutę. Aby utworzyć takie zadanie należy wykonać polecenie:

echo "* * * * * /usr/local/bin/php80 ${PWD}/public_html/admin/cli/cron.php >/dev/null" | crontab -

Odnośniki zewnętrzne