Weboldal keresés

A Moodle Learning Platform telepítése az Nginx segítségével a CentOS 8 rendszerben


A Moodle a világ legnépszerűbb tanuláskezelő rendszere robusztus online oktatási webhelyek létrehozására. Számos tevékenységet és oktatási eszközt tartalmaz, amelyek közül választhat, támogatja az értékelés kezelését, és egyedi tanúsítványokkal szállítja. Valós idejű kommunikációt tesz lehetővé diákjaival egy hatékony videokonferencia-eszköz segítségével. Ezenkívül mobilra is alkalmas, így a hallgatók mobileszközeikről tanulhatnak.

Moodle szerverkövetelmények

  • Operációs rendszer: a CentOS 8 vagy RHEL 8 szerver minimális telepítése, telepített LEMP veremmel.
  • Lemezterület: 200 MB a Moodle számára, és 5 GB valószínűleg reális minimum a tartalom tárolására.
  • Processzor: 1 GHz-es (perc), 2 GHz-es kétmagos vagy több ajánlott.
  • Memória: 512 MB (perc), 1 GB vagy több ajánlott. 8 GB plusz valószínűleg egy nagy éles szerveren.

Ezen az oldalon

  • Domain DNS rekord létrehozása a Moodle webhelyhez
  • Moodle Learning Platform telepítése a CentOS 8 kiszolgálón
  • Az NGINX konfigurálása a Moodle webhely kiszolgálására
  • A Moodle telepítésének befejezése a Web Installer segítségével
  • Engedélyezze a HTTPS-t a Moodle webhelyen a Let’s Encrypt segítségével

Domain DNS rekord létrehozása a Moodle webhelyhez

1. Kezdje azzal, hogy hozzon létre egy aldomaint, amellyel a felhasználók hozzáférhetnek a Moodle online oktatási webhelyhez. Ha például a domain neve testprojects.me, létrehozhat egy learning.testprojects.me nevű aldomaint.

Nyissa meg a domain nevének speciális DNS beállításait, és adjon hozzá egy A rekordot a következő képen látható módon.

A Moodle telepítése a CentOS 8 szerverre

2. A Moodle telepítése előtt győződjön meg arról, hogy a szükséges PHP-bővítmények vannak a szerveren, és a következő parancs futtatásával telepítheti őket:

dnf 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. Ezután hozzon létre egy adatbázist a Moodle alkalmazáshoz az alábbiak szerint.

mysql -u root -p

Ezután hozza létre az adatbázist, az adatbázis-felhasználót, és hozzon létre egy biztonságos jelszót a használatra.

MariaDB [(none)]> CREATE DATABASE moodledb;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodledb.* TO 'moodleadmin'@'localhost' IDENTIFIED BY 'p@zzwd0L2';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

4. Most töltse le a Moodle legújabb verzióját (az írás idején 3.9) a moodle projekt hivatalos webhelyéről, csomagolja ki az archív fájlt, és helyezze át a webroot (/var/www/html/) könyvtárába, majd állítsa be a megfelelő jogosultságokat és tulajdonjogot, hogy a webszerver hozzáférjen a Moodle-könyvtárhoz az alábbiak szerint.

wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
tar -xzvf  moodle-latest-39.tgz
mv moodle /var/www/html/
chmod 775 -R /var/www/html/moodle
chown nginx:nginx -R /var/www/html/moodle

5. Ezután hozza létre a moodledata könyvtárat, amely a Moodle felület által feltöltött vagy létrehozott fájlok helye, majd rendelje hozzá a megfelelő engedélyeket és tulajdonjog, amely lehetővé teszi a webszerver számára az olvasási és írási hozzáférést:


mkdir -p /var/www/html/moodledata
chmod 770 -R /var/www/html/moodledata
chown :nginx -R /var/www/html/moodledata

6. Ezután lépjen be a Moodle telepítési könyvtárba, és hozzon létre egy config.php fájlt a config.dist.php mintából. fájlt, majd nyissa meg szerkesztésre a Moodle platform néhány kulcsfontosságú beállításához, mint például az adatbázis-kapcsolat paraméterei és a webhely helye, valamint a moodledata könyvtár megtalálása:

cd /var/www/html/moodle/
cp config-dist.php config.php
vim config.php

Állítsa be a megfelelő adatbázistípust, a megfelelő adatbázis-gazdagépet, az adatbázis nevét és az adatbázis-felhasználót, valamint a felhasználó jelszavát.

$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    = 'moodledb';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = 'p@zzwd0L2';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

7. Állítsa be a Moodle webhely eléréséhez használt URL-címet is, ez határozza meg a wwwroot helyét, ahol a Moodle webfájljai találhatók, és a dataroot is (a moodledata könyvtár):

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/www/html/moodledata';

Az NGINX konfigurálása a Moodle webhely kiszolgálására

8. Ebben a szakaszban be kell állítania az NGINX alkalmazást, hogy kiszolgálja Moodle alkalmazását. A képen látható módon létre kell hoznia egy szerverblokkot az NGINX konfigurációban.

vim /etc/nginx/conf.d/moodle.conf

Másolja és illessze be a következő konfigurációt a szerverblokk konfigurációs fájljába. Cserélje ki a szerver nevét a fent létrehozott aldomain nevére, és a fastcgi_pass a php-fpm elemre kell, hogy mutasson (megjegyzés hogy a CentOS 8 rendszeren a PHP-FPM elfogadja a FastCGI kéréseket az /etc/nginx/conf.d/ fájlban meghatározott cím használatával. php-fpm.conf konfiguráció).

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            php-fpm;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Mentse el a fájlt és zárja be.

9. Ezután ellenőrizze az NGINX konfiguráció helyességét, ha OK, indítsa újra az nginx-et és az php-fpm szolgáltatások a legutóbbi módosítások alkalmazásához:

nginx -t
systemctl restart nginx
systemctl restart php-fpm

10. Ha a rendszerén engedélyezve van a SELinux, akkor futtassa a következő parancsokat, hogy beállítsa a megfelelő kontextust a Moodle webfájlok eléréséhez szerver:

setsebool -P httpd_can_network_connect on
chcon -R --type httpd_sys_rw_content_t /var/www/html

11. Ezenkívül győződjön meg arról, hogy a HTTP és a HTTPS szolgáltatások nyitva vannak a tűzfalban, hogy lehetővé tegye a forgalmat az NGINX felé. web szerver:

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

A Moodle telepítésének befejezése a Web Installer segítségével

12. A Moodle webtelepítő eléréséhez nyissa meg webböngészőjét, és navigáljon a fent létrehozott aldomain használatával:

http://learning.testprojects.me

Az üdvözlő oldal betöltése után olvassa el a feltételeket, és kattintson a Folytatás gombra.

13. Ezután a webes telepítő ellenőrzi, hogy rendszere megfelel-e a megadott verziójú Moodle webhely futtatásához szükséges követelményeknek. További információk megtekintéséhez görgessen lefelé.

14. A telepítő panaszkodik, hogy a HTTPS nincs engedélyezve, egyelőre figyelmen kívül hagyja ezt a hibát (a következő részben megmutatjuk, hogyan engedélyezheti a HTTPS-t a Moodle-ban), majd kattintson A Folytatás gombbal elindíthatja a webfájlok tényleges telepítését.

15. Most a telepítő elindítja a Moodle fájlok tényleges telepítését, ahogy az a következő képernyőképen látható. Ha elkészült, kattintson a Folytatás gombra.

16. A következő lépésben frissítenie kell a Moodle webhely rendszergazdai fiókját a felhasználónév, a jelszó, az utó- és vezetéknév, valamint az e-mail cím frissítésével. Ezután görgessen le az oldalon, és kattintson a Profil frissítése lehetőségre.

17. Ezután frissítse a Moodle-webhely kezdőlapjának beállításait. Ezután görgessen le, és kattintson a Frissítés lehetőségre a Moodle-webhely használatának megkezdéséhez.

18. Ezután regisztrálnia kell webhelyét a képernyőn megjelenő utasításokat követve. Az irányítópultra kattintva az irányítópultra léphet.

HTTPS beállítása a Moodle webhelyen a Let’s Encrypt használatával

A HTTPS az első biztonsági réteget adja webhelyéhez, hogy biztonságos kommunikációt tegyen lehetővé a felhasználók és a Moodle alkalmazás (különösen az NGINX webszerver, amely fogadja válaszokat kér és kézbesít).

Vásárolhat SSL/TLS-tanúsítványt egy kereskedelmi CA-tól, vagy használhatja a Let's Encrypt szolgáltatást, amely ingyenes és minden modern webböngésző által elismert. Ebben az útmutatóban a Titkosítsuk funkciót fogjuk használni.

19. A Titkosítsuk tanúsítvány telepítését a rendszer automatikusan kezeli a certbot eszközzel. A certbot és más szükséges csomagokat a következő paranccsal telepítheti:

dnf install certbot python3-certbot-nginx

20. Ezután futtassa a következő parancsot, hogy megkapja a Titkosítsuk tanúsítványt, és a Certbot automatikusan szerkessze az NGINX konfigurációt, hogy kiszolgálja azt (ez is beállítja HTTP, amely automatikusan átirányítja a HTTPS-re).

certbot --nginx

21. Ezután futtassa a következő parancsot a Titkosítsuk SSL/TLS tanúsítvány automatikus megújításának engedélyezéséhez:

echo "0 0,12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

22. Ezt követően frissítse Moodle-konfigurációját a HTTPS használatához.

vim /var/www/html/moodle/config.php

módosítsa a wwwroot URL-t HTTP-ről HTTPS-re:

$CFG->wwwroot   = 'https://learning.testprojects.me';

23. Végül, de nem utolsósorban győződjön meg arról, hogy Moodle webhelye most már HTTPS-en fut.

Egyelőre ennyi! Az új tanulási platform futtatásához szükséges további információkért és konfigurációs lehetőségekért látogasson el a Moodle webhelyére, és olvassa el a hivatalos dokumentációt.