Yadda ake Shigar da Kayan Koyo na Moodle tare da Nginx a cikin CentOS 8


Moodle ita ce mafi mashahuri tsarin kula da ilmantarwa na duniya don gina ingantattun rukunin koyo akan layi. Ya ƙunshi abubuwa da yawa na kayan aiki da kayan aikin ilimantarwa waɗanda zaku iya zaɓa daga, yana tallafawa gudanar da ƙididdiga da jiragen ruwa tare da takaddun shaida na al'ada. Hakanan yana ba da damar sadarwa tare da ɗaliban ku a cikin lokaci tare da kayan aikin bidiyo mai ƙarfi. Bayan haka, yana da shirye-shiryen wayar hannu, don ɗaliban ku zasu iya koya daga wayoyin su.

  • Tsarin aiki: ƙaramin shigarwa na shigar LEMP tari.
  • Sararin Disk: 200MB don Moodle, kuma 5GB wataƙila mafi ƙarancin ƙarancin adana abubuwan ciki.
  • Mai sarrafawa: 1GHz (min), 2GHz mai mahimmanci biyu ko ƙari mai bada shawara.
  • Memory: 512MB (min), 1GB ko sama da haka ana bada shawarar. 8GB da alama wataƙila akan babban sabar samarwa.

A wannan shafin

  • Creatirƙirar Rikodin DNS na Yanki don Yanar Gizo na Moodle
  • Shigar da Platform Learning Moodle a cikin CentOS 8 Server
  • Tattaunawa NGINX don Bautar Yanar Gizo na Moodle
  • Kammala Girkawar Moodle ta Mai Saka Yanar Gizo
  • Enable HTTPS on Moodle Site Amfani da Bari Mu Encrypt

1. Fara ta ƙirƙirar ƙaramin yanki wanda masu amfani zasu yi amfani da shi don samun damar shafin koyo na yanar gizo na Moodle. Misali, idan sunan yankin ka testprojects.me , za ka iya ƙirƙirar wani yanki wanda ake kira learning.testprojects.me .

Bude saitunan yankinku na ci gaba na saitunan DNS kuma ƙara rikodin A kamar yadda aka nuna a hoto mai zuwa.

2. Kafin girka Moodle, ka tabbatar kana da abubuwanda ake bukata na PHP akan sabarka, zaka iya bin wadannan umarni dan girka su:

# 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. Na gaba, kirkirar rumbun adana bayanan aikace-aikacen Moodle kamar haka.

# mysql -u root -p

Sannan ƙirƙirar bayanan bayanai, mai amfani da bayanai da ƙirƙirar amintaccen kalmar sirri don amfani.

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. Yanzu zazzage sabon salo na Moodle (3.9 a lokacin rubutawa) daga gidan yanar gizon aikin moodle, cire fayil ɗin ajiyar kuma matsar dashi zuwa cikin gidan yanar gizonku (/var/www/html/) kundin adireshi, sa'annan saita izinin da ya dace da kuma mallaka don ba wa mai shiga yanar gizo damar shiga kundin adireshin Moodle, kamar haka.

# 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. Na gaba, ƙirƙirar kundin adireshin yanayi wanda shine wurin fayilolin da aka ɗora ko ƙirƙirar ta hanyar Moodle interface, sa'annan sanya izini masu dacewa da ikon mallaka don bawa webserver damar karantawa da rubuta damar zuwa gare shi:

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

6. Na gaba, matsawa cikin kundin shigarwa na Moodle kuma ƙirƙirar fayil config.php daga samfurin config.dist.php fayil ɗin da aka bayar, sannan buɗe shi don gyara don saita wasu mabuɗin saiti don dandalin Moodle, kamar sigogin haɗin bayanan bayanai da wurin shafin da kuma inda zai iya samun kundin adireshin yanayin:

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

Saita madaidaiciyar datbase, mai masaukin bayanai mai kyau, sunan bayanai, da mai amfani da bayanai da kalmar sirrin mai amfani.

$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. Hakanan saita URL da akayi amfani da shi don samun damar zama na Moodle, wannan yana nuna wurin da wwwroot yake inda fayilolin gidan yanar gizonku na Moodle suke, da ma bayanan bayanan (adireshin moodledata):

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

8. A wannan sashin, kuna buƙatar daidaita NGINX don yiwa Moodle aikace-aikacenku. Kuna buƙatar ƙirƙirar toshe sabar a cikin tsarin NGINX kamar yadda aka nuna.

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

Kwafa da liƙa daidaitaccen mai zuwa a cikin fayil ɗin sanyi na ƙirar sabar. Sauya sunan uwar garke tare da sunan subdomain din da aka kirkira a sama, kuma fastcgi_pass ya kamata ya nuna php-fpm (lura cewa a CentOS 8, PHP-FPM yana karɓar buƙatun FastCGI ta amfani da adreshin da aka bayyana a cikin /etc/nginx/conf.d/php- Fpm.conf sanyi).

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

Adana fayil ɗin kuma rufe shi.

9. Sannan bincika NGINX don daidaitawa, idan yayi Ok, sake kunna ayyukan nginx da php-fpm don amfani da canje-canjen kwanan nan:

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

10. Idan kun kunna SELinux a kan tsarinku, to, kunna waɗannan umarni don saita mahallin daidai don samun damar fayilolin gidan yanar gizo na Moodle akan sabar:

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

11. Bayan haka, tabbatar cewa ayyukan HTTP da HTTPS suna buɗe a cikin katangar don ba da damar zirga-zirga zuwa sabar yanar gizo ta NGINX:

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

12. Don samun damar shigarwa gidan yanar sadarwar Moodle, buɗe burauzar gidan yanar gizon ku, kuyi amfani da yankin da kuka ƙirƙira a sama:

http://learning.testprojects.me

Da zarar anbar lodin shafin maraba ta hanyar sharuɗɗa, da yanayin kuma latsa Ci gaba.

13. Na gaba, mai saka yanar gizo zai bincika ko tsarinku ya cika ƙa'idodi don gudanar da shafin Moodle na ƙayyadadden sigar. Zaka iya gungurawa ƙasa don duba ƙarin bayani.

14. Mai shigarwar zai yi korafi akan rashin kunna HTTPS, yayi watsi da wancan kuskuren a yanzu (a sashe na gaba, zamu nuna yadda za a kunna HTTPS akan Moodle), sai a danna Ci gaba, don fara ainihin shigarwar fayilolin yanar gizo.

15. Yanzu mai sakawa zai fara ainihin shigar da fayilolin Moodle kamar yadda aka nuna a cikin hoton da ke tafe. Da zarar an gama, danna Ci gaba.

16. A mataki na gaba, kuna buƙatar sabunta asusun mai kula da shafin ku na Moodle ta hanyar sabunta sunan mai amfani, kalmar wucewa, sunan farko, da sunan mahaifi, da adireshin imel. Sannan gungura ƙasa shafin ka danna Updateaukaka Profile.

17. Sannan sabunta saitunan Moodle shafin gaba-shafin. Sannan gungura ƙasa ka danna Updateaukaka don fara amfani da shafin Moodle naka.

18. Na gaba, kana buƙatar yin rijistar rukunin yanar gizonku ta bin umarnin kan allon. Kuna iya zuwa gaban dashboard ta danna kan Dashboard.

HTTPS yana ƙara layin tsaro na farko zuwa rukunin yanar gizonku don bawa amintaccen sadarwa tsakanin masu amfani da aikace-aikacen Moodle (musamman gidan yanar gizo na NGINX wanda ke karɓar buƙatu da kuma bayar da martani).

Kuna iya siyan takardar shaidar SSL/TLS daga CA na kasuwanci ko amfani da Let's Encrypt wanda yake kyauta ne kuma duk masanan yanar gizo na zamani sun gane shi. Don wannan jagorar, zamu yi amfani da Let Encrypt.

19. Gudanar da ƙaddamar da Takaddun shaida na Bari mu Encrypt ta atomatik ta amfani da kayan aikin certbot. Zaka iya shigar da certbot da sauran buƙatun da ake buƙata tare da umarnin mai zuwa:

# dnf install certbot python3-certbot-nginx

20. Sannan kayi amfani da umarni mai zuwa dan samun takardar shedar mai suna Let's Encrypt kuma ka sanya Certbot ka gyara NGINX dinka ta atomatik don yi mata hidima (shima zai daidaita HTTP din ta yadda za'a juya shi kai tsaye zuwa HTTPS).

# certbot --nginx

21. Sannan kayi amfani da wannan umarni don bawa damar sabuntawa ta atomatik na Let Let Encrypt SSL/TLS certificate:

# 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. Na gaba, sabunta sabuntawar Moodle ɗinka don fara amfani da HTTPS.

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

canza URL na wwwroot daga HTTP zuwa HTTPS:

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

23. Na ƙarshe amma ba mafi ƙaranci ba, tabbatar cewa rukunin yanar gizonku na Moodle yana aiki a kan HTTPS.

Wannan kenan a yanzu! Don ƙarin bayani da zaɓuɓɓukan daidaitawa don gudanar da sabon tsarin karatun ku, je gidan yanar gizon Moodle, kuma karanta takaddun hukuma.