
Moodle je bezplatný a otevřený systém pro řízení výuky (LMS). Je napsán v programovacím jazyce PHP. Moodle používá mnoho škol, univerzit a organizací pro lepší výuku.
Moodle poskytuje správa obsahu, uživatelsky přívětivé uživatelské rozhraní, hlášení, kvízy, zpětná vazba, prezenční listiny a další.
Tato příručka vysvětluje, jak nastavit svůj vlastní Moodle server od nuly na Ubuntu 20.04 pomocí LEMP zásobník.
Nainstalujte LEMP Stack na Ubuntu
LEMP je kolekce open-source softwaru zahrnujícího Linux, Nginx, MySQL/MariaDB a PHP. LEMP je v podstatě alternativou k zásobníku LAMP s webovým serverem Nginx namísto Apache.
Pro Linux v této příručce pracujeme s Ubuntu 20.04. Ujistěte se, že máte svůj připravený k použití s uživatelem, který má schopnost sudo.
Nainstalujte Nginx
Nginx je vyžadováno k poskytování výukových zdrojů přes web. Pokud nemáte existující instanci webového serveru NGINX, nainstalujte NGINX na Ubuntu 20.04 podle kroků v této další příručce. Jakmile úspěšně nakonfigurujete NGINX se svým registrovaným názvem domény, můžete se vrátit k této příručce a pokračovat následujícími kroky níže.
Nainstalujte MySQL/MariaDB
K ukládání dat Moodle je nutná databáze. Nejčastěji používanou databází pro Moodle je typicky MySQL/MariaDB nebo Postgres.
Databázová tabulka Moodle obsahuje informace o uživatelích, kurzech, informace o webu a data pro analýzu.
Chystáme se nainstalovat MariaDB, což je open-source systém pro správu databází odvozený z MySQL.
Spusťte následující příkaz a nainstalujte MariaDB na Ubuntu:
$ sudo apt-get install mariadb-server mariadb-client
Další příkaz spustí vestavěný skript pro konfiguraci a zabezpečení vaší instalace mariadb.
$ sudo mysql_secure_installation
Je důležité, abyste si pozorně přečetli pokyny. Nejprve budete vyzváni k zadání aktuálního hesla pro uživatele root mysql. Protože se jedná o novou instalaci, má uživatel root mysql prázdné heslo. Takže pokračujte stisknutím klávesy Enter.
Enter current password for root (enter for none): OK, successfully used password, moving on…
Druhým krokem je nastavení root hesla pro mariadb. Zadejte y a poté zadejte požadované heslo.
Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. … Success!
Dále odeberte anonymní uživatele. Zadejte y pro potvrzení.
Remove anonymous users? [Y/n] y … Success!
Další krok se týká vzdáleného zakázání přihlášení root. Zadejte y pro potvrzení.
Disallow root login remotely? [Y/n] y … Success!
Zadejte y potvrďte odstranění testovací databáze.
Remove test database and access to it? [Y/n] y Dropping test database… … Success! Removing privileges on test database… … Success!
Posledním krokem je znovu načíst tabulky oprávnění, aby se změny projevily. Zadejte y pro potvrzení.
Reload privilege tables now? [Y/n] y … Success! Cleaning up… All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Nyní se můžete přihlásit do mariadb a vytvořit databázi pro ukládání dat Moodle. Spusťte níže uvedený příkaz a po zobrazení výzvy zadejte heslo root mariadb.
$ sudo mysql -u root -p
Po přihlášení spusťte následující příkaz k vytvoření databáze.
> CREATE DATABASE moodle;
Dále vytvořte uživatelský účet pro Moodle v mariadb následovně. Nezapomeňte nahradit moodlesuper a heslo se svými vlastními hodnotami.
> CREATE USER 'moodlesuper'@'localhost' IDENTIFIED BY 'password';
Další příkaz udělí potřebná oprávnění nově vytvořenému uživatelskému účtu.
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodlesuper'@'localhost';
Odhlaste se z mariadb následovně.
> quit
Nainstalujte PHP
PHP je vyžadován k dynamickému zpracování uživatelských požadavků na obsah Moodle. NGINX pracuje s PHP pomocí PHP-FPM – tj. FastCGI Process Manager.
Nainstalujte požadované komponenty PHP spuštěním příkazu níže.
$ sudo apt-get install php-fpm php-mysql php-xml
Po instalaci je dalším krokem konfigurace NGINX pro předávání požadavků PHP na PHP-FPM. K tomu budete muset upravit blokový soubor serveru NGINX pro váš web Moodle. Například níže uvedený příkaz otevře soubor bloku serveru pro můj web Moodle 'cloudindevs.com'.
$ sudo nano /etc/nginx/sites-available/cloudindevs
Do souboru bloku serveru přidejte index.php na řádek začínající indexem. Zkopírujte také následující konfigurační direktivu a vložte ji přímo pod existující direktivu umístění v souboru bloku serveru.
# pass PHP scripts to FastCGI server
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Po provedených změnách by tato část souboru bloku serveru měla vypadat podobně jako na obrázku níže. Nové přírůstky jsou označeny červeně.

Chcete-li otestovat svou konfiguraci, spusťte níže uvedený příkaz a vytvořte ukázkový soubor index.php v kořenovém adresáři vašeho webu moodle. Nezapomeňte nahradit 'cloudindevs.com' svou vlastní webovou adresou.
$ sudo nano /var/www/cloudindevs.com/index.php
Zkopírujte a vložte ukázkový PHP kód níže do souboru index.php.
<?php echo 'NGINX is working with PHP-FPM!'; ?>
Uložte a zavřete soubor index.php. Navštivte web yourwebsite.com/index.php ve webovém prohlížeči a měla by se vám zobrazit ukázková stránka níže.

Chcete-li mít SSL (https), postupujte podle Nginx s Let's Encrypt.
Nainstalujte Moodle na Ubuntu
V době psaní této příručky byla nejnovější verze Moodle je 3.10.1 a lze jej stáhnout následovně.
$ sudo wget https://download.moodle.org/download.php/direct/stable310/moodle-3.10.1.tgz
Dále rozbalte obsah staženého balíčku a umístěte jej do kořenového adresáře vašeho webu Moodle. Zde je příklad.
$ sudo tar -zxvf moodle-3.10.1.tgz -C /var/www/cloudindevs.com
Je nutné změnit vlastnictví a oprávnění k extrahované složce Moodle následovně. Výchozí účet služby NGINX je www-data .
$ sudo chown -R www-data:www-data /var/www/cloudindevs.com/moodle $ sudo chmod -R 755 /var/www/cloudindevs.com/moodle
Spuštěním následujících tří příkazů vytvořte adresář s příslušnými oprávněními pro Moodle pro ukládání nahraných souborů a složek. Datový adresář Moodle by neměl být přístupný přes web.
$ sudo mkdir /var/moodledata $ sudo chown -R www-data:www-data /var/moodledata $ sudo chmod -R 755 /var/moodledata
Konfigurace Moodle
Nyní je čas vytvořit hlavní konfigurační soubor Moodle. Chcete-li to provést, změňte adresář a poté zkopírujte vzorový konfigurační soubor do rozbalené složky Moodle spuštěním příkazů níže.
$ cd /var/www/cloudindevs.com/moodle $ sudo cp config-dist.php config.php
Otevřete soubor config.php pro úpravy.
$ sudo nano config.php
V NASTAVENÍ DATABÁZE části souboru config.php proveďte následující.
- Nahradit pgsql s mariadb
- Nahradit moodle s názvem databáze, kterou jste vytvořili při nastavování mariadb
- Změňte uživatelské jméno na skutečné uživatelské jméno databáze, které jste vytvořili dříve
- Změňte heslo k heslu vaší databáze
Tiskněte šipku dolů, dokud se nedostanete na UMÍSTĚNÍ WEBOVÉ STRÁNKY části souboru config.php.
Nahraďte http://example.com/moodle pomocí http://yoursite.com/moodle
Můj by byl například 'https://cloudindevs.com/moodle'
Přejděte dále dolů na UMÍSTĚNÍ DATOVÝCH SOUBORŮ části souboru config.php.
Změňte /home/example/moodledata do datového adresáře Moodle, který jste vytvořili dříve. Můj by byl /var/moodledata
Přístup k webovému rozhraní Moodle
V tomto okamžiku můžete otevřít webový prohlížeč a navštívit stránku yoursite.com/moodle a dokončit instalaci.
Zde je to, co dostanu, když ve webovém prohlížeči přejdu na stránku „www.cloudindevs.com/moodle“.

Klikněte na Pokračovat pokračovat. Na další stránce můžete narazit na chyby týkající se chybějících pluginů. Podívejte se na příklad na obrázku níže.

Chcete-li problémy vyřešit, klikněte na možnost musí být nainstalována a povolena a podle pokynů nainstalujte požadovaná rozšíření. Po instalaci požadovaných rozšíření restartujte NGINX pomocí sudo systemctl restart nginx a poté znovu načtěte stránku Kontrola serveru, abyste potvrdili, zda chyby zmizely.

Pokud chyby zmizely, můžete kliknout na Pokračovat pokračovat.
Konfigurace účtu hlavního administrátora Moodle
Po úspěšné instalaci Moodle se vám zobrazí stránka pro konfiguraci vašeho hlavního administrátorského účtu. Budete muset zadat uživatelské jméno, heslo a další požadované informace.
Budete také požádáni o konfiguraci názvu svého webu, souhrnu na úvodní stránce, nastavení umístění atd. Až budete hotovi, klikněte na Uložit změny ve spodní části stránky.

A tím instalace Moodle končí. Zde je, jak vypadá můj nový web Moodle.

Závěr
Online učení si od začátku pandemie Covid-19 získalo velkou pozornost – a to je fakt. Mnoho vzdělávacích institucí vytváří e-learningové platformy prostřednictvím online systémů pro řízení výuky, jako je Moodle.
V této příručce jsme úspěšně nainstalovali a nakonfigurovali server Moodle od začátku na Ubuntu 20.04. Další informace o tom, jak používat a spravovat své webové stránky Moodle, naleznete v oficiálních dokumentech Moodle.