Ako nainštalovať Moodle LMS na server Ubuntu 24.04
Tento návod existuje pre tieto verzie OS
- Ubuntu 24.04 (Noble Numbat)
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 16.04 (Xenial Xerus)
Na tejto stránke
- Predpoklady
- Inštalácia závislostí
- Konfigurácia servera MariaDB
- Vytvorenie databázy a užívateľa
- Konfigurácia PHP
- Sťahovanie zdrojového kódu Moodle
- Nastavenie virtuálneho hostiteľa Apache
- Zabezpečenie Moodle pomocou UFW
- Zabezpečenie Moodle pomocou HTTPS
- Inštalácia Moodle
- Záver
Moodle je populárna platforma s otvoreným zdrojovým kódom, ktorú používajú vzdelávacie inštitúcie na celom svete na vytváranie online kurzov, správu obsahu a uľahčenie kolaboratívneho učenia. Spustenie Moodle na Ubuntu je bežnou voľbou kvôli stabilite, bezpečnosti a podpore Ubuntu pre širokú škálu softvérových balíkov. Proces zahŕňa inštaláciu potrebných komponentov, ako je Apache alebo Nginx ako webový server, MySQL alebo PostgreSQL ako databáza a PHP ako skriptovací jazyk, z ktorých všetky sú na Ubuntu dobre podporované. Toto nastavenie umožňuje inštitúciám vytvoriť robustné, škálovateľné a prispôsobiteľné online vzdelávacie prostredie, ktoré možno prispôsobiť špecifickým vzdelávacím potrebám.
V tomto návode vám ukážeme, ako nainštalovať Moodle na server Ubuntu 24.04. Nainštalujete Moodle s LAMP Stack a potom zabezpečíte Moodle pomocou UFW a HTTPS cez Certbot a Letsencrypt.
Predpoklady
Skôr ako začnete, uistite sa, že máte nasledujúce:
- Server Ubuntu 24.04.
- Používateľ bez oprávnenia root s oprávneniami správcu.
- Názov domény smerujúci na IP adresu servera.
- UFW firewall je zapnutý a spustený.
Inštalácia závislostí
Moodle je open-source vzdelávacia platforma napísaná v PHP. Na inštaláciu Moodle potrebujete Apache/Nginx, MySQL/MariaDB/PostgreSQL a PHP. V tejto časti nainštalujete LAMP Stack (Linux, Apache, MariaDB a PHP) na Ubuntu a nad ním nastavíte Moodle.
Ak chcete začať, spustite nasledujúci príkaz a aktualizujte index balíkov Ubuntu.
sudo apt update
Teraz vykonajte príkaz uvedený nižšie a nainštalujte závislosti LAMP Stack (Apache, MariaDB a PHP). Zadajte „Y“ na potvrdenie inštalácie.
sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php
Po dokončení inštalácie skontrolujte stav služby Apache pomocou príkazu nižšie.
sudo systemctl is-enabled apache2
sudo systemctl status apache2
V nasledujúcom texte môžete vidieť, že webový server Apache beží.
Skontrolujte databázový server MariaDB pomocou nasledujúceho príkazu. Uvidíte, že server MariaDB je spustený.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Nakoniec skontrolujte verziu PHP a povolené rozšírenia pomocou nasledujúcich údajov:
php -v
php -m
Uvidíte, že PHP 8.3 je nainštalované na vašom serveri Ubuntu.
Konfigurácia servera MariaDB
Po nainštalovaní závislostí musíte zmeniť predvolený ukladací modul MariaDB na 'InnoDB', ktorý vyžaduje Moodle. Môžete to urobiť úpravou konfigurácie servera MariaDB. A potom tiež zabezpečíte nasadenie servera MariaDB pomocou pomôcky 'mariadb_secure_installation'.
Otvorte konfiguračný súbor servera MariaDB '/etc/mysql/mariadb.conf.d/50-server.cnf' pomocou editora 'nano'.
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
Pridajte nasledujúcu konfiguráciu do sekcie '[mysqld]'. Toto zmení predvolený ukladací mechanizmus na 'innodb'.
innodb_file_format = Barracuda
default_storage_engine = innodb
innodb_large_prefix = 1
innodb_file_per_table = 1
Uložte súbor a ukončite editor.
Teraz spustite príkaz 'systemctl' nižšie, aby ste reštartovali server MariaDB a použili svoje zmeny.
sudo systemctl restart mariadb
Nakoniec spustite príkaz 'mariadb_secure_installation' nižšie, aby ste nastavili užívateľa root MariaDB a zabezpečili svoje nasadenie.
sudo mariadb_secure_installation
V rámci tohto procesu budete požiadaní o nasledovné:
- Pre predvolenú inštaláciu servera MariaDB bez hesla root stlačte ENTER, keď budete požiadaní o heslo.
- Lokálna autentifikácia pre užívateľov MariaDB root je štandardne zabezpečená, zadajte 'n', keď budete požiadaní o zmenu autentifikačnej metódy na 'unix_socket'.
- Ak chcete vytvoriť nové root heslo MariaDB, zadajte „Y“. Potom zadajte silné heslo pre používateľa root v službe MariaDB a opakujte.
- Keď sa zobrazí výzva na zakázanie vzdialenej autentifikácie pre používateľa root MariaDB, zadajte „Y“ na vyjadrenie súhlasu.
- Predvolená inštalácia servera MariaDB sa dodáva s „testom“ databázy a umožňuje prístup anonymnému používateľovi. Zadajte 'Y' pre obe nastavenia, aby ste odstránili predvolenú databázu 'test' a odstránili anonymné privilégium.
- Nakoniec zadajte 'Y' na potvrdenie privilégií pre opätovné načítanie tabuľky.
Vytvorenie databázy a užívateľa
Teraz, keď ste nakonfigurovali server MariaDB, poďme vytvoriť novú databázu a používateľa prostredníctvom klienta 'mariadb'.
Prihláste sa na server MariaDB pomocou klientskeho príkazu 'mariadb' nižšie. Po zobrazení výzvy zadajte svoje root heslo MariaDB.
sudo mariadb -u root -p
Teraz spustite nasledujúce dotazy na vytvorenie novej databázy 'moodle', používateľa 'moodle' a nezabudnite zmeniť heslo s vašimi informáciami.
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";
FLUSH PRIVILEGES;
QUIT
Konfigurácia PHP
V tejto časti upravíte konfiguráciu PHP 'php.ini' a zmeníte niektoré predvolené hodnoty, ktoré vyžaduje Moodle.
Otvorte konfiguráciu PHP '/etc/php/8.3/apache2/php.ini' pomocou editora 'nano'.
sudo nano /etc/php/8.3/apache2/php.ini
Zmeňte predvolenú konfiguráciu nasledujúcim spôsobom. Nezabudnite upraviť možnosti 'memory_limit' a 'date_timezone' s vašimi informáciami.
memory_limit = 256M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
max_input_vars = 5000
Po dokončení uložte súbor a ukončite.
Nakoniec spustite príkaz uvedený nižšie, aby ste reštartovali webový server Apache a použili zmeny v PHP.
sudo systemctl restart apache2
Sťahovanie zdrojového kódu Moodle
V tomto bode ste nainštalovali a nakonfigurovali zásobník LAMP. Stiahneme si zdrojový kód Moodle a nakonfigurujeme inštalačný adresár Moodle.
Prejdite do adresára '/var/www' a stiahnite si zdrojový kód Moodle pomocou príkazu 'wget'. Nezabudnite navštíviť stránku sťahovania Moodle, kde získate odkaz na najnovšiu verziu. V tomto prípade si stiahnete najnovšiu stabilnú verziu Moodle 40.4.
cd /var/www
wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgz
Po stiahnutí Moodle ho rozbaľte pomocou príkazu 'tar' nižšie. Zdrojový kód Moodle bude dostupný v adresári '/var/www/moodle'.
tar xvf moodle-latest-404.tgz
Nakoniec vykonajte príkaz uvedený nižšie a vytvorte nový dátový adresár '/var/www/moodledata', zmeňte vlastníctvo adresára Moodle na používateľa 'www-data' a uistite sa, že do Moodle aj do adresára údajov môže zapisovať používateľ 'www-data'.
sudo mkdir -p /var/www/moodledata
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata
sudo chmod u+rwx /var/www/moodle /var/www/moodledata
Nastavenie virtuálneho hostiteľa Apache
Po stiahnutí Moodle vytvoríte nový súbor virtuálneho hostiteľa Apache na spustenie Moodle. Uistite sa teda, že máte svoju doménu pripravenú a priradenú k IP adrese vášho servera Ubuntu.
Najprv spustite príkaz 'a2enmod' nižšie, aby ste aktivovali modul 'rewrite'.
sudo a2enmod rewrite
Vytvorte nový súbor virtuálneho hostiteľa Apache '/etc/apache2/sites-available/moodle.conf' pomocou nasledujúceho editora 'nano'.
sudo nano /etc/apache2/sites-available/moodle.conf
Vložte nasledujúcu konfiguráciu a nezabudnite zmeniť názov domény s vašimi informáciami.
<VirtualHost *:80>
DocumentRoot /var/www/moodle/
ServerName moodle.howtoforge.local
ServerAdmin [email
<Directory /var/www/moodle/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/moodle_error.log
CustomLog /var/log/apache2/moodle_access.log combined
</VirtualHost>
Uložte súbor a po dokončení ukončite editor.
Teraz spustite nasledujúci príkaz, aby ste povolili súbor 'moodle.conf' a overili svoju syntax Apache. Ak máte správnu syntax Apache, zobrazí sa výstup „Syntax je v poriadku“.
sudo a2ensite moodle.conf
sudo apachectl configtest
Nakoniec spustite príkaz 'systemctl' nižšie, čím reštartujete Apache a použijete svoje zmeny.
sudo systemctl restart apache2
Zabezpečenie Moodle pomocou UFW
V tomto kroku otvoríte protokoly HTTP a HTTPS prostredníctvom UFW (Uncomplicated Firewall). Pred začatím sa uistite, že máte spustený UFW.
Spustite príkaz nižšie, aby ste povolili profil 'Apache Full' na UFW. Vďaka tomu bude povolený prenos HTTP a HTTPS.
sudo ufw allow 'Apache Full'
Teraz skontrolujte zoznam povolených pravidiel na UFW s nasledujúcim. Uvidíte, že profil „Apache Full“ je povolený.
sudo ufw status
Zabezpečenie Moodle pomocou HTTPS
Okrem firewallu si vygenerujete aj SSL/TLS certifikáty a zabezpečíte Moodle HTTPS. V tejto časti implementujete HTTPS pre Moodle cez Certbot a Letsencrypt. Ak inštalujete Moodle lokálne, toto preskočte.
Nainštalujte balíky 'certbot' a 'python3-certbot-apache' pomocou nasledujúceho príkazu.
sudo apt install certbot python3-certbot-apache -y
Po dokončení inštalácie spustite príkaz 'certbot' nižšie a vygenerujte SSL/TLS certifikáty pre Moodle. Nezabudnite zmeniť názov domény a e-mailovú adresu s vašimi informáciami.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email -d moodle.howtoforge.local
Po dokončení procesu budú vaše SSL certifikáty dostupné v adresári '/etc/letsencrypt/live/domain.com' a vaša inštalácia Moodle by mala byť zabezpečená automaticky pomocou HTTPS.
Inštalácia Moodle
Navštívte názov svojej domény Moodle, napríklad https://moodle.howtoforge.local/, a zobrazí sa sprievodca inštaláciou.
Vyberte predvolený jazyk a kliknite na tlačidlo Ďalej.
Zadajte svoj dátový adresár pre Moodle '/var/www/moodledata'.
Ako ovládač databázy vyberte MariaDB.
Zadajte podrobnosti o svojej databáze MariaDB a používateľovi.
Kliknutím na tlačidlo Pokračovať potvrďte oznámenie o autorských právach.
V sekcii kontroly servera sa uistite, že je vaše prostredie pripravené.
Teraz sa spustí inštalácia Moodle.
Po dokončení inštalácie zadajte nového administrátora, e-mail a heslo pre Moodle.
Teraz uvidíte panel Moodle takto:
Záver
Gratulujem! Dokončili ste inštaláciu Moodle na server Ubuntu 24.04. Nainštalovali ste Moodle 40.4 na Ubuntu so zásobníkom LAMP (Linux, Apache, MariaDB a PHP) a zabezpečili ste Moodle pomocou UFW (Uncomplicated Firewall) a HTTPS cez Certbot a Letsencrypt.