Εγκαταστήστε το LEMP - Nginx, PHP, MariaDB και PhpMyAdmin στο OpenSUSE
Η στοίβα LEMP ή Linux, Engine-x, MySQL και PHP είναι λογισμικό πακέτο που αποτελείται από λογισμικό ανοιχτού κώδικα εγκατεστημένο στο λειτουργικό σύστημα Linux για την εκτέλεση εφαρμογών web που βασίζονται σε PHP που υποστηρίζονται από τον διακομιστή Nginx HTTP και το σύστημα διαχείρισης βάσεων δεδομένων MySQL/MariaDB.
Αυτός ο οδηγός θα σας καθοδηγήσει σχετικά με τον τρόπο εγκατάστασης μιας στοίβας LEMP με τα Nginx, MariaDB, PHP, PHP-FPM και PhpMyAdmin σε εκδόσεις διακομιστή/επιτραπέζιου υπολογιστή OpenSuse.
Εγκατάσταση διακομιστή Nginx HTTP
Ο Nginx είναι ένας γρήγορος και αξιόπιστος διακομιστής HTTP και διακομιστής μεσολάβησης που μπορεί να χειριστεί μεγαλύτερο φόρτο αιτημάτων HTTP. Χρησιμοποιεί μια ασύγχρονη προσέγγιση με γνώμονα τα συμβάντα για τον χειρισμό αιτημάτων και η αρθρωτή αρχιτεκτονική που βασίζεται σε συμβάντα μπορεί να παρέχει πιο προβλέψιμη απόδοση κάτω από υψηλά φορτία.
Για να εγκαταστήσετε το Nginx στο OpenSuse, εκτελέστε την ακόλουθη εντολή.
$ sudo zypper install nginx
Μόλις εγκατασταθεί το Nginx, μπορείτε να ξεκινήσετε την υπηρεσία προς το παρόν, στη συνέχεια να ενεργοποιήσετε την αυτόματη εκκίνηση κατά την εκκίνηση και να επαληθεύσετε την κατάσταση του Nginx εκτελώντας τις ακόλουθες εντολές.
$ sudo systemctl start nginx $ sudo systemctl enable nginx $ sudo systemctl status nginx
Σε αυτό το σημείο, ο διακομιστής ιστού Nginx θα πρέπει να λειτουργεί και να λειτουργεί, μπορείτε επίσης να επαληθεύσετε την κατάσταση χρησιμοποιώντας την εντολή netstat όπως φαίνεται.
$ sudo netstat -tlpn | grep nginx
Τώρα, πρέπει να ελέγξουμε εάν η εγκατάσταση Nginx λειτουργεί καλά. Σε αντίθεση με άλλες διανομές Linux, στο openSUSE, το Nginx δεν διαθέτει τυπικό έγγραφο index.html
στον ριζικό φάκελο ιστού. Πρέπει να δημιουργήσουμε ένα νέο αρχείο index.html
κάτω από τον ριζικό κατάλογο ιστού \/srv/www/htdocs\
όπως φαίνεται.
$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
Εάν έχετε εγκαταστήσει το τείχος προστασίας, πρέπει να ανοίξετε τις θύρες 80 και 443 για να επιτρέψετε την κυκλοφορία ιστού στο τείχος προστασίας.
$ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --permanent --add-port=443/tcp $ sudo firewall-cmd --reload
Στη συνέχεια, ανοίξτε ένα πρόγραμμα περιήγησης ιστού και μεταβείτε στη διεύθυνση http://localhost
και επαληθεύστε τη σελίδα Nginx.
Εγκατάσταση του διακομιστή βάσης δεδομένων MariaDB
Το MariaDB είναι ένα δωρεάν και ανοιχτού κώδικα διχάλα του συστήματος διαχείρισης σχεσιακών βάσεων δεδομένων MySQL. Αναπτύχθηκε από τους αρχικούς προγραμματιστές της MySQL και προορίζεται να παραμείνει ανοιχτού κώδικα. Το MariaDB είναι γρήγορο, επεκτάσιμο και στιβαρό, με ένα πλούσιο οικοσύστημα μηχανών αποθήκευσης, πρόσθετων και πολλών άλλων εργαλείων το καθιστούν πολύ ευέλικτο για μια μεγάλη ποικιλία περιπτώσεων χρήσης.
Για να εγκαταστήσετε το MariaDB στο OpenSuse, εκτελέστε την ακόλουθη εντολή.
$ sudo zypper install mariadb mariadb-client
Στη συνέχεια, ξεκινήστε την υπηρεσία MariaDB προς το παρόν και, στη συνέχεια, ενεργοποιήστε την αυτόματη εκκίνηση κατά την εκκίνηση και ελέγξτε την κατάστασή της.
$ sudo systemctl start mariadb $ sudo systemctl enable mariadb $ sudo systemctl status mariadb
Το επόμενο κρίσιμο βήμα σε αυτήν την ενότητα είναι η διασφάλιση της εγκατάστασης του διακομιστή MariaDB. Επομένως, εκτελέστε το σενάριο ασφαλείας που αποστέλλεται με το πακέτο MariaDB, όπως φαίνεται.
Σημείωση: Η εκτέλεση του σεναρίου ασφαλείας MariaDB και όλων των μερών του συνιστάται ιδιαίτερα για όλους τους διακομιστές MariaDB σε παραγωγή.
$ sudo mysql_secure_installation
Αφού εκτελέσετε το σενάριο, διαβάστε προσεκτικά την περιγραφή σε κάθε βήμα. Θα πρέπει να ορίσετε έναν κωδικό πρόσβασης χρήστη root, να αφαιρέσετε ανώνυμους χρήστες, να απενεργοποιήσετε την απομακρυσμένη πρόσβαση root, να καταργήσετε τη δοκιμαστική βάση δεδομένων και την πρόσβαση σε αυτήν και, τέλος, να φορτώσετε ξανά τον πίνακα προνομίων.
Εγκατάσταση και διαμόρφωση PHP και PHP-FPM
Το PHP-FPM (συντομογραφία του PHP FastCGI Process Manager) είναι ένας εναλλακτικός δαίμονας FastCGI για PHP με ορισμένες πρόσθετες δυνατότητες και έχει σχεδιαστεί για να χειρίζεται υψηλά φορτία. Διατηρεί ομάδες (εργαζομένων που μπορούν να ανταποκριθούν σε αιτήματα PHP) για να το πετύχει αυτό. Είναι σημαντικό ότι είναι ταχύτερη από τις παραδοσιακές μεθόδους που βασίζονται σε CGI, όπως το SUPHP, για περιβάλλοντα PHP πολλών χρηστών.
Για να εγκαταστήσετε τα PHP και PHP-FPM μαζί με τις απαραίτητες λειτουργικές μονάδες εκτελέστε την ακόλουθη εντολή.
$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring
Πριν προχωρήσουμε στην εκκίνηση της υπηρεσίας PHP-FPM, πρέπει να δημιουργήσουμε τα απαιτούμενα αρχεία διαμόρφωσης από τα προεπιλεγμένα αρχεία που παρέχονται κατά την εγκατάσταση και να διαμορφώσουμε την υπηρεσία έτοιμη για λειτουργίες.
$ sudo cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf $ sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf
Στη συνέχεια, ανοίξτε το κύριο αρχείο διαμόρφωσης php-fpm.conf
για επεξεργασία.
$ sudo vim /etc/php7/fpm/php-fpm.conf
Καταργήστε το σχόλιο της ακόλουθης γραμμής στον αριθμό γραμμής 24 όπως φαίνεται.
error_log = log/php-fpm.log
Αποθηκεύστε και κλείστε το αρχείο.
Στη συνέχεια, πρέπει να ορίσουμε τις σωστές ρυθμίσεις για τις διαμορφωμένες ομάδες στο αρχείο διαμόρφωσης www.conf
.
$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf
Αρχικά, ρυθμίστε τις παραμέτρους του κατόχου Unix και του κατόχου ομάδας των διεργασιών στον χρήστη και την ομάδα Nginx. Κάντε αυτό αλλάζοντας τις τιμές των παραμέτρων χρήστη και ομάδας από nobody
σε nginx
.
user = nginx group = nginx
Τώρα αποθηκεύστε τις αλλαγές στο αρχείο και βγείτε από αυτό.
Επιπλέον, υπάρχει μια ακόμη σημαντική διαμόρφωση προς εκτέλεση, η οποία ασφαλίζει το PHP-FPM στο αρχείο /etc/php/cli/php.ini
.
$ sudo vim /etc/php7/cli/php.ini
Αναζητήστε τη γραμμή ;cgi.fix_pathinfo=1
και αλλάξτε τη σε.
cgi.fix_pathinfo=0
Αποθηκεύστε τις αλλαγές στο αρχείο και βγείτε.
Στη συνέχεια, ξεκινήστε την υπηρεσία PHP-FPM προς το παρόν και, στη συνέχεια, ενεργοποιήστε την αυτόματη εκκίνηση κατά την εκκίνηση και ελέγξτε την κατάστασή της.
$ sudo systemctl start php-fpm $ sudo systemctl enable php-fpm $ sudo systemctl status php-fpm
Διαμόρφωση του Nginx ώστε να λειτουργεί με PHP-FPM
Σε αυτό το σημείο, πρέπει να διαμορφώσουμε το Nginx ώστε να λειτουργεί με το PHP-FPM στο προεπιλεγμένο αρχείο διαμόρφωσης Nginx.
$ sudo vim /etc/nginx/nginx.conf
Στη συνέχεια, αναζητήστε την παρακάτω ενότητα και προσθέστε το index.php
στη λίστα των αναμενόμενων αρχείων ευρετηρίου.
location / { root /srv/www/htdocs/; index index.php index.html index.htm ; }
Βρείτε επίσης την ακόλουθη ενότητα (η οποία πρέπει να σχολιαστεί) και αποσχολιάστε την. Αυτή η ενότητα χρησιμοποιείται για τη μετάδοση των σεναρίων PHP στον διακομιστή FastCGI ακρόαση στο 127.0.0.1:9000.
location ~ \.php$ { root /srv/www/htdocs/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Αποθηκεύστε τις αλλαγές στο αρχείο και βγείτε.
Δοκιμή Nginx και PHP-FPM
Το επόμενο βήμα είναι να ελέγξετε εάν το Nginx λειτουργεί καλά σε συνδυασμό με το PHP-FPM δημιουργώντας ένα νέο αρχείο δοκιμής PHP στον κατάλογο DocumentRoot ως απεικονίζεται.
$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
Τώρα πρέπει να ελέγξουμε αν η διαμόρφωση Nginx είναι σωστή ως εξής, πριν προχωρήσουμε στην επανεκκίνηση της υπηρεσίας.
$ sudo nginx -t
Εάν η σύνταξη διαμόρφωσης Nginx είναι εντάξει, προχωρήστε και επανεκκινήστε τις υπηρεσίες Nginx και PHP-FPM για να τεθούν σε ισχύ οι πρόσφατες αλλαγές.
$ sudo systemctl restart nginx php-fpm
Τώρα ανοίξτε ένα πρόγραμμα περιήγησης ιστού και μεταβείτε στη διεύθυνση http://localhost/info.php
για να επαληθεύσετε τη διαμόρφωση της PHP όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Εγκατάσταση και ρύθμιση παραμέτρων του PhpMyAdmin
Το phpMyAdmin είναι ένα δωρεάν, απλό εύχρηστο και δημοφιλές εργαλείο γραμμένο σε PHP, κατασκευασμένο για τη διαχείριση του διακομιστή MySQL μέσω του Ιστού. Μεταφέρει ένα ευρύ φάσμα λειτουργιών σε MySQL και MariaDB.
Για να εγκαταστήσετε το phpMyAdmin στο OpenSuse, εκτελέστε την ακόλουθη εντολή.
$ sudo zypper install phpMyAdmin
Μόλις ολοκληρωθεί η εγκατάσταση, δημιουργήστε ένα νέο αρχείο διαμόρφωσης vhost για πρόσβαση στο phpMyAdmin όπως φαίνεται.
$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf
Προσθέστε αυτές τις ακόλουθες ρυθμίσεις παραμέτρων στο αρχείο.
server { listen 80; server_name localhost/phpMyAdmin; root /srv/www/htdocs/phpMyAdmin; location / { try_files $uri /index.php?$args; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
Αποθηκεύστε τις αλλαγές και κλείστε το αρχείο. Στη συνέχεια, επανεκκινήστε την υπηρεσία Nginx με την ακόλουθη εντολή.
$ sudo systemctl restart nginx
Τώρα μεταβείτε στο πρόγραμμα περιήγησής σας και πληκτρολογήστε τη διεύθυνση http://localhost/phpMyAdmin. Μια σελίδα σύνδεσης phpMyAdmin θα πρέπει να εμφανίζεται όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Εισαγάγετε τα διαπιστευτήρια σύνδεσης χρήστη root της βάσης δεδομένων σας και κάντε κλικ στο Μετάβαση.
Αυτό είναι όλο! Σε αυτό το σεμινάριο, σας εξηγήσαμε πώς να εγκαταστήσετε μια στοίβα LEMP με τα Nginx, MariaDB, PHP, PHP-FPM και PhpMyAdmin σε εκδόσεις OpenSuse διακομιστή/επιτραπέζιου υπολογιστή. Εάν αντιμετωπίζετε προβλήματα κατά τη ρύθμιση, υποβάλετε τις ερωτήσεις σας μέσω μιας φόρμας σχολίων παρακάτω.