Πώς να εγκαταστήσετε το Moodle Learning Platform στο Ubuntu 20.04


Το Moodle είναι η πιο δημοφιλής, ισχυρή, δωρεάν και ανοιχτού κώδικα διαδικτυακή πλατφόρμα διαχείρισης μάθησης (e-learning) στον κόσμο που έχει κατασκευαστεί για τον ιστό και τα κινητά. Προσφέρει ένα ευρύ φάσμα δραστηριοτήτων και εκπαιδευτικών εργαλείων που επιτρέπουν σε σχολεία, πανεπιστήμια και συναφή ιδρύματα να προσφέρουν στους μαθητές μια ευέλικτη πλατφόρμα μάθησης οποιαδήποτε στιγμή, οπουδήποτε, χωρίς διακοπή στο μάθημα και το πρόγραμμα σπουδών τους.

Μερικά από τα γενικά χαρακτηριστικά του περιλαμβάνουν μια σύγχρονη, εύχρηστη διεπαφή, εξατομικευμένο ταμπλό, συνεργατικά εργαλεία και δραστηριότητες, ημερολόγιο όλα σε ένα, βολική διαχείριση αρχείων, απλό διαισθητικό πρόγραμμα επεξεργασίας κειμένου, ειδοποιήσεις και παρακολούθηση προόδου.

Είναι σημαντικό ότι το Moodle είναι επίσης εξαιρετικά επεκτάσιμο χρησιμοποιώντας περισσότερες από χίλιες προσθήκες που υποστηρίζουν επιπλέον δραστηριότητες, μπλοκ, θέματα και πολλά άλλα.

Σε αυτό το άρθρο, θα μάθετε πώς να εγκαταστήσετε την πιο πρόσφατη έκδοση της Moodle Learning Platform με τη βάση δεδομένων NGINX και MySQL/MariaDB στο Ubuntu 20.04 και παλιότερες εκδόσεις.

Απαιτήσεις διακομιστή:

  • Ένας πρόσφατα εγκατεστημένος διακομιστής Ubuntu 20.04 με εγκατεστημένη στοίβα LEMP.

Αφού εγκαταστήσετε τη στοίβα LEMP στον διακομιστή Ubuntu, μπορείτε να προχωρήσετε περαιτέρω στη ρύθμιση του Moodle στον διακομιστή όπως εξηγείται παρακάτω.

Σε αυτήν την σελίδα

  • Ρύθμιση εγγραφής DNS για την εφαρμογή Moodle
  • Εγκατάσταση του Moodle στον διακομιστή Ubuntu
  • Διαμόρφωση του NGINX για να εξυπηρετεί την εφαρμογή Moodle
  • Ολοκλήρωση εγκατάστασης Moodle μέσω Web Installer
  • Ενεργοποιήστε το HTTPS στην εφαρμογή Moodle χρησιμοποιώντας το Let’s Encrypt

Ρύθμιση εγγραφής DNS για την εφαρμογή Moodle

1. Για να έχουν πρόσβαση οι χρήστες στην παρουσία σας Moodle, πρέπει να δημιουργήσετε έναν υποτομέα για αυτήν, επομένως, πρέπει να δημιουργήσετε ένα DNS A ρεκόρ για να το πετύχετε αυτό. Για αυτόν τον οδηγό, ο τομέας δοκιμής μας είναι testprojects.me, επομένως πρέπει να δημιουργήσουμε έναν υποτομέα, για παράδειγμα, learning.testprojects.me.

Επομένως, συνδεθείτε στην κονσόλα ιστού του καταχωρητή τομέα σας και αποκτήστε πρόσβαση στις σύνθετες ρυθμίσεις του τομέα σας, κάντε κλικ στην Προσθήκη νέας εγγραφής τύπου A, ένας κεντρικός υπολογιστής πρέπει να είναι learning (ή οποιαδήποτε λέξη της επιλογής σας), και η τιμή πρέπει να είναι η δημόσια διεύθυνση IP του διακομιστή σας Ubuntu.

Εγκατάσταση του Moodle στον διακομιστή Ubuntu

2. Στη συνέχεια, πρέπει να εγκαταστήσετε τις επεκτάσεις και τις βιβλιοθήκες PHP που απαιτούνται από το Moodle χρησιμοποιώντας τη διαχείριση πακέτων apt όπως φαίνεται.

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. Στη συνέχεια, δημιουργήστε μια βάση δεδομένων για το σύστημά σας Moodle. Συνδεθείτε στο κέλυφος διαχείρισης της βάσης δεδομένων MySQL και δημιουργήστε τη βάση δεδομένων όπως φαίνεται:

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 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Όπως αναφέρθηκε προηγουμένως, για αυτόν τον οδηγό, θα κατεβάσουμε και θα εγκαταστήσουμε την πιο πρόσφατη έκδοση Moodle (έκδοση 3.9 τη στιγμή της σύνταξης). Εκτελέστε την ακόλουθη εντολή wget για να πάρετε το πακέτο του Moodle και χρησιμοποιήστε την εντολή tar για να το εξαγάγετε αντίστοιχα. Στη συνέχεια, χρησιμοποιήστε την εντολή ls για να επιβεβαιώσετε ότι ο κατάλογος του moodle υπάρχει στο /var/www/html/ όπως φαίνεται.

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. Στη συνέχεια, ορίστε τα κατάλληλα δικαιώματα στον κατάλογο Moodle εκτελώντας τις ακόλουθες εντολές.

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

6. Στη συνέχεια, δημιουργήστε τον κατάλογο δεδομένα του Moodle, ένα μέρος όπου το Moodle μπορεί να αποθηκεύσει τα μεταφορτωμένα αρχεία και να ορίσει τα δικαιώματά του όπως φαίνεται.

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

7. Στη συνέχεια, δημιουργήστε το κύριο αρχείο διαμόρφωσης Moodle από το δείγμα αρχείου διαμόρφωσης που παρέχεται με το πακέτο και ανοίξτε το.

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

Αναζητήστε την ενότητα διαμόρφωσης βάσης δεδομένων και, στη συνέχεια, διαμορφώστε τη βάση δεδομένων όπου θα αποθηκεύονται όλα τα δεδομένα Moodle, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:

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

Επίσης, διαμορφώστε τη θέση του ιστότοπου του Moodle καθώς και τη θέση του καταλόγου δεδομένων του Moodle όπως φαίνεται.

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

Αποθηκεύστε το κλείσιμο του αρχείου. Στη συνέχεια, διαμορφώστε το NGINX για να εξυπηρετήσει τον ιστότοπό σας Moodle όπως περιγράφεται στην επόμενη ενότητα.

Διαμόρφωση του NGINX για να εξυπηρετεί την εφαρμογή Moodle

8. Για να εξυπηρετήσει το NGINX τον ιστότοπό σας Moodle, πρέπει να δημιουργήσετε μια νέα διαμόρφωση μπλοκ διακομιστή κάτω από τη διαμόρφωση NGINX, στον κατάλογο /etc/nginx/conf.d/.

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

Αντιγράψτε και επικολλήστε την ακόλουθη διαμόρφωση σε αυτό, αντικαταστήστε το learning.testprojects.me με τον υποτομέα σας. Επιπλέον, η οδηγία fastcgi_pass θα πρέπει να δείχνει τη διεύθυνση στην οποία η PHP-FPM δέχεται αιτήματα FastCGI (ελέγξτε το /etc/php/7.4/fpm/pool.d/www.conf αρχείο για περισσότερες πληροφορίες).

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

Αποθηκεύστε το αρχείο και κλείστε το.

9. Στη συνέχεια, βεβαιωθείτε ότι η διαμόρφωση NGINX είναι εντάξει αφού κάνετε τις παραπάνω αλλαγές και, στη συνέχεια, επανεκκινήστε με χάρη την υπηρεσία NGINX.

sudo nginx -t
sudo systemctl reload nginx

Ολοκλήρωση εγκατάστασης Moodle μέσω Web Installer

10. Τώρα ανοίξτε ένα πρόγραμμα περιήγησης ιστού και πλοηγηθείτε χρησιμοποιώντας τον υποτομέα σας, για παράδειγμα, learning.testprojects.me για να αποκτήσετε πρόσβαση στο πρόγραμμα εγκατάστασης ιστού Moodle.

http://learning.testprojects.me

Μόλις φορτωθεί η σελίδα καλωσορίσματος, διαβάστε το μήνυμα, κάντε κλικ στην επιλογή Συνέχεια.

11. Στη συνέχεια, το πρόγραμμα εγκατάστασης θα ελέγξει εάν το σύστημά σας πληροί τις απαιτήσεις. Εάν όλα είναι εντάξει, κάντε κύλιση προς τα κάτω και κάντε κλικ στο Συνέχεια για να ξεκινήσει η πραγματική εγκατάσταση των αρχείων και η ρύθμιση της βάσης δεδομένων σχήμα.

Λάβετε υπόψη ότι το πρόγραμμα εγκατάστασης θα εμφανίσει μια προειδοποίηση σχετικά με τον ιστότοπο που δεν εκτελείται σε HTTPS, αγνοήστε την προειδοποίηση προς το παρόν. Στην τελευταία ενότητα, θα καλύψουμε τον τρόπο ενεργοποίησης του HTTPS στο Moodle χρησιμοποιώντας δωρεάν πιστοποιητικά Let’s Encrypt.

Μόλις ολοκληρωθεί η εγκατάσταση, κάντε κλικ στο Συνέχεια.

12. Στη συνέχεια, διαμορφώστε τον λογαριασμό διαχειριστή του ιστότοπού σας στο Moodle δημιουργώντας το όνομα χρήστη, τον κωδικό πρόσβασης, το όνομα και το επώνυμο και τη διεύθυνση ηλεκτρονικού ταχυδρομείου του λογαριασμού. Στη συνέχεια, κάντε κύλιση προς τα κάτω και κάντε κλικ στην Ενημέρωση λογαριασμού.

13. Στη συνέχεια, διαμορφώστε τις ρυθμίσεις αρχικής σελίδας του ιστότοπου Moodle όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Στη συνέχεια, κάντε κύλιση προς τα κάτω και κάντε κλικ στην Ενημέρωση.

14. Το πρόγραμμα εγκατάστασης ιστού θα σας συνδέσει αυτόματα στον νέο ιστότοπο Moodle. Μπορείτε να ολοκληρώσετε την εγγραφή του ιστότοπού σας ακολουθώντας τις οδηγίες που εμφανίζονται στην οθόνη.

Ρύθμιση HTTPS σε εφαρμογή Moodle χρησιμοποιώντας Let’s Encrypt

15. Για να προστατεύσετε τον ιστότοπό σας Moodle, πρέπει να ενεργοποιήσετε το HTTPS. Για αυτόν τον οδηγό, θα χρησιμοποιήσουμε δωρεάν και αξιόπιστα πιστοποιητικά SSL/TLS Let’s Encrypt. Ένα άλλο πλεονέκτημα της χρήσης του Let’s Encrypt είναι ότι είναι αυτοματοποιημένο.

Επομένως, επιστρέψτε στο τερματικό σας και εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το certbot στο Ubuntu (ένα δωρεάν εργαλείο ανοιχτού κώδικα για αυτόματη χρήση πιστοποιητικών Let’s Encrypt για ενεργοποίηση του HTTPS σε ιστότοπους που διαχειρίζονται μη αυτόματα).

sudo snap install --classic certbot

16. Στη συνέχεια, δώστε την ακόλουθη εντολή για να λάβετε ένα πιστοποιητικό και ζητήστε από το Certbot να επεξεργαστεί τη διαμόρφωση του NGINX για να διαμορφώσει αυτόματα τις παραμέτρους του νέου πιστοποιητικού.

sudo certbot --nginx

17. Στη συνέχεια, επιστρέψτε στο αρχείο διαμόρφωσης ιστότοπου Moodle.

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

και αλλάξτε τη διεύθυνση URL από HTTP σε HTTPS όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

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

18. Τέλος, επαληθεύστε από το πρόγραμμα περιήγησης ότι ο ιστότοπός σας Moodle εκτελείται τώρα σε HTTPS.

https://learning.testprojects.me

Αυτα για τωρα! Μεταβείτε στην τεκμηρίωση του Moodle 3.9 για περισσότερες πληροφορίες, επιλογές διαμόρφωσης και οδηγό χρήσης.