Προαπαιτούμενα
Βήμα 1: Ενημερώστε το σύστημα
Βήμα 2: Εγκαταστήστε το Apache 2.4.x
Βήμα 3: Εγκαταστήστε το MariaDB 10.2.x
Βήμα 4: Εγκαταστήστε την PHP 7.1 και τις απαραίτητες επεκτάσεις PHP 7.1
Βήμα 5: Εγκαταστήστε το Moodle 3.3.2+
Το Moodle είναι μια πλατφόρμα εκμάθησης ανοιχτού κώδικα ή σύστημα διαχείρισης μαθημάτων (CMS) - ένα δωρεάν πακέτο λογισμικού ανοιχτού κώδικα που έχει σχεδιαστεί για να βοηθά τους εκπαιδευτικούς να δημιουργούν αποτελεσματικά διαδικτυακά μαθήματα.
Αυτό το σεμινάριο θα καλύψει τη διαδικασία εγκατάστασης της πιο πρόσφατης σταθερής έκδοσης του Moodle, Moodle 3.3.2+, σε διακομιστή CentOS 7.
Προαπαιτούμενα
- Μια παρουσία διακομιστή CentOS 7 x64 με τουλάχιστον 2 GB μνήμης RAM (συνιστάται 4 GB ή περισσότερο).
- Ένας χρήστης sudo .
- Το αποθετήριο EPEL yum.
Βήμα 1: Ενημερώστε το σύστημα
Συνδεθείτε στον διακομιστή σας μέσω SSH χρησιμοποιώντας τον χρήστη sudo για εγκατάσταση epel, ενημέρωση του συστήματος και επανεκκίνηση για εφαρμογή των ενημερώσεων.
sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now
Βήμα 2: Εγκαταστήστε το Apache 2.4.x
sudo yum install httpd -y
Κατά την παραγωγή, θα πρέπει να αφαιρέσετε την προκαθορισμένη σελίδα καλωσορίσματος Apache:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Αποτρέψτε τον Apache να καταχωρεί αρχεία καταλόγου Ιστού στους επισκέπτες:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Ξεκινήστε την υπηρεσία Apache και ενεργοποιήστε την αυτόματη εκκίνηση κατά την εκκίνηση
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Βήμα 3: Εγκαταστήστε το MariaDB 10.2.x
Το Moodle αποθηκεύει όλα τα δεδομένα του σε μια βάση δεδομένων MySQL. Το MariaDB είναι μια αναπτυσσόμενη αντικατάσταση της MySQL και θα εγκαταστήσουμε την πιο πρόσφατη σταθερή έκδοση, τη MariaDB 10.2.x.
3.1 Εγκαταστήστε και ξεκινήστε το MariaDB 10.2.x
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
3.2 Ασφαλίστε την εγκατάσταση του MariaDB
sudo /usr/bin/mysql_secure_installation
Απαντήστε στις ερωτήσεις όπως παρακάτω και βεβαιωθείτε ότι χρησιμοποιείτε έναν ισχυρό κωδικό root MariaDB αντί για το δείγμα που εμφανίζεται παρακάτω:
- Εισαγάγετε τον τρέχοντα κωδικό πρόσβασης για το root (εισαγωγή για κανένα): Απλώς πατήστε το
Enterκουμπί
- Ορισμός κωδικού πρόσβασης root; [Ε/Δ]:
Y
- Νέος Κωδικός:
your-root-password
- Εισαγάγετε ξανά νέο κωδικό πρόσβασης:
your-root-password
- Κατάργηση ανώνυμων χρηστών; [Ε/Δ]:
Y
- Να μην επιτρέπεται η απομακρυσμένη σύνδεση root; [Ε/Δ]:
Y
- Κατάργηση δοκιμαστικής βάσης δεδομένων και πρόσβαση σε αυτήν; [Ε/Δ]:
Y
- Επαναφόρτωση πινάκων προνομίων τώρα; [Ε/Δ]:
Y
3.3 Δημιουργήστε μια βάση δεδομένων MariaDB για το Moodle
Συνδεθείτε στο κέλυφος της MySQL ως root:
mysql -u root -p
Πληκτρολογήστε τον κωδικό πρόσβασης root MariaDB που ορίσατε νωρίτερα όταν σας ζητηθεί.
Στο κέλυφος της MySQL, δημιουργήστε μια βάση δεδομένων moodle, έναν χρήστη βάσης δεδομένων moodleuser, τον κωδικό πρόσβασης χρήστη της βάσης δεδομένων yourpasswordως εξής.
Σημείωση: Για λόγους ασφαλείας, θα πρέπει να αντικαταστήσετε το δείγμα κωδικού πρόσβασης που yourpasswordαναφέρεται παραπάνω με το δικό σας.
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Βήμα 4: Εγκαταστήστε την PHP 7.1 και τις απαραίτητες επεκτάσεις PHP 7.1
Η PHP απαιτείται επίσης από το Moodle. Για να επιτύχετε καλύτερη απόδοση, μπορείτε να εγκαταστήσετε την PHP 7.1 και πολλές επεκτάσεις PHP 7.1 ως εξής:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-mbstring php71w-xmlrpc php71w-soap php71w-gd php71w-xml php71w-intl php71w-mysqlnd php71w-cli php71w-mcrypt php71w-ldap -y
Βήμα 5: Εγκαταστήστε το Moodle 3.3.2+
5.1 Προετοιμάστε τα αρχεία προγράμματος Moodle
Τη στιγμή της γραφής, η τελευταία σταθερή κυκλοφορία του Moodle είναι Moodle 3.3.2+. Κατεβάστε και αποσυμπιέστε το Moodle 3.3.2+αρχείο ως εξής:
Σημείωση: Μπορείτε πάντα να λάβετε τη διεύθυνση URL λήψης της τελευταίας σταθερής έκδοσης του Moodle από την επίσημη σελίδα λήψης του .
cd
yum install -y wget
wget https://download.moodle.org/download.php/direct/stable33/moodle-latest-33.tgz
sudo tar -zxvf moodle-latest-33.tgz -C /var/www/html
sudo chown -R root:root /var/www/html/moodle
5.2 Ρυθμίστε έναν αποκλειστικό κατάλογο δεδομένων για το Moodle
Για λόγους ασφαλείας, αυτός ο κατάλογος δεδομένων πρέπει να βρίσκεται εκτός του ριζικού καταλόγου ιστού:
sudo mkdir /var/moodledata
sudo chown -R apache:apache /var/moodledata
sudo chmod -R 755 /var/moodledata
5.3 Ρυθμίστε έναν εικονικό κεντρικό υπολογιστή για το Moodle
Σημείωση: Θυμηθείτε να αντικαταστήσετε τις τιμές των ServerAdmin, ServerName, ServerAlias, Errorlog, και CustomLogμε τις δικές σας.
cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/moodle/
ServerName moodle.example.com
ServerAlias www.moodle.example.com
<Directory /var/www/html/moodle/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/moodle.example.com-error_log
CustomLog /var/log/httpd/moodle.example.com-access_log common
</VirtualHost>
EOF
5.4 Ρύθμιση του SELinux
Στην παρουσία διακομιστή Vultr CentOS 7 που χρησιμοποιώ, το SELinux είναι απενεργοποιημένο από προεπιλογή. Είναι μια μάλλον λιγότερο ασφαλής αλλά ευκολότερη πολιτική ασφάλειας. Εάν βρίσκεστε στην ίδια κατάσταση και θέλετε να το διατηρήσετε έτσι, απλώς αγνοήστε τις οδηγίες σε αυτήν την ενότητα και μεταβείτε στην επόμενη ενότητα.
Εάν χρησιμοποιείτε μια παρουσία διακομιστή με ενεργοποιημένο το SELinux στη λειτουργία επιβολής, πρέπει να ρυθμίσετε το SELinux ως εξής.
Εμφάνιση της κατάστασης του SELinux:
sestatus
Σε μια νέα παρουσία διακομιστή CentOS 7 Minimal x64 1708, η έξοδος είναι:
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
Εγκαταστήστε τα απαραίτητα εργαλεία διαχείρισης SELinux:
sudo yum install -y policycoreutils policycoreutils-python
Ρυθμίστε τα περιβάλλοντα SELinux των αρχείων Moodle ως εξής:
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/moodle(/.*)?'
sudo restorecon -Rv '/var/www/html/moodle/'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/moodledata(/.*)?'
sudo restorecon -Rv '/var/moodledata/'
5.5 Εγκαταστήστε το Moodle από το CLI
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php
Όταν σας ζητηθεί, παρέχετε τις απαραίτητες πληροφορίες σύμφωνα με τις συγκεκριμένες ρυθμίσεις της ρύθμισής σας. Οι συνοπτικές πληροφορίες παρατίθενται παρακάτω:
== Choose a language ==
en - English (en)
? - Available language packs
type value, press Enter to use default value (en)
: en
-------------------------------------------------------------------------------
== Data directories permission ==
type value, press Enter to use default value (2777)
: 2777
-------------------------------------------------------------------------------
== Web address ==
type value
: http://203.0.113.1
-------------------------------------------------------------------------------
== Data directory ==
type value, press Enter to use default value (/var/www/html/moodledata)
: /var/moodledata
-------------------------------------------------------------------------------
== Choose database driver ==
mysqli
mariadb
type value, press Enter to use default value (mysqli)
: mariadb
-------------------------------------------------------------------------------
== Database host ==
type value, press Enter to use default value (localhost)
: localhost
-------------------------------------------------------------------------------
== Database name ==
type value, press Enter to use default value (moodle)
: moodle
-------------------------------------------------------------------------------
== Tables prefix ==
type value, press Enter to use default value (mdl_)
: mdl_
-------------------------------------------------------------------------------
== Database port ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Unix socket ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Database user ==
type value, press Enter to use default value (root)
: moodleuser
-------------------------------------------------------------------------------
== Database password ==
type value
: yourpassword
-------------------------------------------------------------------------------
== Full site name ==
type value
: My Moodle Site
-------------------------------------------------------------------------------
== Short name for site (eg single word) ==
type value
: moodle
-------------------------------------------------------------------------------
== Admin account username ==
type value, press Enter to use default value (admin)
: admin
-------------------------------------------------------------------------------
== New admin user password ==
type value
: your-admin-password
-------------------------------------------------------------------------------
== New admin user email address ==
type value, press Enter to use default value ()
: admin@example.com
-------------------------------------------------------------------------------
== Upgrade key (leave empty to not set it) ==
type value
:
-------------------------------------------------------------------------------
Have you read these conditions and understood them?
type y (means yes) or n (means no)
: y
5.6 Τροποποίηση αδειών σε /var/www/html/config.php
Μετά την επιτυχή εγκατάσταση του Moodle, πρέπει να επιτρέψετε στον apacheχρήστη να διαβάσει τις διαμορφώσεις του Moodle τροποποιώντας τα δικαιώματα /var/www/html/config.phpως εξής:
sudo chmod o+r /var/www/html/moodle/config.php
5.7 Ρυθμίστε μια εργασία cron
Επιπλέον, πρέπει να ρυθμίσετε μια εργασία cron για να διατηρήσετε τη σωστή λειτουργία του Moodle:
sudo crontab -u apache -e
Συμπληρώστε το αρχείο cron με:
* * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null
Αποθήκευση και έξοδος:
:wq!
5.8 Κάντε επανεκκίνηση του Apache
Κάντε επανεκκίνηση του Apache για να εφαρμόσετε όλες τις τροποποιήσεις σας:
sudo systemctl restart httpd.service
5.9 Τροποποιήστε τους κανόνες του τείχους προστασίας για να επιτρέψετε την πρόσβαση HTTP
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Τέλος, κατευθύνετε το πρόγραμμα περιήγησής σας για http://203.0.113.1να επισκεφθείτε τον ιστότοπο του Moodle. Χρησιμοποιήστε το όνομα χρήστη και τον κωδικό πρόσβασης του διαχειριστή που ρυθμίσατε νωρίτερα για να συνδεθείτε.
Αυτό ολοκληρώνει το σεμινάριο μας. Ευχαριστώ για την ανάγνωση.