Πώς να εγκαταστήσετε το LEMP Stack με το PhpMyAdmin στο Ubuntu 20.04


Για όσους από εσάς δεν ξέρετε τι είναι το LEMP – αυτός είναι ένας συνδυασμός πακέτων λογισμικού – Linux, Nginx (προφέρεται EngineX), MariaDB και PHP.

Μπορείτε να χρησιμοποιήσετε το LEMP και για δοκιμαστικούς σκοπούς ή σε πραγματικό περιβάλλον παραγωγής για να αναπτύξετε εφαρμογές ιστού χρησιμοποιώντας πλαίσια PHP όπως Laravel ή Yii ή συστήματα διαχείρισης περιεχομένου όπως το Joomla

Ίσως αναρωτιέστε ποια είναι η διαφορά μεταξύ LAMP και LEMP. Λοιπόν, η μόνη διαφορά είναι ο διακομιστής ιστού που περιλαμβάνεται – Apache (σε LAMP) και Nginx (σε LEMP >). Και οι δύο διακομιστές ιστού είναι αρκετά καλοί και ενώ ο Apache είναι ο πιο συχνά χρησιμοποιούμενος, ο Nginx δεν κάνει πίσω με κανέναν τρόπο.

Μια άλλη ευρέως χρησιμοποιούμενη εφαρμογή που συνήθως εγκαθίσταται παράλληλα με τη στοίβα LEMP είναι η PhpMyAdmin – είναι ένα εργαλείο PHP που βασίζεται στον ιστό για τη διαχείριση ενός διακομιστή βάσης δεδομένων MySQL/MariaDB από ένα πρόγραμμα περιήγησης ιστού.

Αν ψάχνετε για μια ρύθμιση LAMP για το Ubuntu 20.04 σας, τότε θα πρέπει να διαβάσετε τον οδηγό εγκατάστασης LAMP στο Ubuntu 20.04.

Προαπαιτούμενα:

  1. Οδηγός εγκατάστασης διακομιστή Ubuntu 20.04

Σε αυτό το άρθρο, θα μάθετε πώς να εγκαταστήσετε και να διαμορφώσετε τη στοίβα LEMP με το PhpMyAdmin στον διακομιστή Ubuntu 20.04.

Βήμα 1: Εγκατάσταση του Nginx στο Ubuntu 20.04

1. Ο Nginx είναι ένας γρήγορος σύγχρονος διακομιστής ιστού που έχει σχεδιαστεί για να εξυπηρετεί πολλές ταυτόχρονες συνδέσεις χωρίς να καταναλώνει πάρα πολλούς πόρους διακομιστή. Αυτός είναι ο λόγος για τον οποίο είναι συχνά η προτιμώμενη επιλογή σε εταιρικά περιβάλλοντα.

Το NGINX χρησιμοποιείται επίσης συνήθως ως εξισορρόπηση φορτίου και προσωρινή μνήμη περιεχομένου web. Υποστηρίζει εικονικούς διακομιστές βασισμένους σε όνομα και IP (ανάλογους με εικονικούς κεντρικούς υπολογιστές στο Apache).

Μπορείτε να εγκαταστήσετε το Nginx στην επιφάνεια εργασίας ή στο διακομιστή σας Ubuntu 20.04 εκτελώντας την ακόλουθη εντολή.

$ sudo apt update
$ sudo apt install nginx

Τα αρχεία διαμόρφωσης Nginx αποθηκεύονται στον κατάλογο /etc/nginx και το κύριο αρχείο διαμόρφωσής του είναι /etc/nginx/nginx.conf. Είναι σημαντικό ότι η προεπιλεγμένη ρίζα εγγράφων για την αποθήκευση των αρχείων ιστού σας είναι /usr/share/nginx/html/. Ωστόσο, μπορείτε να χρησιμοποιήσετε το τυπικό /var/www/html που θα πρέπει να διαμορφωθεί στο αρχείο διαμόρφωσης μπλοκ διακομιστή του ιστότοπού σας ή της εφαρμογής σας.

2. Το πρόγραμμα εγκατάστασης πακέτου Ubuntu ενεργοποιεί το systemd για την εκκίνηση της υπηρεσίας Nginx και τη δυνατότητα αυτόματης εκκίνησης κάθε φορά που γίνεται επανεκκίνηση του διακομιστή. Χρησιμοποιήστε τις ακόλουθες εντολές systemctl για να επιβεβαιώσετε ότι η υπηρεσία εκτελείται και είναι ενεργοποιημένη.

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx

3. Τώρα ήρθε η ώρα να ελέγξετε εάν η εγκατάσταση του Nginx ήταν επιτυχής καλώντας τη σελίδα Nginx μέσω του προγράμματος περιήγησης χρησιμοποιώντας τη διεύθυνση IP του διακομιστή.

http://SERVER_IP

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

$ ip addr show

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

Βήμα 2: Εγκατάσταση της βάσης δεδομένων MariaDB στο Ubuntu 20.04

4. Το MariaDB είναι ένα σχετικά νέο σύστημα διαχείρισης σχεσιακής βάσης δεδομένων, το οποίο σχεδιάστηκε ως μια πλατφόρμα κοινότητας του MySQL μετά την απόκτησή του από την Oracle.

Η εγκατάσταση του MariaDB είναι απλή και μπορεί να ξεκινήσει με την εντολή ως εξής:

$ sudo apt install mariadb-server mariadb-client

5. Η υπηρεσία MariaDB ξεκινά επίσης αυτόματα και ενεργοποιείται για να ξεκινά πάντα κατά την εκκίνηση του συστήματος και μπορείτε να το επιβεβαιώσετε χρησιμοποιώντας τις ακόλουθες εντολές.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb

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

$ sudo mysql_secure_installation

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

  • Εισαγάγετε τον τρέχοντα κωδικό πρόσβασης για το root (enter για κανένα): Enter
  • Ορισμός κωδικού πρόσβασης root; [Y/n] y
  • Να καταργηθούν οι ανώνυμοι χρήστες; [Y/n] y
  • Να επιτρέπεται η απομακρυσμένη σύνδεση root; [Y/n] y
  • Κατάργηση δοκιμαστικής βάσης δεδομένων και πρόσβαση σε αυτήν; [Y/n] y
  • Επανάληψη φόρτωσης πινάκων προνομίων τώρα; [Y/n] y

7. Για να δημιουργήσετε, να διαχειριστείτε και να εκτελέσετε λειτουργίες βάσης δεδομένων, πρέπει να κάνετε την εντολή mysql με τη σημαία -u για να καθορίσετε το όνομα χρήστη της βάσης δεδομένων και -p για την παροχή του κωδικού πρόσβασης του χρήστη.

Για να συνδεθείτε ως χρήστης root, χρησιμοποιήστε την εντολή sudo (ακόμα και χωρίς τη σημαία -p) διαφορετικά θα λάβετε το σφάλμα που επισημαίνεται στο παρακάτω στιγμιότυπο οθόνης.

$ mysql -u root -p
$ sudo mysql -u root

Βήμα 3: Εγκατάσταση της PHP στο Ubuntu 20.04

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

Το NGINX χρησιμοποιεί το FPM (FastCGI Process Manager) ή το PHP-FPM, για την επεξεργασία σεναρίων PHP. Το PHP-FPM είναι μια ευρέως χρησιμοποιούμενη εναλλακτική εφαρμογή FastCGI PHP που συνοδεύεται από πολλές πρόσθετες δυνατότητες και χρησιμοποιείται για την τροφοδοσία ιστότοπων/εφαρμογών ιστού με υψηλή επισκεψιμότητα.

Για να εγκαταστήσετε τα PHP και PHP-FPM, εκτελέστε την ακόλουθη εντολή η οποία θα εγκαταστήσει επίσης ορισμένα απαιτούμενα πρόσθετα πακέτα.

$ sudo apt install php php-mysql php-fpm

Επειδή η PHP 7.4 είναι η προεπιλεγμένη έκδοση της PHP στο Ubuntu 20.04, τα αρχεία διαμόρφωσης PHP βρίσκονται στο /etc/php/7.4 / και τα αρχεία διαμόρφωσης PHP-FPM αποθηκεύονται στο /etc/php/7.4/fpm.

9. Στη συνέχεια, ελέγξτε εάν η υπηρεσία php7.4-fpm είναι ενεργοποιημένη και εκτελείται και εάν είναι ενεργοποιημένη με την ακόλουθη εντολή.

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm

Βήμα 4: Διαμόρφωση του Nginx ώστε να λειτουργεί με PHP-FPM

10. Τώρα πρέπει να διαμορφώσετε το NGINX σε αιτήματα πελατών διακομιστή μεσολάβησης σε PHP-FPM, το οποίο από προεπιλογή έχει ρυθμιστεί για ακρόαση σε Υποδοχή UNIX όπως ορίζεται από την παράμετρο ακρόασης στο /etc/php/7.4/fpm/pool.d/www.conf προεπιλεγμένο αρχείο διαμόρφωσης πισίνας.

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. Στο προεπιλεγμένο αρχείο διαμόρφωσης μπλοκ διακομιστή (/etc/nginx/sites-available/default), καταργήστε το σχόλιο της οδηγίας τοποθεσίας για την επεξεργασία της PHP ζητά να μοιάζει με αυτό που φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

$ sudo vi /etc/nginx/sites-available/default

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

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

$ sudo nginx -t
$ sudo systemctl restart nginx

13. Τώρα ελέγξτε εάν το NGINX μπορεί να λειτουργήσει σε συνδυασμό με το PHP-FPM για την επεξεργασία αιτημάτων PHP. Δημιουργήστε μια απλή σελίδα info.php κάτω από τον ριζικό κατάλογο του εγγράφου.

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

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

http://SERVER_IP/info.php

Βήμα 5: Εγκατάσταση του PhpMyAdmin στο Ubuntu 20.04

15. Το PhpMyAdmin είναι μια δωρεάν και ανοιχτού κώδικα web-based εφαρμογή PHP που δημιουργήθηκε ειδικά για τη διαχείριση διακομιστών βάσης δεδομένων MySQL/MariaDB μέσω ενός προγράμματος περιήγησης ιστού. Παρέχει μια διαισθητική γραφική διεπαφή και υποστηρίζει ένα ευρύ φάσμα κοινών χαρακτηριστικών για εργασίες διαχείρισης βάσεων δεδομένων.

$ sudo apt install phpmyadmin

16. Κατά την εγκατάσταση του πακέτου, θα σας ζητηθεί να διαμορφώσετε διάφορες πτυχές του πακέτου PhpMyAdmin. Αρχικά, θα σας ζητηθεί να επιλέξετε τον προεπιλεγμένο διακομιστή ιστού για την εκτέλεση του. Πατήστε Esc γιατί το NGINX δεν βρίσκεται στη λίστα που παρέχεται.

17. Στη συνέχεια, το PhpMyAdmin απαιτεί μια βάση δεδομένων για να λειτουργήσει. Σε αυτήν την προτροπή διαμόρφωσης πακέτου, επιλέξτε Ναι για να διαμορφώσετε μια βάση δεδομένων για το PhpMyAdmin με το dbconfig-common πακέτο.

18. Στην επόμενη ερώτηση, πρέπει να δώσετε έναν κωδικό πρόσβασης για το PhpMyAdmin για εγγραφή στη βάση δεδομένων MariaDB. Εισαγάγετε έναν ασφαλή κωδικό πρόσβασης και κάντε κλικ στο Enter.

Βήμα 6: Διαμόρφωση του NGINX για εξυπηρέτηση του ιστότοπου PhpMyAdmin

19. Για να ενεργοποιήσετε το NGINX να εξυπηρετεί τον ιστότοπο PhpMyAdmin που βρίσκεται στη διεύθυνση /usr/share/phpmyadmin, δημιουργήστε έναν σύμδεσμο για αυτόν τον κατάλογο κάτω από τη ρίζα του εγγράφου και, στη συνέχεια, ορίστε τα σωστά δικαιώματα και την ιδιοκτησία στον κατάλογο PHPMyAdmin ως εξής.

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Επιπλέον, βεβαιωθείτε ότι η οδηγία index στην προεπιλεγμένη διαμόρφωση μπλοκ διακομιστή (/etc/nginx/sites-available/default) περιλαμβάνει index.php όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

21. Στη συνέχεια, επανεκκινήστε ξανά την υπηρεσία Nginx για να εφαρμόσετε τις παραπάνω αλλαγές.

$ sudo systemctl restart nginx

22. Τώρα μεταβείτε στον ιστότοπο PhpMyAdmin από ένα πρόγραμμα περιήγησης χρησιμοποιώντας την ακόλουθη διεύθυνση.

http://SERVER_IP/phpmyadmin

Στη σελίδα σύνδεσης, πραγματοποιήστε έλεγχο ταυτότητας με το όνομα χρήστη και τον κωδικό πρόσβασης PHPMyAdmin. Θυμηθείτε ότι η σύνδεση απομακρυσμένου χρήστη root είναι απενεργοποιημένη, εκτός εάν έχετε πρόσβαση στο PHPMyAdmin στον localhost όπου είναι εγκατεστημένη η βάση δεδομένων MariaDB, η πρόσβαση root δεν θα λειτουργήσει.

Τελευταίο αλλά εξίσου σημαντικό, ασφαλίστε την εγκατάσταση του PhpMyAdmin χρησιμοποιώντας τον οδηγό μας: 4 Χρήσιμες συμβουλές για την ασφαλή διασύνδεση ιστού PhpMyAdmin.

συμπέρασμα

Η ρύθμιση του LEMP έχει πλέον ολοκληρωθεί και μπορείτε να ξεκινήσετε τη δημιουργία των εφαρμογών ιστού σας ή απλώς να παίξετε με τις υπηρεσίες Nginx και MariaDB που μόλις εγκαταστήσατε. Αυτά χρησιμοποιούνται ευρέως και η απόκτηση περισσότερων γνώσεων σε αυτά συνιστάται ιδιαίτερα για τους διαχειριστές συστημάτων.