Ρύθμιση διακομιστή Ubuntu 20.04 με Lighttpd, MySQL και PHP-FPM
Το Lighttpd είναι ένας γρήγορος και ευέλικτος διακομιστής ιστού ανοιχτού κώδικα που είναι συγκρίσιμος σε απόδοση με τον Nginx. Για τη φιλοξενία εφαρμογών PHP όπως το WordPress, το Magento κ.λπ. σε έναν διακομιστή Lighttpd, πρέπει να ρυθμίσετε μια στοίβα LLMP στον διακομιστή σας. Το LLMP σημαίνει Linux, Lighttpd, MySQL και PHP.
Χάρη στην απόδοση του Lighttpd, μια στοίβα LLMP ξεπερνά εύκολα μια LAMP (Apache) που έχει ρυθμιστεί σε οποιονδήποτε δεδομένο όγκο κίνησης. Όσον αφορά το LLMP εναντίον του LEMP (Nginx), η απόδοση είναι ως επί το πλείστον παρόμοια. Αλλά το Nginx είναι μια πιο δημοφιλής επιλογή μεταξύ των μαζών, υπάρχει εξαιρετική υποστήριξη της κοινότητας για τις ρυθμίσεις LEMP.
Αν ψάχνετε για έναν διακομιστή για να χειρίζεται πλήθος κίνησης με ελάχιστη κατανάλωση μνήμης, τότε η ρύθμιση LLMP είναι μια καλή επιλογή. Σε αυτόν τον οδηγό, θα δούμε πώς να εγκαταστήσετε τη στοίβα LLMP σε μια μηχανή Ubuntu 20.04 LTS.
Προαπαιτούμενα
Θα χρειαστείτε έναν διακομιστή Ubuntu 20.04 LTS και θα συνδεθείτε ως sudo
ενεργοποιημένος χρήστης. Θα χρειαστεί επίσης να έχετε μια βασική κατανόηση των εντολών Linux.
Πριν ξεκινήσουμε, ενημερώστε και αναβαθμίστε τα πακέτα στον διακομιστή σας Ubuntu 20.04 εκδίδοντας την παρακάτω εντολή:
sudo apt-get ενημέρωση && apt-get αναβάθμιση
Εγκαταστήστε τον διακομιστή web Lighttpd
Για να εγκαταστήσετε τον διακομιστή web Lighttpd στον υπολογιστή σας Ubuntu 20.04, απλώς πληκτρολογήστε την ακόλουθη εντολή στο τερματικό σας.
sudo apt-install lighttpd
Μόλις ολοκληρωθεί η διαδικασία εγκατάστασης, πληκτρολογήστε τις ακόλουθες εντολές για να ξεκινήσετε και να ενεργοποιήσετε τον διακομιστή web Lighttpd.
systemctl εκκίνηση lighttpd systemctl ενεργοποίηση lighttpd
Για να ελέγξετε την κατάσταση του διακομιστή Lighttpd, πληκτρολογήστε την εντολή που φαίνεται παρακάτω.
systemctl κατάσταση lighttpd
💡 Συμβουλή: Για να αφαιρέσετε την τελευταία γραμμή με το (END) γραμμένο πάνω της, πατήστε ESC
και q
για να μπορείτε να εισάγετε περαιτέρω εντολές.
Τώρα θα ρυθμίσουμε την υπηρεσία HTTP, HTTPS και SSH στο τείχος προστασίας UFW. Το UFW είναι το προεπιλεγμένο εργαλείο διαμόρφωσης τείχους προστασίας για το Ubuntu, που ονομάζεται επίσης Uncomplicated Firewall. Πληκτρολογήστε τις παρακάτω εντολές και πατήστε enter μία προς μία.
sudo ufw επιτρέπουν ssh sudo ufw επιτρέπουν http sudo ufw επιτρέπουν https
Ενεργοποιήστε το τείχος προστασίας UFW εκδίδοντας την ακόλουθη εντολή:
ενεργοποίηση sudo ufw
Εάν σας ζητηθεί "Η εντολή μπορεί να διακόψει τις υπάρχουσες συνδέσεις ssh", πληκτρολογήστε y
και χτυπήστε εισαγω
.
Για να επαληθεύσετε την εγκατάσταση του Lighttpd, πρόσβαση στον διακομιστή μέσω της διεύθυνσης IP του σε ένα πρόγραμμα περιήγησης Ιστού. Εάν εμφανίζει την ακόλουθη οθόνη, σημαίνει ότι ο διακομιστής web Lighttpd έχει εγκατασταθεί με επιτυχία στον υπολογιστή σας Ubuntu 20.04.
Εγκατάσταση και διαμόρφωση του διακομιστή MySQL
Η MySQL είναι ένα σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων που βασίζεται σε δομημένη γλώσσα ερωτημάτων. Για να εγκαταστήσετε τον διακομιστή MySQL και τον πελάτη στο Ubuntu 20.04, αντιγράψτε/επικολλήστε την ακόλουθη εντολή και πατήστε εισαγω
.
sudo apt-get εγκατάσταση mysql-server mysql-client
Θα σας ζητήσει ένα μήνυμα ότι αυτή η λειτουργία θα πάρει 247 MB επιπλέον χώρου στο δίσκο μετά την εγκατάσταση. Λοιπόν, πληκτρολογήστε y
και χτυπήστε εισαγω
.
Μόλις ολοκληρωθεί η διαδικασία εγκατάστασης, ξεκινήστε και ενεργοποιήστε τον διακομιστή MySQL και προσθέστε τον στην εκκίνηση του συστήματος εκδίδοντας τις ακόλουθες εντολές μία προς μία.
systemctl εκκίνηση mysql systemctl ενεργοποίηση mysql
Θα δείτε το ακόλουθο μήνυμα στην οθόνη σας:
Για να ελέγξετε την κατάσταση της υπηρεσίας MySQL, πληκτρολογήστε την ακόλουθη εντολή στο τερματικό. ο mysql.service
η κατάσταση θα πρέπει να εμφανίζεται ως "ενεργή (σε λειτουργία).
systemctl κατάσταση mysql
Για να διαμορφώσετε τις ρυθμίσεις ασφαλείας MySQL, θα εκτελέσουμε ένα σενάριο ασφαλείας που συνοδεύει το πακέτο MySQL. Πληκτρολογήστε την ακόλουθη εντολή και πατήστε enter για να εκτελέσετε το σενάριο.
mysql_secure_installation
Η παραπάνω εντολή θα σας ζητήσει μερικές ερωτήσεις για να ρυθμίσετε τις παραμέτρους του διακομιστή MySQL.
Θα σας ζητήσει να ορίσετε τον κωδικό πρόσβασής σας χρησιμοποιώντας ΕΠΙΚΥΡΩΣΗ ΣΤΟΙΧΕΙΟΥ ΚΩΔΙΚΟΥ
. Αυτό το πρόσθετο θα σας βοηθήσει να ορίσετε έναν ισχυρό κωδικό πρόσβασης για τις βάσεις δεδομένων MySQL. Τύπος y
και πατήστε enter για να ενεργοποιήσετε αυτό το πρόσθετο. Τύπος 0
, 1
, ή 2
για να επιλέξετε την πολιτική επικύρωσης κωδικού πρόσβασης που καθορίζει το επίπεδο ισχύος του κωδικού πρόσβασής σας.
Εισαγάγετε έναν ισχυρό κωδικό πρόσβασης, ο ΕΠΙΚΥΡΩΣΗ ΚΩΔΙΚΟΥ
Το πρόσθετο θα σας ενημερώσει για την εκτιμώμενη ισχύ του κωδικού πρόσβασής σας. Τύπος y
και χτυπήστε εισαγω
.
Αφού ρυθμίσετε έναν ασφαλή κωδικό πρόσβασης, διαμορφώστε την υπόλοιπη ρύθμιση όπως εξηγείται παρακάτω.
- Κατάργηση ανώνυμων χρηστών - Εισαγω
y|Y
Επειδή η MySQL από προεπιλογή περιέχει ανώνυμο χρήστη που επιτρέπει σε οποιονδήποτε να συνδεθεί στον διακομιστή MySQL χωρίς να έχει τον λογαριασμό χρήστη. Επομένως, αφαιρέστε το.
- Απαγόρευση της απομακρυσμένης σύνδεσης root - Εισαγω
y|Y
Επειδή το root θα πρέπει να επιτρέπεται μόνο από το "localhost". Διασφαλίζει ότι κάποιος δεν μπορεί να συνδεθεί ως root εκτός του δικτύου σας.
- Κατάργηση δοκιμαστικής βάσης δεδομένων και πρόσβαση σε αυτήν; - Εισαγω
y|Y
Επειδή η MySQL συνοδεύεται από μια δοκιμαστική βάση δεδομένων στην οποία ο καθένας μπορεί να έχει πρόσβαση. Επομένως, αφαιρέστε το πριν μεταβείτε στο περιβάλλον παραγωγής.
- Επαναφόρτωση πινάκων προνομίων τώρα; Εισαγω
y|Y
Γιατί αυτό θα διασφαλίσει ότι οι αλλαγές που έχετε κάνει μέχρι τώρα θα τεθούν σε ισχύ αμέσως.
Για να ελέγξετε όλους τους χρήστες που έχουν πρόσβαση στον διακομιστή MySQL, πρώτα, συνδεθείτε στη MySQL ως root χρησιμοποιώντας την παρακάτω εντολή:
mysql -u root -p
Στη συνέχεια, εκδώστε την ακόλουθη εντολή για να λάβετε τη λίστα χρηστών στον διακομιστή MySQL:
επιλέξτε User, Host από mysql.user.
Αφού επαληθεύσετε τη λίστα χρηστών, πληκτρολογήστε έξοδος
για να αποσυνδεθείτε από το κέλυφος της MySQL.
Εγκατάσταση PHP – Fast CGI process manager (PHP-FPM)
Το PHP-FPM επιτρέπει σε έναν διακομιστή να χειρίζεται τεράστιο φορτίο ακόμη και σε διακομιστή χαμηλού επιπέδου. Ισχυρίζεται ότι μειώνει το χρόνο φόρτωσης κατά 300 τοις εκατό σε ορισμένες εφαρμογές PHP.
Για να εγκαταστήσετε τα πιο πρόσφατα πακέτα PHP-FPM, εκτελέστε την ακόλουθη εντολή και πατήστε enter.
sudo apt-install php-fpm php-cgi php-mysql
Συντονίστε με ακρίβεια τη διαμόρφωση PHP-FPM κάνοντας κάποιες αλλαγές στο php.ini
αρχείο.
Για να το κάνετε αυτό, πρώτα πλοηγηθείτε στον κατάλογο/etc/php/7.4/fpm
χρησιμοποιώντας το CD
εντολή όπως φαίνεται παρακάτω.
cd /etc/php/7.4/fpm
Στη συνέχεια χρησιμοποιήστε την παρακάτω εντολή για να ανοίξετε php.ini
αρχείο στον επεξεργαστή vim.
vim php.ini
Αποσχολιάστε το cgi.fix_pathinfo=1
γραμμή. Αναζήτηση για τη γραμμή που περιέχει "cgi.fix_pathinfo=1
«στον συντάκτη. Για να το κάνετε αυτό πατήστε 'Esc
’ και πληκτρολογήστε /cgi.fix_pathinfo=1
και χτυπήστε εισαγω
.
Στη συνέχεια, πατήστε Εγώ
για να μεταβείτε στη λειτουργία εισαγωγής και να αφαιρέσετε το ;
σύμβολο (ερωτηματικό) πριν από τη γραμμή ή πατήστε το Χ
κουμπί για να καταργήσετε τον σχολιασμό της γραμμής php.ini
αρχείο.
Μόλις τελειώσετε, αποθηκεύστε τις αλλαγές που κάνατε στο αρχείο και βγείτε από το vim editor πατώντας Esc
για να μπείτε σε λειτουργία εντολών και μετά πληκτρολογήστε :wq
και χτυπήστε εισαγω
για έξοδο από το πρόγραμμα επεξεργασίας.
Εκκίνηση και ενεργοποίηση PHP-FPM εκδίδοντας τις παρακάτω εντολές:
systemctl εκκίνηση php7,4-fpm systemctl ενεργοποίηση php7,4-fpm
Για να ελέγξετε την κατάσταση του PHP-FPM, εκτελέστε την ακόλουθη εντολή:
κατάσταση systemctl php7,4-fpm
Διαμόρφωση των Lighttpd και PHP-FPM
Τώρα θα κάνουμε κάποιες αλλαγές στο 15-fastcgi-php.conf
αρχείο ρυθμίσεων για τη ρύθμιση παραμέτρων Lighttpd και PHP-FPM.
Μεταβείτε στον κατάλληλο κατάλογο πληκτρολογώντας αυτήν την εντολή και πατήστε enter.
cd etc/lighttpd/conf-available/
Εάν θέλετε να διατηρήσετε ένα αντίγραφο του «15-fastcgi-php.conf
' αρχείο και στη συνέχεια χρησιμοποιήστε την παρακάτω εντολή.
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
Τώρα, θα ανοίξουμε και θα επεξεργαστούμε αυτό το αρχείο χρησιμοποιώντας τον επεξεργαστή vim χρησιμοποιώντας την παρακάτω εντολή:
vim 15-fastcgi-php.conf
Εδώ, αντικαταστήστε το προεπιλεγμένο περιεχόμενο διαμόρφωσης PHP-CGI με το περιεχόμενο που φαίνεται παρακάτω.
fastcgi.server += ( ".php" => (( "socket" => "/var/run/php/php7.4-fpm.sock", "broken-scriptfilename" => "enable" )) )
Για να το κάνετε αυτό ακολουθήστε τα βήματα με τη συγκεκριμένη σειρά όπως φαίνεται παρακάτω.
- Πατήστε '
Esc
' και 'Εγώ
’ για να μπείτε στη λειτουργία εισαγωγής. - Τώρα πλοηγηθείτε στις γραμμές που πρέπει να διαγράψουμε χρησιμοποιώντας το
πάνω
ήκάτω
πλήκτρα βέλους (τα πλήκτρα βέλους πάνω και κάτω λειτουργούν στον επεξεργαστή vim και όχι στον επεξεργαστή vi). - Για να διαγράψετε μια συγκεκριμένη γραμμή πατήστε
δδ
. Και για να αφαιρέσετε μια λέξη πατήστεΧ
. - Τώρα αντιγράψτε/επικολλήστε τον παραπάνω κώδικα στο αρχείο.
- Στη συνέχεια αποθηκεύστε το αρχείο και βγείτε από το vim πατώντας
Esc
,:wq
, καιεισαγω
.
Τώρα το Lighttpd θα λειτουργεί επαρκώς με το PHP-FPM και είναι κατάλληλα διαμορφωμένο.
Ενεργοποίηση λειτουργικών μονάδων FastCGI Lighttpd χρησιμοποιώντας τις παρακάτω εντολές:
lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php
Τέλος, επανεκκινήστε τον διακομιστή web Lighttpd για να εφαρμόσετε τις νέες διαμορφώσεις και ρυθμίσεις.
systemctl επανεκκίνηση lighttpd
Δοκιμή LLMP διακομιστή σας
Για να δοκιμάσουμε τον πρόσφατα δημιουργημένο διακομιστή LLMP, θα δημιουργήσουμε ένα αρχείο στη ρίζα του δημόσιου καταλόγου στο /var/www/html
.
Πρώτα πλοηγηθείτε στον κατάλογο χρησιμοποιώντας το CD
εντολή όπως φαίνεται παρακάτω.
cd /var/www/html/
Δημιουργήστε ένα νέο αρχείο ας πούμεfile.php
όπως φαίνεται παρακάτω χρησιμοποιώντας το πρόγραμμα επεξεργασίας vim.
vim file.php
Τώρα πληκτρολογήστε αυτό το απλό σενάριο στο πρόγραμμα επεξεργασίας μπαίνοντας στη λειτουργία εισαγωγής πατώντας Εγώ
.
Αποθηκεύστε και βγείτε από το αρχείο πατώντας Esc
και :wq
.
ο phpinfo()
είναι μια συνάρτηση που καλεί πληροφορίες που σχετίζονται με την php. Αυτό το σενάριο είναι απλώς για να ελέγξει αν λειτουργεί ή όχι. Μπορείτε επίσης να χρησιμοποιήσετε άλλα σενάρια php της επιλογής σας.
Τέλος, για να δοκιμάσετε τον διακομιστή σας, ανοίξτε ένα πρόγραμμα περιήγησης ιστού, αποκτήστε πρόσβαση στο αρχείο που μόλις δημιουργήσαμε εισάγοντας την παρακάτω διεύθυνση //your-server-ip/file.php
.
Εάν η σελίδα Έκδοση PHP εμφανιστεί ως αποτέλεσμα, μπορούμε να πούμε με ασφάλεια ότι η στοίβα LLMP εγκαταστάθηκε με επιτυχία στον υπολογιστή σας Ubuntu 20.04. Τώρα μπορείτε να εγκαταστήσετε τις εφαρμογές PHP που θέλετε να εκτελείτε στον διακομιστή.