Kā CentOS 8 instalēt Moodle mācību platformu ar Nginx


Moodle ir pasaulē populārākā mācību pārvaldības sistēma, lai izveidotu stabilas tiešsaistes mācību vietnes. Tajā ir virkne darbību un izglītības rīku, no kuriem jūs varat izvēlēties, tas atbalsta novērtēšanas pārvaldību un piegādā ar pielāgotiem sertifikātiem. Tas arī ļauj sazināties ar studentiem reāllaikā, izmantojot jaudīgu video konferences rīku. Turklāt tas ir gatavs mobilajām ierīcēm, tāpēc jūsu studenti var mācīties no savām mobilajām ierīcēm.

  • Operētājsistēma: instalēta minimāla LEMP kaudzes instalācija.
  • Diska vieta: 200 MB Moodle un 5 GB, iespējams, ir reāls satura glabāšanas minimums.
  • Procesors: 1 GHz (min), 2 GHz divkodolu vai vairāk ieteicams.
  • Atmiņa: ieteicams 512 MB (min), 1 GB vai vairāk. 8 GB plus, visticamāk, ir lielā ražošanas serverī.

Šajā lapā

  • Domēna DNS ieraksta izveide Moodle vietnei
  • Moodle mācību platformas instalēšana CentOS 8 serverī
  • NGINX konfigurēšana Moodle vietnes apkalpošanai
  • Pabeigt Moodle instalēšanu, izmantojot Web Installer
  • Iespējojiet HTTPS vietnē Moodle, izmantojot Let’s Encrypt

1. Sāciet, izveidojot apakšdomēnu, kuru lietotāji izmantos, lai piekļūtu Moodle tiešsaistes mācību vietnei. Piemēram, ja jūsu domēna nosaukums ir testprojects.me , varat izveidot apakšdomēnu ar nosaukumu learning.testprojects.me .

Atveriet sava domēna nosaukuma papildu DNS iestatījumus un pievienojiet ierakstu A , kā parādīts nākamajā attēlā.

2. Pirms Moodle instalēšanas pārliecinieties, vai jūsu serverī ir nepieciešamie PHP paplašinājumi, varat instalēt šādu komandu, lai tos instalētu:

# 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. Pēc tam izveidojiet Moodle lietojumprogrammas datu bāzi šādi.

# mysql -u root -p

Pēc tam izveidojiet datu bāzi, datu bāzes lietotāju un izveidojiet drošu paroli lietošanai.

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 '[email ';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

4. Tagad lejupielādējiet jaunāko Moodle versiju (3.9 rakstīšanas laikā) no oficiālās moodle projekta vietnes, izvelciet arhīva failu un pārvietojiet to savā tīmekļa saknē (/var/www/html/) direktoriju, pēc tam iestatiet atbilstošās atļaujas un īpašumtiesības, lai ļautu tīmekļa serverim piekļūt Moodle direktorijai, šādi.

# 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. Pēc tam izveidojiet direktoriju moodledata, kurā atrodas faili, kurus augšupielādē vai izveido Moodle saskarne, un pēc tam piešķiriet atbilstošas atļaujas un īpašumtiesības, lai ļautu tīmekļa serverim lasīšanas un rakstīšanas piekļuvi tai:

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

6. Pēc tam pārejiet uz Moodle instalācijas direktoriju un izveidojiet failu config.php no norādītā faila config.dist.php parauga, pēc tam atveriet to rediģēšanai, lai konfigurētu dažus galvenie jūsu Moodle platformas iestatījumi, piemēram, datu bāzes savienojuma parametri un vietnes atrašanās vieta un vieta, kur tā var atrast moodledata direktoriju:

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

Iestatiet pareizo datu bāzes tipu, pareizo datu bāzes resursdatoru, datu bāzes nosaukumu un datu bāzes lietotāju un lietotāja paroli.

$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    = '[email zzwd0L2';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

7. Iestatiet arī vietrādi URL, kas tiek izmantots, lai piekļūtu jūsu Moodle vietnei. Tas norāda wwwroot atrašanās vietu, kur atrodas jūsu Moodle tīmekļa faili, kā arī datu palaišanu (moodledata direktoriju):

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

8. Šajā sadaļā jums ir jākonfigurē NGINX, lai tas kalpotu jūsu Moodle lietojumprogrammai. Jums jāizveido servera bloks NGINX konfigurācijā, kā parādīts.

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

Nokopējiet un ielīmējiet servera bloka konfigurācijas failā šo konfigurāciju. Nomainiet servera nosaukumu ar iepriekš izveidoto apakšdomēna nosaukumu, un fastcgi_pass jānorāda uz php-fpm (ņemiet vērā, ka CentOS 8 PHP-FPM pieņem FastCGI pieprasījumus, izmantojot adresi, kas noteikta /etc/nginx/conf.d/php- fpm.conf konfigurācija).

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

Saglabājiet failu un aizveriet to.

9. Pēc tam pārbaudiet NGINX konfigurācijas pareizību, ja tā ir Ok, restartējiet nginx un php-fpm pakalpojumus, lai piemērotu pēdējās izmaiņas:

# nginx -t
# systemctl restart nginx
# systemctl restart php-fpm

10. Ja jūsu sistēmā ir iespējota SELinux, tad izpildiet šīs komandas, lai iestatītu pareizo kontekstu piekļuvei Moodle tīmekļa failiem serverī:

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

11. Turklāt pārliecinieties, ka ugunsmūrī ir atvērti HTTP un HTTPS pakalpojumi, lai atļautu trafiku uz NGINX tīmekļa serveri:

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

12. Lai piekļūtu Moodle tīmekļa instalētājam, atveriet tīmekļa pārlūkprogrammu un pārvietojieties, izmantojot iepriekš izveidoto apakšdomēnu:

http://learning.testprojects.me

Kad apsveikuma lapa ir ielādēta, izlasiet noteikumus un nosacījumus un noklikšķiniet uz Turpināt.

13. Pēc tam tīmekļa instalētājs pārbaudīs, vai jūsu sistēma atbilst norādītās versijas Moodle vietnes palaišanas prasībām. Varat ritināt uz leju, lai skatītu vairāk informācijas.

14. Instalētājs sūdzas par to, ka HTTPS nav iespējots, pagaidām ignorēs šo kļūdu (nākamajā sadaļā parādīsim, kā iespējot HTTPS vietnē Moodle) un noklikšķiniet uz Turpināt, lai sāktu faktisko tīmekļa failu instalēšanu.

15. Tagad instalētājs sāks faktisko Moodle failu instalēšanu, kā parādīts nākamajā ekrānuzņēmumā. Kad tas ir pabeigts, noklikšķiniet uz Turpināt.

16. Nākamajā solī jums jāatjaunina Moodle vietnes administratora konts, atjauninot lietotājvārdu, paroli, vārdu, uzvārdu un e-pasta adresi. Pēc tam ritiniet lejup pa lapu un noklikšķiniet uz Atjaunināt profilu.

17. Pēc tam atjauniniet Moodle vietnes sākumlapas iestatījumus. Pēc tam ritiniet uz leju un noklikšķiniet uz Atjaunināt, lai sāktu izmantot savu Moodle vietni.

18. Pēc tam jums jāreģistrē sava vietne, izpildot ekrānā redzamos norādījumus. Varat doties uz informācijas paneli, noklikšķinot uz Informācijas panelis.

HTTPS pievieno jūsu vietnei pirmo drošības slāni, lai nodrošinātu drošu saziņu starp jūsu lietotājiem un Moodle lietojumprogrammu (īpaši ar NGINX tīmekļa serveri, kas saņem pieprasījumus un sniedz atbildes).

Varat vai nu iegādāties SSL/TLS sertifikātu no komerciālās SI, vai arī izmantot Let’s Encrypt, kas ir bezmaksas un atzīts visās mūsdienu tīmekļa pārlūkprogrammās. Šajā ceļvedī mēs izmantosim Let’s Encrypt.

19. Let’s Encrypt Certificate izvietošana tiek automātiski pārvaldīta, izmantojot certbot rīku. Certbot un citas nepieciešamās pakotnes var instalēt ar šādu komandu:

# dnf install certbot python3-certbot-nginx

20. Pēc tam izpildiet šo komandu, lai iegūtu Let’s Encrypt sertifikātu, un Certbot automātiski rediģējiet NGINX konfigurāciju, lai to apkalpotu (tā arī konfigurēs HTTP automātiski novirzīt uz HTTPS).

# certbot --nginx

21. Pēc tam palaidiet šādu komandu, lai iespējotu Let’s Encrypt SSL/TLS sertifikāta automātisku atjaunošanu:

# 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ēc tam atjauniniet savu Moodle konfigurāciju, lai sāktu izmantot HTTPS.

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

mainīt wwwroot URL no HTTP uz HTTPS:

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

23. Visbeidzot, bet ne mazāk svarīgi, apstipriniet, ka jūsu Moodle vietne tagad darbojas ar HTTPS.

Pagaidām tas ir viss! Lai iegūtu papildinformāciju un konfigurācijas iespējas, lai palaistu jauno mācību platformu, dodieties uz Moodle vietni un izlasiet oficiālo dokumentāciju.