Giunsa ang Pag-install sa Platform sa Pagkat-on sa Moodle sa Ubuntu 20.04


Ang Moodle mao ang pinakasikat, lig-on, libre, ug open-source nga online nga pagkat-on (e-learning) nga plataporma sa pagdumala sa kalibutan nga gihimo para sa web ug mobile. Nagtanyag kini og usa ka halapad nga mga kalihokan ug mga himan sa edukasyon nga makahimo sa mga eskwelahan, unibersidad, ug mga may kalabutan nga institusyon sa pagtanyag sa mga estudyante og usa ka flexible nga plataporma sa pagkat-on bisan unsang orasa, bisan asa, nga walay pagkabalda sa ilang kurso ug kurikulum.

Ang pipila sa mga kinatibuk-ang bahin niini naglakip sa usa ka moderno, sayon gamiton nga interface, personalized nga dashboard, collaborative nga mga himan ug mga kalihokan, all-in-one nga kalendaryo, sayon nga pagdumala sa file, yano nga intuitive text editor, mga pahibalo, ug pagsubay sa pag-uswag.

Importante, ang Moodle kay mapalapad usab kaayo gamit ang kapin sa usa ka libo nga mga plugins nga nagsuporta sa dugang nga mga kalihokan, block, tema, ug daghan pa.

Niini nga artikulo, makakat-on ka kung unsaon pag-install ang pinakabag-o nga bersyon sa Moodle Learning Platform nga adunay NGINX ug MySQL/MariaDB database sa Ubuntu 20.04 ug mas karaan nga mga bersyon.

  • Usa ka bag-ong na-install nga LEMP Stack nga na-install.

Kung na-install na nimo ang LEMP stack sa Ubuntu server, mahimo ka nga magpadayon sa pag-set up sa Moodle sa server sama sa gipatin-aw sa ubos.

Niini nga panid

  • Pag-set up sa DNS Record para sa Moodle Application
  • Pag-instalar sa Moodle sa Ubuntu Server
  • Pag-configure sa NGINX sa Pag-alagad sa Moodle Application
  • Pagkompleto sa Pag-instalar sa Moodle pinaagi sa Web Installer
  • Enable HTTPS sa Moodle Application Gamit ang Let's Encrypt

1. Para ma-access sa mga user ang imong Moodle instance kinahanglan ka nga maghimo ug subdomain para niini, busa, kinahanglan ka maghimo ug DNS A record para makab-ot kini. Alang sa kini nga giya, ang among pagsulay nga domain mao ang testprojects.me, busa kinahanglan namon nga maghimo usa ka subdomain, pananglitan, learning.testprojects.me.

Busa, pag-log in sa web console sa imong domain registrar ug pag-access sa advanced settings sa imong domain, i-klik ang Add New Record nga tipo A, ang host kinahanglan pagkat-on (o bisan unsang pulong nga imong gusto ), ug ang bili kinahanglan mao ang publikong IP address sa imong Ubuntu server.

2. Sunod, kinahanglan nimong i-install ang PHP extensions ug library nga gikinahanglan sa Moodle gamit ang apt package manager sama sa gipakita.

$ sudo apt update
$ sudo apt 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. Sunod, paghimo ug database para sa imong Moodle system. Pag-log in sa MySQL database administration shell ug paghimo sa database sama sa gipakita:

$ sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '[email ';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Sama sa gihisgutan sa sayo pa, alang niini nga giya, among i-download ug i-install ang pinakabag-o nga bersyon sa Moodle (bersyon 3.9 sa panahon sa pagsulat). Pagdalagan ang mosunod nga ls nga sugo aron sa pagkumpirma nga ang moodle directory anaa ubos sa /var/www/html/ sama sa gipakita.

$ wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
$ sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
$ ls /var/www/html/

5. Sunod, ibutang ang angay nga mga pagtugot sa direktoryo sa Moodle pinaagi sa pagpadagan sa mosunod nga mga sugo.

$ sudo chown www-data:www-data -R /var/www/html/moodle
$ sudo chmod 775 -R /var/www/html/moodle

6. Sunod, paghimo sa Moodle data directory, usa ka dapit diin ang Moodle makatipig sa gi-upload nga mga file ug magbutang sa mga permiso niini sama sa gipakita.

$ sudo mkdir -p /var/moodledata
$ sudo chmod 775 -R /var/moodledata
$ sudo chown www-data:www-data -R  /var/moodledata

7. Dayon paghimo sa Moodle main configuration file gikan sa sample configuration file nga gihatag uban sa package, ablihi kini.

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

Pangitaa ang database configuration section, unya i-configure ang database diin ang tanang data sa Moodle itago, sama sa gipakita sa mosunod nga screenshot:

$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    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = '[email ';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Usab, i-configure ang lokasyon sa website sa Moodle ingon man ang lokasyon sa direktoryo sa datos sa Moodle sama sa gipakita.

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

I-save ang pagsira sa file. Dayon i-configure ang NGINX sa pag-server sa imong Moodle site sama sa gihulagway sa sunod nga seksyon.

8. Para sa NGINX nga mag-server sa imong Moodle site, kinahanglan kang maghimo ug bag-ong server block configuration ubos sa NGINX configuration, sa directory /etc/nginx/conf.d/.

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

Kopyaha ug idikit ang mosunod nga configuration niini, ilisan ang learning.testprojects.me sa imong subdomain. Gawas pa, ang direktiba sa fastcgi_pass kinahanglan magpunting sa adres diin gidawat sa PHP-FPM ang mga hangyo sa FastCGI (susiha ang /etc/php/7.4/fpm/pool.d/www.conf file para sa dugang nga kasayuran) .

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           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

I-save ang file ug isira kini.

9. Sunod, pamatud-i nga ang NGINX configuration OK ra human sa paghimo sa mga kausaban sa ibabaw, unya nindot nga i-restart ang NGINX nga serbisyo.

$ sudo nginx -t
$ sudo systemctl reload nginx

10. Karon ablihi ang web browser ug navigate gamit ang imong subdomain, pananglitan, learning.testprojects.me aron ma-access ang Moodle web installer.

http://learning.testprojects.me

Sa higayon nga ma-load ang welcome page sa pagbasa sa mensahe i-klik ang Padayon.

11. Sunod, susihon sa installer kung nakab-ot ba sa imong sistema ang mga kinahanglanon, kung OK ra ang tanan, i-scroll down ug i-klik ang Continue aron masugdan ang aktuwal nga pag-install sa mga file ug pag-set up sa database schema.

Timan-i nga ang installer magpakita sa usa ka pasidaan mahitungod sa site nga wala nagdagan sa HTTPS, ibaliwala ang pasidaan sa pagkakaron. Sa kataposang seksyon, atong hisgotan kon unsaon pag-enable ang HTTPS sa Moodle gamit ang libre nga Let's Encrypt nga mga sertipiko.

Kung kompleto na ang pag-install, i-klik ang Padayon.

12. Sunod, i-configure ang account sa tagdumala sa imong Moodle site pinaagi sa paghimo sa account username, password, una nga ngalan ug apelyido, ug email address. Dayon i-scroll down ug i-klik ang Update Account.

13. Sunod, i-configure ang mga setting sa front page sa Moodle sama sa gipakita sa mosunod nga screenshot. Dayon i-scroll down ug i-klik ang Update.

14. Awtomatiko ka nga i-log in sa web installer sa bag-ong Moodle site. Mahimo nimong makompleto ang pagrehistro sa imong site pinaagi sa pagsunod sa mga panudlo sa screen.

15. Aron mapanalipdan ang imong Moodle site, kinahanglan nimo nga i-enable ang HTTPS. Alang niini nga giya, atong gamiton ang Let's Encrypt nga libre ug kasaligang SSL/TLS nga mga sertipiko. Ang laing bentaha sa paggamit sa Let's Encrypt mao nga kini awtomatiko.

Busa, balik sa imong terminal ug padagana ang mosunod nga sugo aron i-install ang certbot sa Ubuntu (usa ka libre, open-source nga himan alang sa awtomatik nga paggamit sa Let's Encrypt nga mga sertipiko aron mahimo ang HTTPS sa mga site nga gidumala sa mano-mano).

$ sudo snap install --classic certbot

16. Dayon i-issue ang mosunod nga sugo aron makakuha ug certificate ug ipa-edit sa Certbot ang imong NGINX configuration aron awtomatikong ma-configure ang bag-ong certificate.

$ sudo certbot --nginx

17. Sunod, balik sa Moodle site configuration file.

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

ug usba ang URL gikan sa HTTP ngadto sa HTTPS sama sa gipakita sa mosunod nga screenshot.

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

18. Sa kataposan, pamatud-i gikan sa browser nga ang imong Moodle site nagdagan na sa HTTPS.

https://learning.testprojects.me

Kana lang sa pagkakaron! Adto sa dokumentasyon sa Moodle 3.9 para sa dugang nga impormasyon, mga opsyon sa pag-configure, ug giya sa paggamit.