Moodle je celosvětově nejpopulárnější, robustní, bezplatná a open source platforma pro správu online výuky (e-learningu), která byla vytvořena pro web a mobilní zařízení. Nabízí širokou škálu aktivit a vzdělávacích nástrojů, které umožňují školám, univerzitám a souvisejícím institucím nabízet studentům flexibilní výukovou platformu kdykoli a kdekoli, bez přerušení kurzu a osnov.
Některé z jeho obecných funkcí zahrnují moderní, snadno použitelné rozhraní, personalizovaný řídicí panel, nástroje a aktivity pro spolupráci, kalendář vše v jednom, pohodlnou správu souborů, jednoduchý intuitivní textový editor, upozornění a sledování pokroku.
Důležité je, Moodle je také vysoce rozšiřitelný pomocí více než tisíce pluginů, které podporují další aktivity, bloky, motivy a mnoho dalšího.
V tomto článku se dozvíte, jak nainstalovat nejnovější verzi Moodle Learning Platform s NGINX a databáze MySQL/MariaDB na Ubuntu 20.04 a starší verze.
Požadavky na server:
- Čerstvě nainstalovaný server Ubuntu 20.04 s nainstalovaným zásobníkem LEMP.
 
Jakmile nainstalujete LEMP zásobník na Ubuntu serveru, můžete pokračovat v nastavení Moodle na serveru, jak je vysvětleno níže.
Na této stránce
- Nastavení DNS záznamu pro aplikaci Moodle
 - Instalace Moodle na Ubuntu Server
 - Konfigurace NGINX pro obsluhu aplikace Moodle
 - Dokončení instalace Moodle pomocí webového instalačního programu
 - Povolte HTTPS v aplikaci Moodle pomocí Let’s Encrypt
 
Nastavení DNS záznamu pro aplikaci Moodle
 1. Aby uživatelé měli přístup k vašemu Moodle například musíte vytvořit subdoménu proto musíte vytvořit DNS A záznam, jak toho dosáhnout. Pro tuto příručku je naše testovací doména testprojects.me , takže musíme vytvořit subdoménu, například learning.testprojects.me .
 Přihlaste se tedy do webové konzole svého registrátora domény a otevřete pokročilá nastavení své domény, klikněte na Přidat nový záznam typu A , hostitel by se měl learning (nebo jakékoli slovo podle vašeho výběru) a hodnota by měla být veřejná IP adresa vašeho serveru Ubuntu.
 Instalace Moodle na Ubuntu Server
2. Dále je třeba nainstalovat PHP rozšíření a knihovny požadované Moodlem pomocí správce balíčků apt, jak je znázorněno.
$ sudo apt update $ sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav
3. Dále vytvořte databázi pro svůj Moodle Systém. Přihlaste se do MySQL shell administrace databáze a vytvořte databázi podle obrázku:
$ sudo mysql MariaDB [(none)]> CREATE DATABASE moodle; MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '[email protected]'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit;
4. Jak již bylo zmíněno dříve, pro tuto příručku si stáhneme a nainstalujeme nejnovější verzi Moodle (verze 3.9 v době psaní tohoto článku). Spusťte následující příkaz wget, abyste získali balíček Moodle a pomocí příkazu tar jej extrahovali. Poté pomocí příkazu ls potvrďte, že adresář moodle existuje pod /var/www/html/ jak je uvedeno.
$ wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz $ sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/ $ ls /var/www/html/
5. Dále nastavte příslušná oprávnění na Moodle adresář spuštěním následujících příkazů.
$ sudo chown www-data:www-data -R /var/www/html/moodle $ sudo chmod 775 -R /var/www/html/moodle
6. Dále vytvořte data Moodle adresář, místo, kde Moodle může uložit nahrané soubory a nastavit jeho oprávnění, jak je uvedeno.
$ sudo mkdir -p /var/moodledata $ sudo chmod 775 -R /var/moodledata $ sudo chown www-data:www-data -R /var/moodledata
7. Poté vytvořte Moodle hlavní konfigurační soubor ze vzorového konfiguračního souboru dodaného s balíčkem, otevřete jej.
$ cd /var/www/html/moodle/ $ sudo cp config-dist.php config.php $ sudo vim config.php
Lok pro sekci konfigurace databáze, poté nakonfigurujte databázi, kde jsou všechny Moodle data budou uložena, jak ukazuje následující snímek obrazovky:
$CFG->dbtype = 'mariadb'; // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci' $CFG->dblibrary = 'native'; // 'native' only at the moment $CFG->dbhost = 'localhost'; // eg 'localhost' or 'db.isp.com' or IP $CFG->dbname = 'moodle'; // database name, eg moodle $CFG->dbuser = 'moodleadmin'; // your database username $CFG->dbpass = '[email protected]'; // your database password $CFG->prefix = 'mdl_'; // prefix to use for all table names
 Nakonfigurujte také umístění webových stránek Moodle a také umístění datového adresáře Moodle, jak je znázorněno.
$CFG->wwwroot = 'http://learning.testprojects.me'; $CFG->dataroot = '/var/moodledata';
 Uložte a zavřete soubor. Poté nakonfigurujte NGINX na server vašeho Moodle webu, jak je popsáno v další části.
Konfigurace NGINX pro obsluhu aplikace Moodle
8. Aby NGINX serveroval váš Moodle musíte vytvořit novou konfiguraci bloku serveru pod NGINX konfiguraci v adresáři /etc/nginx/conf.d/ .
$ sudo vim /etc/nginx/conf.d/moodle.conf
 Zkopírujte a vložte do něj následující konfiguraci, nahraďte learning.testprojects.me s vaší subdoménou. Vedle toho fastcgi_pass direktiva by měla ukazovat na adresu, na které PHP-FPM přijímá požadavky FastCGI (viz /etc/php/7.4/fpm/pool.d/www.conf pro více informací).
server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
 Uložte soubor a zavřete jej.
9. Dále ověřte, že NGINX konfigurace je po provedení výše uvedených změn v pořádku, poté službu NGINX elegantně restartujte.
$ sudo nginx -t $ sudo systemctl reload nginx
 Dokončení instalace Moodle pomocí webového instalačního programu
 10. Nyní otevřete webový prohlížeč a procházejte pomocí své subdomény, například learning.testprojects.me pro přístup k Moodle webový instalátor.
http://learning.testprojects.me
Jakmile se načte úvodní stránka, přečtěte si zprávu, klikněte na Pokračovat .
 11. Dále instalační program zkontroluje, zda váš systém splňuje požadavky, pokud je vše v pořádku, přejděte dolů a klikněte na Pokračovat spustit samotnou instalaci souborů a nastavení schématu databáze.
Upozorňujeme, že instalační program zobrazí varování, že web neběží na HTTPS , varování prozatím ignorujte. V poslední části se budeme zabývat tím, jak povolit HTTPS na Moodle pomocí bezplatného Let’s Encrypt certifikáty.
 Po dokončení instalace klikněte na Pokračovat .
 12. Dále nakonfigurujte účet správce svého webu Moodle vytvořením uživatelského jména účtu, hesla, křestního jména a příjmení a e-mailové adresy. Poté přejděte dolů a klikněte na Aktualizovat účet .
 13. Dále nakonfigurujte Moodle nastavení přední stránky webu, jak je znázorněno na následujícím snímku obrazovky. Poté přejděte dolů a klikněte na Aktualizovat .
 14. Webový instalační program vás automaticky přihlásí do nového Moodlu místo. Registraci webu můžete dokončit podle pokynů na obrazovce.
 Nastavení HTTPS v aplikaci Moodle pomocí Let’s Encrypt
15. K ochraně vašeho Moodle musíte povolit HTTPS . V této příručce použijeme Let’s Encrypt bezplatné a důvěryhodné certifikáty SSL/TLS. Další výhodou používání Let’s Encrypt je, že je automatizované.
Vraťte se tedy do svého terminálu a spusťte následující příkaz k instalaci certbota na Ubuntu (bezplatný nástroj s otevřeným zdrojovým kódem pro automatické používání certifikátů Let’s Encrypt k povolení HTTPS na ručně spravovaných stránkách).
$ sudo snap install --classic certbot
 16. Poté zadejte následující příkaz, abyste získali certifikát a měli Certbot upravte svůj NGINX konfigurace pro automatickou konfiguraci nového certifikátu.
$ sudo certbot --nginx
 17. Dále se vraťte do Moodle konfigurační soubor webu.
$ sudo vim /var/www/html/moodle/config.php
a změňte adresu URL z HTTP na HTTPS jak je znázorněno na následujícím snímku obrazovky.
$CFG->wwwroot = 'https://learning.testprojects.me';
 18. Nakonec v prohlížeči ověřte, že váš Moodle web nyní běží na HTTPS .
https://learning.testprojects.me
 To je prozatím vše! Další informace, možnosti konfigurace a návod k použití naleznete v dokumentaci k Moodle 3.9.