15 cze

Jak zainstalować Moodle na Ubuntu 16.04

Blog - Instalacja Moodle na Ubuntu 16.04Moodle jest popularnym darmowym oprogramowaniem open source, a w rzeczywistości – system zarządzania nauczaniem(LMS). Z Moodle, można tworzyć i dostarczać zasoby edukacyjne, takie jak kursy, odczyty i fora dyskusyjne dla grupy uczniów. Moodle pozwala również zarządzać rolami użytkowników, więc uczniowie i nauczyciele mogą mieć różne poziomy dostępu do materiałów. Po zainstalowaniu Moodle na serwerze, każdy kto ma dostęp do witryny może tworzyć i uczestniczyć w nauce za pośrednictwem przeglądarki internetowej.

Za pomocą tego tutorialu można zainstalować i skonfigurować Moodle na serwerze Ubuntu 16.04. Zainstalujemy i skonfigurujemy całe oprogramowanie wymagane przez Moodle, wybierzemy temat i stworzymy pierwszy kurs.

Wymagania

Przed rozpoczęciem będziesz potrzebować:

  • 1GB serwer Ubuntu 16.04 z minimum 200 MB miejsca na dysku dla kodu Moodle i tyle, ile trzeba do przechowywania zawartości. Moodle wymaga 512 Mb pamięci RAM, ale zaleca się nie mniej niż 1 GB dla lepszej wydajności.
  • Zalogować się jako użytkownik inny niż root, z ustawionymi na serwerze uprawnieniami sudo. Możesz dowiedzieć się więcej o tym w naszym tutorialu Wstępna Konfiguracja serwera z Ubuntu 16.04.
  • Zestaw LAMP (Apache, MySQL i PHP), zainstalowany za pomoca tego tutorialu. Nie zapomnij koniecznie zapisać hasło dla root MySQL, określone przez użytkownika w trakcie procesu instalacji.

Krok 1: Instalacja Moodle i zależności

Moodle opiera się na kilku kawałkach oprogramowania, w tym biblioteki sprawdzania pisowni i biblioteki graficzne. Moodle jest aplikacją PHP i ma kilka dodatkowych zależności od bibliotek PHP. Zanim zaczniemy instalację, zainstalujmy wszystkie niezbędne biblioteki, korzystając z menedżera pakietów. Po pierwsze, upewnij się, że masz najnowszą listę pakietów:

sudo apt-get update

Następnie zainstalujemy zależności:

sudo apt-get install aspell graphviz php7.0-curl php7.0-gd php7.0-intl php7.0-ldap php7.0-mysql php7.0-pspell php7.0-xml php7.0-xmlrpc php7.0-zip

Dalej należy ponownie uruchomić serwer Apache do pobrania modułów które zostały zainstalowane:

sudo systemctl restart apache2

Teraz jesteśmy gotowi do pobrania i instalacji Moodle. Użyjemy curl, aby  ściągnąć Moodle z oficjalnego serwera dystrybucyjnego.

Za pomocą następującego polecenia przejdziesz na stronę Moodle i ściągniesz skompresowany pakiet, który zawiera całą obecną, stabilną wersję w pliku moodle.tgz.

curl -L https://download.moodle.org/download.php/direct/stable32/moodle-latest-32.tgz > moodle.tgz

Teraz możemy rozpakować pliki za pomocą programu tar i umieścić otrzymane pliki w katalogu głównym www:

sudo tar -xvzf moodle.tgz -C /var/www/html

Upewnij się, że katalog moodle znajduje się w katalogu głównym www:

ls /var/www/html

Powinien pojawić się wymieniony katalog moodle:

Output
index.html  moodle

Teraz przyjrzymy pliki w katalogu moodle:

ls /var/www/html/moodle

Zobaczysz wszystkie pliki i katalogi Moodle, które pobrałeś i rozpakowałeś:

Output
admin           composer.json     grade          message                    README.txt
auth            composer.lock     group          mnet                       report
availability    config-dist.php   Gruntfile.js   mod                        repository
backup          config.php        help_ajax.php  my                         rss
badges          CONTRIBUTING.txt  help.php       notes                      search
behat.yml.dist  COPYING.txt       index.php      npm-shrinkwrap.json        tag
blocks          course            install        package.json               tags.txt
blog            dataformat        install.php    phpunit.xml.dist           theme
brokenfile.php  draftfile.php     INSTALL.txt    pix                        TRADEMARK.txt
cache           enrol             iplookup       plagiarism                 user
calendar        error             lang           pluginfile.php             userpix
cohort          file.php          lib            portfolio                  version.php
comment         files             local          PULL_REQUEST_TEMPLATE.txt  webservice
competency      filter            login          question
completion      githash.php       media          rating

Teraz musimy utworzyć katalog poza głównym katalogiem www dla Moodle do przechowywania wszystkich danych dotyczących kursu, które zostaną zapisane na serwerze, ale nie w bazie danych. Jest to bardziej bezpieczne, aby utworzyć ten katalog poza głównym katalogiem www tak, że nie może być dostępny bezpośrednio z poziomu przeglądarki. Wykonanie tego polecenia:

sudo mkdir /var/moodledata

Następnie ustawmy jego właściciela, aby upewnić się, że użytkownik usług internetowych www-data nie zmoże uzyskać dostęp do katalogu:

sudo chown -R www-data /var/moodledata

Dalej należy zmienić uprawnienia do folderu tak, że tylko właściciel będzie miał pełne uprawnienia:

sudo chmod -R 0770 /var/moodledata

Teraz, gdy posiadasz Moodle na serwerze, możemy skonfigurować bazę danych, z której będziemy korzystać.

Krok 2: Konfiguracja bazy danych

Musimy stworzyć bazę danych MySQL w której Moodle będzie przechowywać większość swoich danych. Będziemy tworzyć strukturę dla kodu Moodle, oraz utworzymy użytkownika, którego Moodle będzie używać do łączenia się z bazą danych.

Ale najpierw musimy dokonać kilku zmian w konfiguracji pliku danych MySQL, aby nasza instalacja MySQL była kompatybilna z Moodle. Otwórz plik konfiguracyjny MySQL:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Następnie dodamy następujące linie zaznaczone na obszarze „Basic Settings”, które skonfigurują typ pamięci dla nowej bazy danych:

mysqld configuration
...
[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
## Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
...

Zapisz ten plik i ponownie uruchom serwer MySQL, aby uruchomić konfigurację z nowymi ustawieniami.

sudo systemctl restart mysql

Teraz możemy stworzyć bazę danych.  Aby to zrobić, będziesz współdziałać z interfejsem wiersza poleceń MySQL. Wykonamy to polecenie:

mysql -u root –p

Po wyświetleniu monitu, podaj hasło roota ustawionego podczas instalacji MySQL.

Po zalogowaniu, zobaczysz mysql>. Uruchom następujące polecenie, aby utworzyć bazę danych:

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Następnie utworz użytkownika Moodle, więc nie możemy powiedzieć aplikacji nasze hasło root. Wykonanie tego polecenia:

Uwaga:  W nastepnych dwóch poleceniach należy wymienić moodler z wybraną nazwą użytkownika i moodlerpassword z wybranym hasłem.

create user 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';

Nadamy użytkownikowi moodler uprawnienia do edycji bazy danych. Ten użytkownik będzie musiał utworzyć tabele i zmieniać uprawnienia:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';

Teraz zamknij interfejs wiersza poleceń MqSQL:

quit;

To zabezpieczy konfigurację bazy danych. Teraz możemy uruchomić Moodle w przeglądarce i tam kontynuować instalację.

Krok 3: Konfiguracja Moodle w przeglądarce

Aby zakończyć konfigurację, wyświetlimy stronę w przeglądarce internetowej i podamy dodatkowe informacje na temat konfiguracji. Aby zapisać konfigurację serwera www, należy tymczasowo zmienić uprawnienia dla głównego katalogu www Moodle.

Ostrzeżenie: 

Uprawnienia otworzą ten folder dla każdego. Jeśli nie podoba się ten sposób, po prostu nie zmieniaj uprawnienia. Interfejs www dostarczy instrukcję do ręcznego edytowania pliku konfiguracyjnego.

Jeśli zmieniasz uprawnienia, jest bardzo ważnym, aby anulować to po zakończeniu instalacji. Ten krok jest w tym tutorialu.

sudo chmod -R 777 /var/www/html/moodle

Teraz otwórz przeglądarkę i przejdź do http://adres_IP_twojego_serwera/moodle. Zobaczysz stronę, jak pokazano poniżej.Blog_Moodle1

Wykonaj następujące kroki, aby skonfigurować Moodle:

  1. Ustaw język, którego chcesz użyć, a następnie kliknij Next.
  2. Na następnym ekranie, ustaw Data Directory do /var/moodledata i kliknij Next.
  3. Na stronie Choose Database Driver, ustaw Database driver do Improved MySQL. Następnie kliknij przycisk Next.
  4. Na stronie Database setting, wprowadź nazwę i hasło dla użytkownika Moodle MySQL utworzonego w Kroku 3. Pozostałe pola mogą pozostać bez zmian. Kliknij Next, aby kontynuować.
  5. Zapoznaj się z umową licencyjną i potwierdzić, że zgadzasz się z jej warunkami, naciskając przycisk Continue.
  6. Zostaw recenzję na stronie Server Checks. Upewnij się że komunikat “Your server environment meets all minimum requirements” jest na dole i naciśnij Continue.
  7. Moodle będzie instalować kilka elementów, wyświetlając wiadomość “Success” dla każdego. Przewiń w dół i naciśnij przycisk Continue.
  8. Następnie zobaczysz stronę, gdzie możesz skonfigurować konto administratora Moodle.
  • Dla Username wpisz co chcesz, lub zaakceptuj wartość domyślną.
  • Dla Choose an authentication method, pozostaw wartość domyślną.
  • Dla New password, wprowadź hasło, którego chcesz używać.
  • Dla Email, wpisz swój adres e-mail.
  • Ustaw pozostałe pola do odpowiednich wartości.
  • Kliknij Update profile.
  1. Na ekranie Front Page Settings, wypełnij Full site name, Short name for site, ustaw lokalizację, a następnie wybierz, czy chcesz zezwolić na samodzielną rejestrację poprzez e-mail. Następnie kliknij przycisk Save changes.

Po zakończeniu, zostaniesz przeniesiony do Panelu sterowania nowej instalacji Moodle, zalogowany jako użytkownik admin.

Teraz, gdy konfiguracja jest zakończona, ważne jest, aby ponownie ograniczyć uprawnienia dla głównego katalogu www Moodle. W terminalu należy wykonać następujące polecenie:

sudo chmod -R 0755 /var/www/html/moodle

Zróbmy jeszcze jedną drobną zmianę w celu poprawy bezpieczeństwa Moodle. Domyślnie Moodle tworzy pliki w katalogu /var/moodledata z uprawnieniami world-writable.

Otwórz plik konfiguracyjny Moodle w edytorze:

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

Zlokalizuj ten wiersz:

config.php
$CFG->directorypermissions = 0777;

Zmień go w następujący sposób:

config.php
$CFG->directorypermissions = 0770;

Następnie zapisz plik i wyjdź z edytora.

Zresetuj uprawnienia do samego katalogu /var/moodledata, jak Moodle już stworzył kilka katałogów world-writable podczas procesu instalacji:

sudo chmod -R 0770 /var/moodledata

Teraz, kiedy Moodle jest skonfigurowany, zróbmy kilka dostosowań i stworzymy  kurs testowy, aby zobaczyć interfejs www Moodle.

Krok 4: Konfiguracja Moodle i tworzenie pierwszego kursu

Teraz, kiedy twoja strona działa, jedną z pierwszych rzeczy, które możesz zrobić, to zarejestrować swoją stronę Moodle. To podpisze Cię na newsletter, który będzie na bieżąco informować o takich rzeczach, jak alerty zabezpieczeń i nowe wersje.

Aby się zarejestrować, kliknij na link Site Administration w polu po lewej stronie, a następnie kliknij Registration. Następnie wypełnij formularz internetowy z odpowiednimi szczegółami. Można również wybrać publikację witryny Moodle tak, aby inni mogli ją znaleźć.

Dalej zmieńmy temat naszego serwisu Moodle. Wybierz Site Administration, wybierz zakładkę Appearance i wybierz Theme selector. Zobaczysz stronę, która wygląda mniej więcej jak na poniższym rysunku, wskazując, że obecnie używasz motyw “Boost” na Default urządzeniu, które odnosi się do nowoczesnej przeglądarki internetowej:

Blog_Moodle_img2

Kliknij przycisk Change theme i zostaniesz przeniesiony do ekranu, który pokaże inne dostępne motywy. Po kliknięciu na przycisk Use theme pod nazwą motywu, witryna Moodle będzie korzystać z tego motywu, aby wyświetlić całą zawartość witryny. Można także wybrać różne motywy dla różnych urządzeń, takich jak tablety czy telefony.

Teraz, gdy masz swoją stronę Moodle, możemy stworzyć Swój pierwszy kurs. Wybierz Site home z menu nawigacji. Zobaczysz pustą listę kursów i przycisk Add a new course. Kliknij ten przycisk, aby wyświetlić formularz, który wygląda jak na poniższym rysunku:Blog_Moodle_img3

Wypełnij informacje na temat kursu, w tym nazwę, krótką nazwę, opis i inne istotne szczegóły. Następnie przewiń w dół i kliknij przycisk Save and display.

Twój pierwszy kurs Moodle jest teraz gotowy do pracy. Można zacząć dodawać lekcje i zajęcia do kursu, używając interfejsu Moodle.

Ale zanim wprowadzisz rejestrację dla uczniów, należy upewnić się, że instalacja jest gotowa do produkcji. Na początek, nałeży skonfigurować certyfikat TSL / SSL dla Apache do szyfrowania ruchu między serwerem a klientami. Aby to zrobić, przejdź do tutorialu Zabezpieczenie Apache certyfikatem Let’s Encrypt dla systemu Ubuntu 16.04. Upewnij się, że twoje dane są chronione oraz że kopia zapasowa bazy danych MySQL jest tworzona okresowo. Należy również zrobić kopię zapasową plików na serwerze, w tym katalogu /var/moodledata/.

Wniosek

W tym artykule został zainstalowany i skonfigurowany Moodle na serwerze Ubuntu 16.04. Moodle jest niezawodną i łatwą w konfiguracji aplikacją internetową. Pamiętaj zapoznać się z dokumentacją Moodle. Powodzenia!