Moodle na domowym serwerze z s.o. Linux
Kto 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.
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:
Powyższy błąd naprawimy poprzez instalację rozszerzenia php5-curl (dodatkowo zainstalujemy pakiet php5-xmlrpc):
apt-get install php5-curl php5-xmlrpc
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.
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:
W odpowiednie pola formularza wpisuję dane, które wcześniej towarzyszyły mi przy zakładaniu bazy danych dla moodle:
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ę
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
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
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.
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.