Προαπαιτούμενα
Τροποποιήστε τους κανόνες του τείχους προστασίας UFW
Εγκαταστήστε το Apache 2.4
Εγκαταστήστε και ασφαλίστε τη σειρά MariaDB 10.3
Εγκαταστήστε τα απαιτούμενα πακέτα PHP 7.2
Εγκαταστήστε το Chamilo
Προετοιμάστε τα αρχεία Chamilo LMS
Βελτιώστε τις ρυθμίσεις PHP 7.2 για το Chamilo
Ρυθμίστε έναν εικονικό διακομιστή Apache για το Chamilo LMS
Ολοκληρώστε την εγκατάσταση σε ένα πρόγραμμα περιήγησης ιστού
Εκτελέστε μέτρα ασφαλείας μετά την εγκατάσταση
Το Chamilo είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης μάθησης (LMS) που χρησιμοποιείται ευρέως για διαδικτυακή εκπαίδευση και ομαδική συνεργασία σε όλο τον κόσμο.
Σε αυτό το άρθρο, θα σας δείξω πώς να αναπτύξετε την πιο πρόσφατη σταθερή έκδοση του Chamilo σε μια παρουσία διακομιστή Ubuntu 18.04 LTS.
Προαπαιτούμενα
- Συνιστάται στην παραγωγή μια νέα παρουσία διακομιστή Vultr Ubuntu 18.04 LTS x64 με επαρκή μνήμη, 8 GB ή περισσότερο. Ας πούμε ότι η διεύθυνση IPv4 του είναι
203.0.113.1.
- Ένας χρήστης sudo .
- Η παρουσία διακομιστή έχει ενημερωθεί στην πιο πρόσφατη σταθερή κατάσταση. Δείτε λεπτομέρειες εδώ .
- Ένας τομέας
chamilo.example.comπου υποδεικνύεται στην παρουσία διακομιστή που αναφέρεται παραπάνω.
Τροποποιήστε τους κανόνες του τείχους προστασίας UFW
Στην παραγωγή, πρέπει να τροποποιήσετε τους κανόνες του τείχους προστασίας UFW, προκειμένου να επιτρέπεται μόνο η εισερχόμενη κυκλοφορία TCP στις θύρες SSH, HTTP και HTTPS:
sudo ufw allow in ssh
sudo ufw allow in http
sudo ufw allow in https
sudo ufw enable
Εγκαταστήστε το Apache 2.4
Στο Ubuntu 18.04 LTS, μπορείτε να χρησιμοποιήσετε το APT για να εγκαταστήσετε την πιο πρόσφατη σταθερή έκδοση του Apache ως εξής:
sudo apt install -y apache2
Καταργήστε την προκαθορισμένη σελίδα καλωσορίσματος Apache:
sudo mv /var/www/html/index.html /var/www/html/index.html.old
Απαγορεύστε στον Apache να εκθέτει αρχεία και καταλόγους στον ριζικό κατάλογο ιστού, /var/www/html, στους επισκέπτες:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Ενεργοποιήστε τη λειτουργική μονάδα Apache Rewrite:
sudo a2enmod rewrite
Ξεκινήστε την υπηρεσία Apache και κάντε την αυτόματη εκκίνηση σε κάθε εκκίνηση συστήματος:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Εγκαταστήστε και ασφαλίστε τη σειρά MariaDB 10.3
Εγκαταστήστε την πιο πρόσφατη σταθερή έκδοση του MariaDB:
sudo apt install -y software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server
Κατά την εγκατάσταση, θα σας ζητηθεί να ορίσετε έναν νέο κωδικό πρόσβασης για τον rootχρήστη MariaDB . Για λόγους ασφαλείας, φροντίστε να εισαγάγετε έναν ισχυρό κωδικό πρόσβασης εδώ.
Ξεκινήστε την υπηρεσία MariaDB και κάντε την αυτόματη εκκίνηση σε κάθε εκκίνηση συστήματος:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Ασφαλής MariaDB:
sudo /usr/bin/mysql_secure_installation
Όταν σας ζητηθεί, απαντήστε σε κάθε ερώτηση στην οθόνη ως εξής:
Enter current password for root (enter for none): your-MariaDB-root-password
Change the root password? [Y/n]: n
Remove anonymous users? [Y/n]: y
Disallow root login remotely? [Y/n]: y
Remove test database and access to it? [Y/n]: y
Reload privilege tables now? [Y/n]: y
Εγκαταστήστε τα απαιτούμενα πακέτα PHP 7.2
Για να έχετε μεγαλύτερη απόδοση στον ιστότοπο Chamilo, συνιστάται να εγκαταστήσετε τα πιο πρόσφατα πακέτα PHP 7.2 αντί για παλαιού τύπου πακέτα PHP 5.x. Επί του παρόντος, μπορείτε να χρησιμοποιήσετε ένα αποθετήριο PPA τρίτου κατασκευαστή για να εγκαταστήσετε τα απαιτούμενα πακέτα PHP 7.2 ως εξής.
Εγκαταστήστε το ondrej/phpαποθετήριο PPA και, στη συνέχεια, ενημερώστε το σύστημα:
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
Εγκαταστήστε τα απαιτούμενα πακέτα PHP 7.2:
sudo apt install -y php7.2 php7.2-opcache php7.2-cli php7.2-curl php7.2-common php7.2-gd php7.2-intl php7.2-mbstring php7.2-mysql libapache2-mod-php7.2 php7.2-soap php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-ldap php-apcu-bc
Δημιουργήστε αντίγραφα ασφαλείας και επεξεργαστείτε το αρχείο διαμόρφωσης PHP με προσανατολισμό τον Apache:
sudo cp /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php/7.2/apache2/php.ini
Σημείωση: Όταν εργάζεστε στο δικό σας παράδειγμα διακομιστή, φροντίστε να αντικαταστήσετε την τιμή της ζώνης ώρας του παραδείγματος America/Los_Angelesμε τη δική σας. Μπορείτε να βρείτε όλες τις υποστηριζόμενες τιμές ζώνης ώρας εδώ .
Εγκαταστήστε το Chamilo
Έχοντας στη θέση του τη στοίβα LAMP, ήρθε η ώρα να αναπτύξετε το Chamilo LMS. Θα χρειαστεί να ρυθμίσετε μια ειδική βάση δεδομένων MariaDB για το Chamilo, να προετοιμάσετε αρχεία Chamilo LMS, να ρυθμίσετε με ακρίβεια τις ρυθμίσεις PHP 7.2, να ρυθμίσετε έναν εικονικό διακομιστή Apache, να ολοκληρώσετε την εγκατάσταση σε ένα πρόγραμμα περιήγησης Ιστού και να εκτελέσετε μέτρα ασφαλείας μετά την εγκατάσταση.
Συνδεθείτε στο κέλυφος MariaDB ως root:
mysql -u root -p
Στο κέλυφος MariaDB, εισαγάγετε τις ακόλουθες δηλώσεις:
CREATE DATABASE chamilo;
CREATE USER 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON chamilo.* TO 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Σημείωση: Για λόγους ασφαλείας, φροντίστε να αντικαταστήσετε το όνομα chamiloτης βάσης δεδομένων , το όνομα χρήστη της βάσης δεδομένων chamilouserκαι τον κωδικό πρόσβασης yourpasswordμε τα δικά σας.
Προετοιμάστε τα αρχεία Chamilo LMS
Κατεβάστε την τελευταία σταθερή έκδοση του Chamilo από το αποθετήριο Chamilo GitHub. Φροντίστε να επιλέξετε την έκδοση PHP 7.x:
cd
wget https://github.com/chamilo/chamilo-lms/releases/download/v1.11.8/chamilo-1.11.8-php7.tar.gz
Εξαγάγετε όλα τα αρχεία Chamilo στον /optκατάλογο:
sudo tar -zxvf chamilo-1.11.8-php7.tar.gz -C /opt
Για να διευκολύνετε την καθημερινή χρήση και τις πιθανές ενημερώσεις, δημιουργήστε έναν συμβολικό σύνδεσμο, ο οποίος δείχνει προς τον /opt/chamilo-1.11.8-php7κατάλογο, στον ριζικό κατάλογο ιστού του Apache /var/www/html:
sudo ln -s /opt/chamilo-1.11.8-php7 /var/www/html/chamilo
Τροποποιήστε την ιδιοκτησία όλων των αρχείων Chamilo στον www-dataχρήστη και την www-dataομάδα:
sudo chown -R www-data:www-data /opt/chamilo-1.11.8-php7
Βελτιώστε τις ρυθμίσεις PHP 7.2 για το Chamilo
Χρησιμοποιήστε το viπρόγραμμα επεξεργασίας για να ανοίξετε το ίδιο αρχείο διαμόρφωσης PHP που επεξεργαστήκαμε νωρίτερα:
sudo vi /etc/php/7.2/apache2/php.ini
Βρείτε τις παρακάτω γραμμές, αντίστοιχα:
session.cookie_httponly =
upload_max_filesize = 2M
post_max_size = 8M
Αντικαταστήστε τα με τα ακόλουθα:
session.cookie_httponly = 1
upload_max_filesize = 100M
post_max_size = 100M
Αποθήκευση και έξοδος:
:wq!
Ρυθμίστε έναν εικονικό διακομιστή Apache για το Chamilo LMS
Χρησιμοποιήστε τις ακόλουθες εντολές για να ρυθμίσετε έναν εικονικό κεντρικό υπολογιστή Apache για τον ιστότοπό σας Chamilo LMS:
cat <<EOF | sudo tee /etc/apache2/sites-available/chamilo.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/chamilo
ServerName chamilo.example.com
ServerAlias example.com
<Directory />
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/chamilo>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/chamilo.example.com-error_log
CustomLog /var/log/apache2/chamilo.example.com-access_log common
</VirtualHost>
EOF
Σημείωση: Φροντίστε να αντικαταστήσετε όλες τις εμφανίσεις του example.comμε τον πραγματικό σας τομέα.
Χρησιμοποιήστε έναν νέο συμβολικό σύνδεσμο για να αντικαταστήσετε το προεπιλεγμένο αρχείο συνδέσμου στον /etc/apache2/sites-enabledκατάλογο:
sudo rm /etc/apache2/sites-enabled/000-default.conf
sudo ln -s /etc/apache2/sites-available/chamilo.conf /etc/apache2/sites-enabled/
Επανεκκινήστε την υπηρεσία Apache για να τεθούν σε ισχύ όλες οι τροποποιήσεις σας:
sudo systemctl restart apache2.service
Ολοκληρώστε την εγκατάσταση σε ένα πρόγραμμα περιήγησης ιστού
Κατευθύνετε το αγαπημένο σας πρόγραμμα περιήγησης ιστού στο http://chamilo.example.com, και θα μεταφερθείτε στον οδηγό εγκατάστασης Chamilo. Κάντε κλικ στο Install Chamiloκουμπί για να προχωρήσετε. Η παρακάτω ενότητα θα σας καθοδηγήσει στη διαδικασία εγκατάστασης:
Step 1 - Installation Language: Επιλέξτε τη γλώσσα που θέλετε να χρησιμοποιήσετε, όπως English, και μετά κάντε κλικ στο Nextκουμπί.
Step 2 – Requirements: Βεβαιωθείτε ότι πληρούνται όλες οι υποχρεωτικές απαιτήσεις και, στη συνέχεια, κάντε κλικ στο New installationκουμπί.
Step 3 – Licence: Πρέπει να ελέγξετε την άδεια GNU General Public (GPL), να επιλέξετε το πλαίσιο ελέγχου δίπλα στην I agreeπρόταση, να συμπληρώσετε όλα τα πεδία πληροφοριών επικοινωνίας και, στη συνέχεια, να κάνετε κλικ στο Nextκουμπί για να προχωρήσετε.
Step 4 – MySQL database settings: Εισαγάγετε τα διαπιστευτήρια βάσης δεδομένων που ρυθμίσαμε νωρίτερα και, στη συνέχεια, κάντε κλικ στο Check database connectionκουμπί για να τα επαληθεύσετε. Κάντε κλικ στο Nextκουμπί για να προχωρήσετε.
Step 5 – Config settings: Φροντίστε να τροποποιήσετε τον προκαθορισμένο κωδικό πρόσβασης διαχειριστή, συμπληρώστε τα άλλα πεδία σύμφωνα με το επιχειρηματικό σας σχέδιο και, στη συνέχεια, κάντε κλικ στο Nextκουμπί για να προχωρήσετε.
Step 6 – Last check before install: Ελέγξτε όλες τις ρυθμίσεις και, στη συνέχεια, κάντε κλικ στο Install Chamiloκουμπί για να ξεκινήσει η εγκατάσταση web.
Step 7 – Installation process execution: Όταν το Chamilo εγκατασταθεί με επιτυχία, κάντε κλικ στο Go to your newly created portal.κουμπί για να ολοκληρώσετε τον οδηγό εγκατάστασης web.
Εκτελέστε μέτρα ασφαλείας μετά την εγκατάσταση
Επιπλέον, δύο μέτρα ασφαλείας μετά την εγκατάσταση που πρέπει να λάβετε αναφέρονται παρακάτω:
sudo chmod -R 0555 /var/www/html/chamilo/app/config
sudo rm -rf /var/www/html/chamilo/main/install