Moodle na domowym serwerze z s.o. Linux

Moodle na domowym serwerze z systemem operacyjnym LinuxKto chce poznać dokładnie moodle oraz wszystkie jego możliwości powinien stworzyć sobie lokalne środowisko testowe (na żywym systemie lepiej jest nie eksperymentować). Idealnie do tego nadaje się linux ze względu na bogaty wachlarz narzędzi sieciowych, możliwości operacji na plikach oraz możliwości debugowania i logowania błędów.

Dzisiejsze dystrybucje linuxa są coraz prostsze w obsłudze i coraz bardziej przypominają środowisko MS Windows. Ma to swoje złe jak i dobre strony.. z jednej strony łatwiej takiemu użytkownikowi (który nigdy nie pracował na maszynach z linuxem) przesiąść się na nowy system operacyjny, ale z drugiej strony takie pakowanie gadżetów i automatów wzorem Microsoftu ma jednak wpływ na stabilność pracy całego systemu.

Poniżej znajdziesz krótki przewodnik instalacji moodle w Ubuntu z zainstalowanym oprogramowaniem Apache/2.2.14, PHP 5.3.2, MySQL 5.1.41  (pominięta została sama instalacja serwera www oraz mysql).

Najpierw łączę się ze świeżo zainstalowaną bazą danych MySQL

mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 109
Server version: 5.1.41-3ubuntu12.8 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Tworzę bazę danych o nazwie moodle z kodowaniem utf8

mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Query OK, 1 row affected (0.00 sec)
mysql>

Nadaję uprawnienia użytkownikowi moodleuser z hasłem moodlepassword do wcześniej stworzonej bazy moodle

mysql> GRANT ALL PRIVILEGES ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'moodlepassword';
Query OK, 0 rows affected (0.05 sec)
mysql>

Tworzę użytkownika moodlebackup z hasłem moodlebackuppassword i nadaję mu odpowiednie uprawnienia

mysql> GRANT SELECT,LOCK TABLES on moodle.* TO moodlebackup@localhost IDENTIFIED BY 'moodlebackuppassword';
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> QUIT

Instaluję moodle w katalogu określonym przez zmienną DocumentRoot w konfiguracji serwera (jeśli nie jesteś pewien gdzie znajduje się katalog z danymi serwera www możesz to sprawdzić w konfiguracji serwera, która znajduje się w  katalogu /etc/apache ), w większości przypadków jest to /var/www/localhost/htdocs bądź /home/www – zależy jak masz skonfigurowany serwer www. W dystrybucji Ubuntu domyślna ścieżka to /var/www.

cd /var/www
wget http://heanet.dl.sourceforge.net/project/moodle/Moodle/stable20/moodle-latest-20.tgz
tar -zxf moodle-latest-20.tgz

Po rozpakowaniu archiwum utworzony zostanie katalog moodle. Przechodzimy jeszcze do katalogu lang, aby wgrać jeszcze polską wersję językową:

cd moodle/lang
wget http://download.moodle.org/langpack/2.0/pl.zip
unzip pl.zip

Teraz możemy sprawdzić w przeglądarce efekt naszych działań. Wpisz http://localhost/moodle (w moim przypadku łączę się zdalnie z serwerem więc zamiast localhost wpisuję addres IP) – powinieneś otrzymać ekran powitalny instalacji moodle z wyborem języka instalacji.
Wybór języka instalacji moodle

W kolejnym kroku skrypt sprawdzi czy nasz system spełnia minimalne wymagania potrzebne do instalacji moodle. Jeśli np. brakuje rozszerzenia cURL, skrypt wyrzuci nam odpowiedni błąd:
cURL PHP
Powyższy błąd naprawimy poprzez instalację rozszerzenia php5-curl  (dodatkowo zainstalujemy pakiet php5-xmlrpc):

apt-get install php5-curl php5-xmlrpc

Ścieżki systemowe

Skrypt poda nam informacje dotyczące adresu w sieci pod którym serwis będzie dostępny, ścieżkę do katalogu z instalacją moodle oraz ścieżkę do katalogu z danymi. Katalog z danymi powinien mieć nadane prawa odczytu oraz zapisu dla użytkownika www i nie powinien być dostępny z poziomu przeglądarki www.
Uprawnienia do katalogu
Katalog z danymi moodledata stworzymy ręcznie, a następnie damy możliwość dostępu do tego katalogu użytkownikowi www-data (w większości dystrybucji uruchomione procesy www należą do użytkownika apache) . Jeśli nie jesteś pewien do jakiego użytkownika należy uruchomiony serwer www możesz to sprawdzić na liście uruchomionych procesów:

ps -aux | grep apache
www-data  2326  0.0  1.3  57924 26840 ?        S    15:52   0:03 /usr/sbin/apache2 -k start
www-data  2327  0.0  1.4  60756 29728 ?        S    15:52   0:04 /usr/sbin/apache2 -k start
www-data  2332  0.0  0.9  48688 19444 ?        S    15:52   0:02 /usr/sbin/apache2 -k start
www-data  2337  0.0  0.8  48592 18048 ?        S    15:52   0:01 /usr/sbin/apache2 -k start
www-data  2411  0.0  0.8  48040 17600 ?        S    15:57   0:01 /usr/sbin/apache2 -k start
www-data  2424  0.0  0.9  51608 20180 ?        S    16:01   0:01 /usr/sbin/apache2 -k start
www-data  2433  0.0  1.3  59008 28520 ?        S    16:03   0:01 /usr/sbin/apache2 -k start
www-data  2449  0.0  1.7  66636 36332 ?        S    16:07   0:01 /usr/sbin/apache2 -k start
www-data  2471  0.0  0.8  48004 17384 ?        S    16:09   0:00 /usr/sbin/apache2 -k start
www-data  2477  0.0  0.2  36332  4124 ?        S    16:11   0:00 /usr/sbin/apache2 -k start
mkdir /var/moodledata
chown www-data:www-data moodledata

W kolejnym kroku wybieram bazę danych – w moim przypadku jest to baza MySQL:

Wybór bazy danych

W odpowiednie pola formularza wpisuję dane, które wcześniej towarzyszyły mi przy zakładaniu bazy danych dla moodle:

Ustawienia bazy danych

Ponieważ użytkownik www nie posiada praw zapisu do katalogu moodle, nie będzie miał możliwości utworzenia pliku config.php i przekopiowania do niego wszystkich ustawień. Możemy ręcznie założyć plik config.php w katalogu /var/www/moodle i wkleić do niego całą konfigurację

Kopiowanie ustawień do pliku

W kolejnym kroku akceptujemy warunki licencji i wciskamy “Kontynuuj”. Jeżeli otrzymamy komunikat “Środowisko twojego serwera spełnia minimalne wymagania” oznacza to, że można już przejść do instalacji modułów moodle

Akceptacja warunków licencji

Minimalne wymagania

Instalacja modułów może chwilę potrwać, każdy z nich pojawia się kolejno na stronie – jeżeli pojawia się komunikat Gotowe – to znaczy że wszystko jest w porządku

Instalacja modułów

Na tym etapie system został już zainstalowany, pozostaje tylko uzupełnić informacje dotyczące konta administratora oraz wstępne informacje o serwisie, czyli nazwa, opis strony itp.

Ustawienia konta administratora

Tytuł i opis strony

To już wszystko jeżeli chodzi o samą instalację systemu. Przed nami jeszcze wiele ciężkiej pracy, aby moodle stał się w pełni funkcjonalnym narzędziem e-learningowym.

Instalacja ukończona

Możesz również polubić…