Kuinka asentaa Moodle Learning Platform Nginxin kanssa CentOS 8:ssa


Moodle on maailman suosituin oppimisen hallintajärjestelmä vankkojen verkko-oppimissivustojen rakentamiseen. Se sisältää valikoiman aktiviteetteja ja koulutustyökaluja, joista voit valita, se tukee arvioinnin hallintaa ja toimittaa mukautettuja sertifikaatteja. Se mahdollistaa myös viestinnän opiskelijoiden kanssa reaaliajassa tehokkaan videoneuvottelutyökalun avulla. Lisäksi se on mobiilivalmis, joten opiskelijasi voivat oppia mobiililaitteistaan.

Moodle-palvelinvaatimukset

  • Käyttöjärjestelmä: CentOS 8- tai RHEL 8 -palvelimen minimaalinen asennus LEMP-pinon kanssa.
  • Levytila: 200 Mt Moodlelle ja 5 Gt on luultavasti realistinen vähimmäismäärä sisällön tallennusta varten.
  • Prosessori: 1 GHz (min), 2 GHz kaksiytiminen tai enemmän suositellaan.
  • Muisti: 512 Mt (min), 1 Gt tai enemmän suositellaan. 8GB plus on todennäköisesti suurella tuotantopalvelimella.

Tällä sivulla

  • Domain DNS-tietueen luominen Moodle-verkkosivustolle
  • Moodle Learning Platformin asentaminen CentOS 8 Serveriin
  • NGINX:n määrittäminen palvelemaan Moodle-verkkosivustoa
  • Suorita Moodle-asennus loppuun Web Installerin kautta
  • Ota HTTPS käyttöön Moodle-sivustolla Let’s Encryptin avulla

Domain DNS-tietueen luominen Moodle-verkkosivustolle

1. Aloita luomalla aliverkkotunnus, jonka avulla käyttäjät käyttävät Moodle-verkko-oppimissivustoa. Jos verkkotunnuksesi nimi on esimerkiksi testiprojektit.me, voit luoda aliverkkotunnuksen nimeltä learning.testprojects.me.

Avaa verkkotunnuksesi DNS-lisäasetukset ja lisää A-tietue seuraavan kuvan mukaisesti.

Moodlen asentaminen CentOS 8 Serveriin

2. Varmista ennen Moodlen asentamista, että palvelimellasi on tarvittavat PHP-laajennukset. Voit asentaa ne suorittamalla seuraavan komennon:

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. Luo seuraavaksi tietokanta Moodle-sovellukselle seuraavasti.

mysql -u root -p

Luo sitten tietokanta, tietokannan käyttäjä ja luo suojattu salasana käyttöä varten.

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. Lataa nyt Moodlen uusin versio (3.9 kirjoitushetkellä) Moodle-projektin viralliselta verkkosivustolta, pura arkistotiedosto ja siirrä se webroot-hakemistoosi (/var/www/html/) ja määritä sitten asianmukaiset käyttöoikeudet ja omistajuus, jotta verkkopalvelin pääsee Moodle-hakemistoon seuraavasti.

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. Luo seuraavaksi moodledata-hakemisto, joka on Moodle-käyttöliittymän lataamien tai luomien tiedostojen sijainti, ja määritä sitten asianmukaiset käyttöoikeudet ja omistajuus antaa verkkopalvelimelle luku- ja kirjoitusoikeudet:


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

6. Siirry seuraavaksi Moodlen asennushakemistoon ja luo config.php-tiedosto config.dist.php<-esimerkistä.-tiedosto, avaa se muokkausta varten, jotta voit määrittää Moodle-alustan tärkeimmät asetukset, kuten tietokantayhteysparametrit ja sivuston sijainnin sekä moodledata-hakemiston:

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

Aseta oikea tietokantatyyppi, oikea tietokantaisäntä, tietokannan nimi ja tietokannan käyttäjä sekä käyttäjän salasana.

$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. Aseta myös URL-osoite, jota käytetään Moodle-istuntoon pääsemiseen. Tämä määrittää wwwjuuren sijainnin, jossa Moodle-verkkotiedostosi sijaitsevat, ja myös dataroot (moodledata-hakemisto):

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

NGINX:n määrittäminen palvelemaan Moodle-verkkosivustoa

8. Tässä osiossa sinun on määritettävä NGINX palvelemaan Moodle-sovellustasi. Sinun on luotava sille palvelinlohko NGINX-kokoonpanossa kuvan osoittamalla tavalla.

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

Kopioi ja liitä seuraavat asetukset palvelinlohkon määritystiedostoon. Korvaa palvelimen nimi yllä luodulla aliverkkotunnuksellasi, ja fastcgi_pass -tunnisteen pitäisi osoittaa php-fpm (huom. että CentOS 8:ssa PHP-FPM hyväksyy FastCGI-pyynnöt käyttämällä osoitteessa /etc/nginx/conf.d/ määritettyä osoitetta. php-fpm.conf-kokoonpano).

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;
}
}

Tallenna tiedosto ja sulje se.

9. Tarkista sitten NGINX-määrityksen oikeellisuus. Jos se on Ok, käynnistä nginx uudelleen ja php-fpm-palveluita viimeaikaisten muutosten käyttöönottamiseksi:

nginx -t
systemctl restart nginx
systemctl restart php-fpm

10. Jos SELinux on käytössä järjestelmässäsi, suorita seuraavat komennot asettaaksesi oikean kontekstin Moodle-verkkotiedostojen käyttämiselle palvelin:

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

11. Varmista lisäksi, että HTTP- ja HTTPS-palvelut ovat avoinna palomuurissa salliaksesi liikenteen NGINX-verkkoon. verkkopalvelin:

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

Suorita Moodle-asennus loppuun Web Installerin kautta

12. Pääset Moodlen verkkoasennusohjelmaan avaamalla verkkoselaimesi ja navigoimalla käyttämällä yllä luomaasi aliverkkotunnusta:

http://learning.testprojects.me

Kun tervetulosivu on latautunut, lue käyttöehdot ja napsauta Jatka.

13. Seuraavaksi verkkoasennusohjelma tarkistaa, täyttääkö järjestelmäsi vaatimukset määritetyn version Moodle-sivustolle. Voit vierittää alas nähdäksesi lisätietoja.

14. Asennusohjelma valittaa siitä, että HTTPS ei ole käytössä, ohita virhe toistaiseksi (seuraavassa osiossa näytämme, kuinka HTTPS otetaan käyttöön Moodlessa) ja napsauta Jatka aloittaaksesi verkkotiedostojen asennuksen.

15. Nyt asennusohjelma aloittaa varsinaisen Moodle-tiedostojen asennuksen seuraavan kuvakaappauksen mukaisesti. Kun se on valmis, napsauta Jatka.

16. Seuraavassa vaiheessa sinun on päivitettävä Moodle-sivustosi järjestelmänvalvojan tili päivittämällä käyttäjänimi, salasana, etu- ja sukunimi sekä sähköpostiosoite. Vieritä sitten sivua alas ja klikkaa Päivitä profiili.

17. Päivitä sitten Moodle-sivuston etusivun asetukset. Vieritä sitten alas ja aloita Moodle-sivustosi käyttö klikkaamalla Päivitä.

18. Seuraavaksi sinun on rekisteröitävä sivustosi noudattamalla näytön ohjeita. Voit siirtyä kojelautaan napsauttamalla hallintapaneelia.

HTTPS:n määrittäminen Moodle-sivustolle Let’s Encryptin avulla

HTTPS lisää sivustollesi ensimmäisen suojauskerroksen mahdollistaakseen suojatun viestinnän käyttäjiesi ja Moodle-sovelluksen (erityisesti NGINX-verkkopalvelimen, joka vastaanottaa pyytää ja toimittaa vastauksia).

Voit joko ostaa SSL/TLS-varmenteen kaupalliselta CA:lta tai käyttää Let's Encrypt -palvelua, joka on ilmainen ja kaikkien nykyaikaisten verkkoselaimien tunnistama. Tässä oppaassa käytämme Let's Encrypt.

19. Let's Encrypt -sertifikaatin käyttöönottoa hallitaan automaattisesti certbot-työkalulla. Voit asentaa certbotin ja muut vaaditut paketit seuraavalla komennolla:

dnf install certbot python3-certbot-nginx

20. Suorita sitten seuraava komento saadaksesi Let's Encrypt -varmenteen ja anna Certbotin muokata NGINX-määrityksiäsi automaattisesti palvelemaan sitä (se myös määrittää HTTP uudelleenohjataan automaattisesti HTTPS:ään).

certbot --nginx

21. Suorita sitten seuraava komento ottaaksesi käyttöön Let’s Encrypt SSL/TLS -varmenteen automaattisen uusimisen:

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. Päivitä seuraavaksi Moodle-määritykset, jotta voit aloittaa HTTPS:n käytön.

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

muuta wwwroot-URL-osoite HTTP osoitteesta HTTPS:

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

23. Viimeisenä mutta ei vähäisimpänä, varmista, että Moodle-sivustosi toimii nyt HTTPS:llä.

Siinä se toistaiseksi! Lisätietoja ja konfigurointivaihtoehtoja uuden oppimisalustan käyttämiseksi on Moodle-sivustolla ja lue virallinen dokumentaatio.