Kif Tinstalla l-Pjattaforma ta' Tagħlim Moodle b'Nginx f'CentOS 8


Moodle hija l-aktar sistema ta’ ġestjoni tat-tagħlim popolari fid-dinja għall-bini ta’ siti robusti ta’ tagħlim onlajn. Hija tinkludi firxa ta 'attivitajiet u għodod edukattivi li tista' tagħżel minnhom, tappoġġja l-ġestjoni tal-valutazzjoni u tibgħat b'ċertifikati tad-dwana. Jippermetti wkoll komunikazzjoni mal-istudenti tiegħek f'ħin reali b'għodda qawwija ta' konferenza bil-vidjo. Barra minn hekk, huwa lest għall-mowbajl, sabiex l-istudenti tiegħek ikunu jistgħu jitgħallmu mill-apparat mobbli tagħhom.

  • Sistema Operattiva: installazzjoni minima ta' stack LEMP installat.
  • Ispazju tad-Disk: 200MB għall-Moodle, u 5GB huwa probabbilment minimu realistiku ta' ħażna ta' kontenut.
  • Proċessur: 1GHz (min), 2GHz dual-core jew aktar rakkomandat.
  • Memorja: 512MB (min), 1GB jew aktar hija rakkomandata. 8GB plus huwa probabbli fuq server ta 'produzzjoni kbir.

Fuq din il-paġna

  • Ħolqien ta' Rekord DNS ta' Dominju għall-Websajt Moodle
  • Installazzjoni ta' Moodle Learning Platform f'CentOS 8 Server
  • Konfigurazzjoni ta' NGINX biex Iservi l-Websajt Moodle
  • Imla l-Installazzjoni ta' Moodle permezz ta' Web Installer
  • Ippermetti HTTPS fuq is-sit Moodle billi tuża Let's Encrypt

1. Ibda billi toħloq sottodominju li l-utenti se jużaw biex jaċċessaw is-sit tat-tagħlim onlajn tal-Moodle. Pereżempju, jekk l-isem tad-dominju tiegħek huwa testprojects.me, tista' toħloq sottodominju msejjaħ learning.testprojects.me.

Iftaħ is-settings avvanzati tad-DNS tal-isem tad-dominju tiegħek u żid rekord A kif muri fl-immaġni li ġejja.

2. Qabel ma tinstalla Moodle, kun żgur li għandek l-estensjonijiet PHP meħtieġa fuq is-server tiegħek, tista 'tħaddem il-kmand li ġej biex tinstallahom:

# 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. Sussegwentement, oħloq database għall-applikazzjoni Moodle kif ġej.

# mysql -u root -p

Imbagħad toħloq id-database, l-utent tad-database u toħloq password sigura għall-użu.

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. Issa niżżel l-aħħar verżjoni ta 'Moodle (3.9 fil-ħin tal-kitba) mill-websajt uffiċjali tal-proġett moodle, iġbed il-fajl tal-arkivju u mexxih fil-webroot tiegħek (/var/www/html/) direttorju, imbagħad issettja l-permessi u s-sjieda xierqa biex jippermettu lill-webserver aċċess għad-direttorju Moodle, kif ġej.

# 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. Sussegwentement, oħloq id-direttorju moodledata li huwa l-post tal-fajls li jittellgħu jew jinħolqu mill-interface tal-Moodle, imbagħad tassenja l-permessi u s-sjieda xierqa biex tippermetti lill-webserver jaqra u jikteb aċċess għalih:

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

6. Sussegwentement, imxi fid-direttorju tal-installazzjoni Moodle u oħloq fajl config.php mill-kampjun tal-fajl config.dist.php ipprovdut, imbagħad iftaħ għall-editjar biex tikkonfigura xi wħud. settings ewlenin għall-pjattaforma Moodle tiegħek, bħall-parametri tal-konnessjoni tad-database u l-post tas-sit u fejn tista' ssib id-direttorju moodledata:

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

Issettja t-tip korrett tad-database, il-host tad-database korrett, l-isem tad-database, u l-utent tad-database u l-password tal-utent.

$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. Issettja wkoll il-URL użat biex taċċessa l-Moodle sit tiegħek, dan jispeċifika l-post tal-wwwroot fejn jinsabu l-fajls tal-web tal-Moodle tiegħek, u wkoll id-dataroot (id-direttorju moodledata):

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

8. F'din it-taqsima, għandek bżonn tikkonfigura NGINX biex isservi l-applikazzjoni Moodle tiegħek. Ikollok bżonn toħloq blokk tas-server għaliha fil-konfigurazzjoni NGINX kif muri.

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

Ikkopja u waħħal il-konfigurazzjoni li ġejja fil-fajl tal-konfigurazzjoni tal-blokk tas-server. Ibdel l-isem tas-server bl-isem tas-subdominju tiegħek maħluq hawn fuq, u l-fastcgi_pass għandu jindika php-fpm (innota li fuq CentOS 8, PHP-FPM jaċċetta talbiet FastCGI billi juża l-indirizz definit fil-/etc/nginx/conf.d/php- fpm.conf konfigurazzjoni).

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

Issejvja l-fajl u agħlaqha.

9. Imbagħad iċċekkja l-konfigurazzjoni NGINX għall-korrettezza, jekk hija Ok, ibda mill-ġdid is-servizzi nginx u php-fpm biex tapplika l-bidliet riċenti:

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

10. Jekk għandek SELinux attivat fis-sistema tiegħek, imbagħad mexxi l-kmandi li ġejjin biex tissettja l-kuntest korrett għall-aċċess għall-fajls tal-web Moodle fuq is-server:

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

11. Barra minn hekk, kun żgur li s-servizzi HTTP u HTTPS huma miftuħa fil-firewall biex jippermettu t-traffiku lejn is-server tal-web NGINX:

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

12. Biex taċċessa l-installatur tal-web Moodle, iftaħ il-brawżer tal-web tiegħek, u naviga billi tuża s-sottodominju li ħloqt hawn fuq:

http://learning.testprojects.me

Ladarba l-paġna ta’ merħba titgħabba aqra t-termini, u l-kundizzjonijiet u kklikkja Kompli.

13. Sussegwentement, l-installatur tal-web jiċċekkja jekk is-sistema tiegħek tissodisfax ir-rekwiżiti għat-tħaddim ta' sit Moodle tal-verżjoni speċifikata. Tista' tiskrollja 'l isfel biex tara aktar informazzjoni.

14. L-installatur se jilmenta dwar li HTTPS ma jkunx attivat, jinjora dak l-iżball għalissa (fit-taqsima li jmiss, se nuru kif nippermettu HTTPS fuq Moodle), u kklikkja Kompli, biex tibda l-installazzjoni attwali tal-fajls tal-web.

15. Issa l-installatur se jibda l-installazzjoni attwali tal-fajls Moodle kif muri fil-screenshot li ġej. Ladarba tkun lesta, ikklikkja Kompli.

16. Fil-pass li jmiss, għandek bżonn taġġorna l-kont tal-amministratur tas-sit Moodle tiegħek billi taġġorna l-isem tal-utent, il-password, l-isem u l-kunjom, u l-indirizz tal-email. Imbagħad iscrollja l-paġna u kklikkja Aġġorna l-Profil.

17. Imbagħad aġġorna s-settings tal-paġna ta’ quddiem tas-sit Moodle. Imbagħad iscrollja 'l isfel u kklikkja Aġġorna biex tibda tuża s-sit Moodle tiegħek.

18. Sussegwentement, għandek bżonn tirreġistra s-sit tiegħek billi ssegwi l-istruzzjonijiet fuq l-iskrin. Tista' tmur fid-dashboard billi tikklikkja fuq id-Dashboard.

HTTPS iżid l-ewwel saff ta’ sigurtà mas-sit tiegħek biex jippermetti komunikazzjonijiet siguri bejn l-utenti tiegħek u l-applikazzjoni Moodle (speċjalment is-server tal-web NGINX li jirċievi talbiet u jagħti tweġibiet).

Tista 'jew tixtri ċertifikat SSL/TLS minn CA kummerċjali jew tuża Let's Encrypt li hija b'xejn u rikonoxxuta mill-web browsers moderni kollha. Għal din il-gwida, se nużaw Let's Encrypt.

19. L-iskjerament taċ-Ċertifikat Let's Encrypt huwa ġestit awtomatikament bl-użu tal-għodda certbot. Tista 'tinstalla certbot u pakketti oħra meħtieġa bil-kmand li ġej:

# dnf install certbot python3-certbot-nginx

20. Imbagħad mexxi l-kmand li ġej biex tikseb ċertifikat Let's Encrypt u qabbad lil Certbot jeditja l-konfigurazzjoni NGINX tiegħek awtomatikament biex iserviha (se kkonfigura wkoll HTTP biex jiġi ridirett awtomatikament għal HTTPS).

# certbot --nginx

21. Imbagħad mexxi l-kmand li ġej biex tippermetti t-tiġdid awtomatiku taċ-ċertifikat Let's Encrypt SSL/TLS:

# 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. Sussegwentement, aġġorna l-konfigurazzjoni tal-Moodle tiegħek biex tibda tuża HTTPS.

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

ibdel il-URL wwwroot minn HTTP għal HTTPS:

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

23. Fl-aħħar iżda mhux l-inqas, ikkonferma li s-sit Moodle  tiegħek issa qed jaħdem fuq HTTPS.

Dak hu għalissa! Għal aktar informazzjoni u għażliet ta’ konfigurazzjoni biex tħaddem il-pjattaforma ta’ tagħlim il-ġdida tiegħek, mur fil-websajt tal-Moodle, u aqra d-dokumentazzjoni uffiċjali.