linux sysadmin installs moodle lms on ubuntu server

Πώς να εγκαταστήσετε το Moodle στον διακομιστή Ubuntu 22.04 | 20.04

Moodle is one of the best learning management systems available. It’s an open software, released under the open source ‘GNU General Public License’ which makes it highly flexible and customizable. In this guide you will learn how to install Moodle on Ubuntu server 20.04/22.04.

We are installing Moodle on a brand new, clean Ubuntu server with no software or data on it. If your server has data on it - make data backup first. Author is not responsible for possible data loss.

Πριν Ξεκινήσετε

Ρίξτε μια ματιά στο δικό μας υπηρεσία φιλοξενίας για το Moodle κοινοτική έκδοση. Μπορείτε να αρχίσετε να χρησιμοποιείτε το LMS χωρίς να χρειάζεται να το εγκαταστήσετε!

Προαπαιτήσεις

  • Εγκαταστήστε α Διακομιστής VPS με το Ubuntu 22.04 σε αυτό
  • Αποκτήστε ένα πλήρως πιστοποιημένο όνομα τομέα pointing to your server’s IP address, such as “moodle.example.org”

Για παραδείγματα σε αυτόν τον οδηγό θα χρησιμοποιήσουμε τομέα moodle.example.org, αλλάξτε το στο δικό σας όνομα τομέα.

Προετοιμασία διακομιστή Ubuntu για εγκατάσταση Moodle

Ενημερώστε το σύστημα

First thing first – updating the system. To get started connect to your server via SSH. Then run “apt update” and “apt upgrade” commands to update system packages to the latest version.

$ sudo apt update && apt upgrade -y

executing apt update and apt upgrade commands to update Ubuntu server before proceed to moodle installation

Εγκαταστήστε τον διακομιστή Apache, PHP-8.1, MariaDB MySQL

Επόμενη εγκατάσταση εξαρτήσεων Moodle. Πρέπει να εγκαταστήσουμε διακομιστή ιστού Apache, PHP 8.1, διακομιστή MariaDB SQL, διακομιστή αλληλογραφίας και μια λίστα με επεκτάσεις PHP που απαιτούνται από το Moodle.

$ sudo apt install apache2 php8.1 mariadb-server postfix 
$ sudo apt install php8.1-mysql php8.1-fpm php8.1-iconv php8.1-mbstring php8.1-curl php8.1-tokenizer php8.1-xmlrpc php8.1-soap php8.1-ctype php8.1-zip php8.1-gd php8.1-simplexml php8.1-xml php8.1-intl

Όταν ολοκληρωθεί η εγκατάσταση, ξεκινήστε τον διακομιστή web apache.

$ sudo systemctl start apache2 
$ sudo systemctl enable apache2

Διαμορφώστε το Apache VirtualHost και το PHP-FPM

Θα τρέχουμε το Moodle 4.2 σε Apache και PHP-FPM. Στο επόμενο βήμα θα διαμορφώσουμε το PHP-FPM για Apache.

1. Ξεκινήστε την υπηρεσία PHP-FPM και ενεργοποιήστε την κατά την εκκίνηση.

$ sudo systemctl start php8.1-fpm
$ sudo systemctl enable php8.1-fpm

2. Για να χρησιμοποιήσουμε το PHP-FPM με τον Apache πρέπει να ενεργοποιήσουμε τις λειτουργικές μονάδες proxy_fcgi και proxy.

sudo a2enmod proxy_fcgi proxy

3. Δημιουργήστε αρχείο διαμόρφωσης Apache για το Moodle.

$ sudo nano /etc/apache2/sites-available/moodle.conf

Εισαγάγετε την ακόλουθη διαμόρφωση στο moodle.conf. Αντικαταστήστε Όνομα διακομιστή, DocumentRoot, Κατάλογος με τις αξίες σου.

<VirtualHost *:80>
ServerName moodle.example.org
ServerAlias www.moodle.example.org
DocumentRoot /home/moodle/public_html

<Directory /home/moodle/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>

<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Αποθηκεύστε και κλείστε το αρχείο με CTRL X, μετά Y και μετά Enter.

4. Ενεργοποιήστε τον νέο εικονικό κεντρικό υπολογιστή και φορτώστε ξανά τον διακομιστή ιστού Apache.

$ a2ensite moodle
$ systemctl reload apache2

5. Also it’s nice to have a rewrite and SSL modules enabled

# a2enmod rewrite
# a2enmod ssl
# systemctl restart apache2

Δημιουργία βάσης δεδομένων και χρήστη βάσης δεδομένων

1. Εκκινήστε και ενεργοποιήστε τον διακομιστή MariaDB SQL

root@moodle-lms-install:~# systemctl start mariadb 
root@moodle-lms-install:~# systemctl enable mariadb

2. Δημιουργία χρήστη και βάσης δεδομένων MySQL

root@moodle-lms-install:~# mysql
MariaDB [(none)]> create database moodle_dev;
MariaDB [(none)]> grant all privileges on moodle_dev.* to moodle_user@localhost identified by 'Change_to_Strong_SQL_Password';
MariaDB [(none)]> flush privileges;

Αφού έχουμε ρυθμίσει το Apache, την PHP και τη MySQL, μπορούμε να προχωρήσουμε στην εγκατάσταση κώδικα moodle.

Εγκαταστήστε τον κώδικα του Moodle

1. Δημιουργήστε έναν οικιακό κατάλογο για τον ιστότοπο Moodle και τον δημόσιο κατάλογο

$ useradd --create-home -s /bin/sh moodle
$ mkdir -p /home/moodle/public_html
$ chmod 711 /home/moodle

2. Κατεβάστε τον πιο πρόσφατο κώδικα του Moodle και εξαγάγετε τον στον δημόσιο κατάλογο.

Μπορείτε να κατεβάσετε το πιο πρόσφατο moodle από https://download.moodle.org/releases/latest/. Get the code and upload it into the public directory. In our case the directory is “/home/moodle/public_html”

Εκτελέστε την εγκατάσταση στο πρόγραμμα περιήγησης

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

1. Open your browser and navigate to your Moodle’s site domain/sub-domain. You should see Moodle Installation page.

2. Choose website’s language. We will keep English.

choosing a language of moodle during installation
επιλέγοντας μια γλώσσα του moodle κατά την εγκατάσταση

 

3. Επιβεβαιώστε τις διαδρομές

Στο επόμενο βήμα επιβεβαιώστε ότι η διεύθυνση web, ο κατάλογος του moodle και ο κατάλογος δεδομένων είναι σωστά. Ο κατάλογος δεδομένων έλειπε στην εγκατάστασή μας, οπότε τον δημιουργήσαμε σε αυτό το βήμα.

# mkdir /home/moodle/moodledata
# chown www-data:www-data /home/moodle/moodledata

confirm web address, moodle directory, data directory

4. Επιλέξτε έναν διακομιστή βάσης δεδομένων

Χρησιμοποιούμε το MariaDB για αυτόν τον οδηγό. Επιλέξτε MariaDB από το αναπτυσσόμενο μενού.

choose MariaDB from dropdown

5. Εισαγάγετε τις ρυθμίσεις της βάσης δεδομένων

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

input database settings

6. Δημιουργήστε αρχείο config.php

After entering database settings and clicking “Next” a config.php file will be generated. Copy content of the file and create “config.php” in the root moodle directory (/home/moodle/public_html in this example).

7. Αποδοχή άδειας χρήσης

Πρέπει να διαβάσετε και να αποδεχτείτε τη συμφωνία άδειας χρήσης του Moodle σε αυτό το βήμα.

8. Περάστε τους ελέγχους διακομιστή

Most of the checks passed in our installation. We only had to change “max_input_vars” from its default value to 5000.

$ nano /etc/php/8.1/fpm/php.ini
$ systemctl reload php8.1-fpm

fix max_input_vars error during moodle installation

9. Διαμορφώστε τον κύριο λογαριασμό διαχειριστή σας

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

10. Εισαγάγετε τις ρυθμίσεις αρχικής τοποθεσίας

Διαμορφώστε το όνομα τοποθεσίας, το σύντομο όνομα για τον ιστότοπο, τη σύνοψη αρχικής τοποθεσίας τοποθεσίας και άλλες πληροφορίες.

 

configure moodle site settings

Δημιουργήστε το πρώτο σας μάθημα!

After few final clicks you will see the LMS dashboard and Calendar. Proceed to “My Courses” tab and create your first Moodle course! Well done!

my courses tab in fresh installed moodle site