Implementační zpráva Informace o implementaci LMS Moodle
Realizováno v rámci projektu OP VK: „Rozvoj studijních programů, didaktických metod a inovování modelu řízení v oblasti kombinovaného studia“, reg. číslo: CZ.1.07/2.2.00/15.0358 2012 Autor: Dušan Kopecký
Implementační zpráva Informace o implementaci LMS Moodle Tato zpráva informuje o implementaci LMS (Learning Management Systém) Moodle konkrétně Moodle 2.3.1.
Server Základní server byl zřízen ve virtuálním prostředí. Strategie Univerzity Pardubice v rámci informačních technologií je virtualizovat. Virtualizace přináší mnoho výhod např. úspora energie, a tím i peněz, za sloučení několika fyzických serverů v jeden, jednodušší hardwarová údržba, snadná zálohovatelnost instalovaného systému, jednoduchá migrace, možnost snadné úpravy hardwarových potřeb pro konkrétní virtuální stroj atd. Jako operační systém pro běh LMS byl vybrán linux, přesněji linuxová distribuce CentOS 6. Důvodem pro výběr linuxu je cena, bezproblémová podpora ze strany informačního centra univerzity (spravují všechny linuxové servery univerzity) a nastavených pravidel pro nasazování nových serverů podobného účelu. Typ distribuce byl vybrán na základě konzultace, pravidel a znalostí tohoto systému pracovníky IC (výhody při potřebě konzultací). Verze 6 byla v době nasazování systému nejaktuálnější. Po základní instalaci bylo nastaveno SSH (Secure Shell)- program pro zabezpečenou komunikace mezi dvěma počítači. Je potřeba vygenerovat klíče chráněné heslem pro ověření přistupujícího klienta na server. Dále v nastavení serveru je potřeba zkontrolovat, případně upravit iptables – program sloužící k nastavení pravidel komunikace (firewall), tedy kontrolu příchozích, odchozích a procházejících paketů. Týká se povolení ssh, http, https. Pro běh LMS jsou nutné tyto komponenty běžící na serveru: • • •
Webový server PHP Databázový systém
Webový server Standartní instalace webového serveru Apache verze 2.2.15. proběhla běžnou instalací z oficiálních repositářů. Nutnost nastavení secure protocol tedy https – nadstavba nad běžným http umožňující zabezpečenou komunikaci webového prohlížeče a serveru, tato komunikace je šifrována a běží na standartním portu 443. Pro funkčnost https je nutné mít funkční webserver a je potřeba vygenerovat certifikáty ověřené nadřazenou autoritou. Tyto umístit na patřičné místo webserveru a v konfiguračním souboru nastavit cesty k certifikátu.
Pro zvýšení bezpečnosti byl upraven přístup na server a to povolením komunikace jen na portu https tedy na 443. Standartní port webového serveru - port 80 je zakázán. V nastavení Apache byly ponechány defaultní volby i cesty ke všem komponentům a uložištím. Webový server je určen pro jeden web, a proto není nutno nastavovat virtual host. Dále byly upraveny jen důležité identifikační údaje jako jméno webového serveru, kontakt na administrátora. Je potřeba provést kontrolu zda se služba bude automaticky spouštět se startem serveru.
Databázový s ystém Pro běh LMS Moodle je postačujícím databázovým systémem systém MySql. Jednak je doporučován, je multiplaformní, zdarma a dostatečně uspokojí požadavky kladené systémem pro komfortní běh LMS Moodle. Instalace byla provedena instalačním skriptem z oficiálních repositářů. Byla naistalována verze 5.1.61. Po instalaci byl nastaven účet správce databáze, tedy jméno a heslo. Je potřeba provést kontrolu zda se služba bude automaticky spouštět se startem serveru.
PHP Tento skriptovací programovací jazyk používaný na vytváření dynamických internetových stránek je použit pro LMS Moodle. Instalace na server probíhá obdobně jako Apache a MySql. Byl použit instalační skript se zdrojem z oficiálních repositářů. Momentálně je naistalována verze 5.3.3. Po instalaci není nutné provádět úpravy nastavení. Tyto změny vyplynou až na základě požadavků LMS Moodle při jeho samotné instalaci, resp. při přípravě k instalaci a případném rozšiřování funkcionalit LMS Moodle pomocí přídavných modulů. Je potřeba provést kontrolu, zda se služba bude automaticky spouštět se startem serveru.
Instalace LMS Moodle Před samotnou instalací je potřeba stáhnout určitou verzi. Je na výběr několik variant. Byla vybrána nejnovější stabilní verze tedy 2.3.1. 1. Nejprve je potřeba rozbalit stažený balíček s instalací Moodle do předem připraveného místa webového serveru, nastavit práva pro zápis 2. Založit novou databázi tj. nastavit dbhost – jméno databázového serveru (v našem případě localost), dbname – jméno zakládané databáze, dbuser – uživatelské jméno s plným přístupem do této databáze, dbpass – heslo uživatele přistupujícího do databáze 3. Založit pracovní adresář pro Moodle, standartně moodledata. Je potřeba tento adresář zabezpečit proti nežádoucímu nabourání. Ideálně mimo www prostor na serveru a nastavit patřičná práva na vstup a manipulaci ze strany webserveru.
Prvotní instalace probíhá přes webové rozhraní. Po zvolení jazyka je instalace jednoduchá. Stačí postupovat podle pokynů na obrazovce. Během této instalace probíhá kontrola jednotlivých součástí webového serveru. Ve většině případů je potřeba zasáhnout do nastavení PHP. V defaultním nastavení nejsou povoleny všechny extense. Některé z nich Moodle potřebuje pro svůj běh. Tyto konkrétní vypíše na obrazovce. Po povolení těchto extensí (soubor php.ini) a obnově stránky, instalace doběhne bez problémů. Během této instalace se vyplňují informace důležité pro pozdější chod LMS : • • • • •
Jazyková sada primárně používaná pro Moodle Email na administrátora LMS Cesta k pracovnímu adresáři Moodle Případné nastavení proxy serveru Časovou zónu
Pokud náhodou nastane potíž s vygenerováním a uložením konfiguračních informací do souboru config.php (nejspíš díky jinak nastaveným právům pro přístup do lokace www na serveru), je potřeba patřičné informace, které jsou zobrazeny na obrazovce, uložit ručně do souboru a ten následně nakopírovat do místa instalace LMS.
Provoz LMS Moodle Po dokončení instalace je nutnost odzkoušet funkčnost celého systému. Tedy základních funkcionalit LMS Moodle. 1. Uživatelé – vytvoření uživatelského účtu, jméno, příjmení, uživatelské jméno, heslo, email, město, stát, přiřazení rolí. Odzkoušet přihlášení do systému novým účtem. 2. Komunikace – v návaznosti na nově vytvořeného uživatele proběhne ověřovací emailová komunikace systému s tímto uživatelem a tím kontrola funkčnosti komunikačního spojení LMS, potažmo serveru jako takového. A zároveň kontrola ověřování uživatelů a jejich autorizace. 3. Cron – nastavení démona, který automatizovaně spouští předdefinované funkce povětšinou zálohování kurzů, zálohování uživatelů, kontrola aktualizace LMS a jeho komponent, kontrola uživatelských účtů a jiných pravidel nadefinovaných správcem systému, potřebných pro bezpečný chod LMS. 4. Bezpečnost – kontrola nastavení bezpečnostní úrovně na straně serveru (aktualizace systému, bezpečná komunikace, nastavení firewallu), nastavení úrovně složitosti hesel uživatelů, kontrola správně nadefinovaných cest pro ukládání logů, a to jak informací o problémech, tak o jednotlivých akcích spuštěných na serveru, jednak serverem a jednak samotným LMS Moodlem. Tyto logy jsou velmi důležité pro ladění potíží s LMS a pro kontrolu celkového dění na serveru a možnosti odhalení případného útoku na celý systém a zdiskreditování serveru.
Po první kontrole byla zjištěna chyba v komunikaci. Moodle email odesílá, ale samotný server nemá nastaveno odesílání emailové komunikace. Je použit nainstalovaný poštovní software postfix. Na základě získaných informací od pracovníků informačního centra univerzity, byl postfix nastaven a odzkoušen. Po té komunikace jak serveru, tak samotného Moodlu probíhala bez potíží. V rámci podpory ze strany informačního centra, proběhla schůzka, na které bylo dohodnuto jakým způsobem, jakým rozsahem a v jakém čase bude probíhat zálohování celého serveru. A to pro případ snadné a rychlé obnovy celého systému z důvodu pádu serveru, nebo neúmyslného poškození funkčnosti LMS ze strany správce serveru nebo díky útoku na server. Zálohy budou probíhat každý den. Což bude jen přírůstková záloha. A jednou za týden kompletní nová záloha.
Autorizace a autentizace Dalším krokem nastavení LMS Moodle bylo ověřování uživatelů systému. Z důvodu bezpečnosti serveru, potažmo univerzitní sítě, bylo rozhodnuto o nasazení Shibboleth Service Provider (SP). Tato nadstavba slouží k ověřování uživatelů vůči centrální databázi spravované organizací. Je to modul, který je zaimplementován do web serveru, v našem případě apache. Jelikož Univerzita Pardubice je zapojena do tohoto projektu a je IDP (Idnetity Providers), byla tato volba logickým krokem, který usnadní přístup uživatelů (akademických pracovníků, studentů) k systému LMS Moodle a zároveň další stupeň zabezpečení celého serveru. Pro běh je nutný vygenerovaný soubor metadat, který je generován na straně IDP. V něm jsou uloženy informace o SP a klíč pro komunikaci. Instalace proběhla pomocí instalačního skriptu z oficiálního repositáře. Po instalaci celého modulu, je bezpodmínečně nutné provést nastavení. V podstatě jsou tři místa : 1. Lokace Apache – soubor conf.d ve kterém se definuje adresář, který je potřeba zabezpečit 2. Lokace Shibboleth – soubor shibboleth2.xml, což je hlavní konfigurační soubor celého modulu. Zde se definují elementy jako identifikátor SP v rámci federace, parametry upřesňující jednotlivá sezení, způsob získávání federačních metadat, přístupy ke klíči a certifikátu 3. Lokace Shibboleth – soubor atribute-map.xml ve kterém se definuje mapování příchozích atributů na lokální proměnné využívané nasazenou aplikací na webovém serveru Po pečlivém nastavení všech parametrů shibbolethu je potřeba provést kontrolu funkčnosti. Kontrola se provádí přístupem na webovou stránku LMS Moodle s parametrem volajícím handler pro status služby. Pokud bude vypsán OK, je potřeba odzkoušet chráněný adresář definovaný v lokaci apache. Pokud je vše v pořádku, nastane přesměrování na IDP, v našem případě na CAS, kde uživatel provede autorizaci. Následně po ověření uživatelského účtu, se zasílají informace o uživateli do
LMS Moodle, zároveň je prohlížeč přesměrován na úvodní stránku Moolu, a v něm již bude uživatel přihlášen. Toto byl poslední krok v prvotní implementaci systému Moodle. Období, následující po implementaci, je pro správce obdobím kontrol, aktualizací a celkové údržby systému LMS Moodle a serveru samotného.