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.