Πώς να εγκαταστήσετε το Lighttpd με PHP και MariaDB στο CentOS/RHEL 8/7


Ο Lighttpd είναι ένας διακομιστής web ανοιχτού κώδικα, ασφαλής, γρήγορος, ευέλικτος και πιο βελτιστοποιημένος, σχεδιασμένος για κρίσιμα για την ταχύτητα περιβάλλοντα με λιγότερη χρήση μνήμης σε σύγκριση με άλλους διακομιστές ιστού.

Μπορεί να χειριστεί έως και 10.000 συνδέσεις παράλληλα σε έναν διακομιστή με αποτελεσματική διαχείριση φόρτου CPU και διαθέτει ένα προηγμένο σύνολο χαρακτηριστικών όπως FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting και πολλά άλλα.

Το Lighttpd είναι μια εξαιρετική λύση για κάθε διακομιστή Linux, λόγω της υψηλής ταχύτητας υποδομής io που μας επιτρέπει να κλιμακώνουμε πολλές φορές καλύτερη απόδοση με το ίδιο υλικό από ό,τι με άλλους εναλλακτικούς διακομιστές ιστού.

Σε αυτό το σεμινάριο, θα εξηγήσουμε πώς να εγκαταστήσετε το Lighttpd με τα PHP, PHP-FPM, και MariaDB στο ισχυρές>Διανομές CentOS/RHEL 8/7 με όνομα κεντρικού υπολογιστή linux-console.net και διεύθυνση IP 192.168.0.103.

Βήμα 1: Εγκαταστήστε τον διακομιστή Web Lighttpd

1. Για να εγκαταστήσετε το Lighttpd, πρώτα, πρέπει να ενημερώσετε τα πακέτα λογισμικού του συστήματός σας και τα διαθέσιμα αποθετήρια χρησιμοποιώντας την ακόλουθη εντολή yum.

yum -y update

2. Στη συνέχεια, πρέπει να ενεργοποιήσετε το αποθετήριο EPEL στο σύστημά σας και να ενημερώσετε τα πακέτα λογισμικού χρησιμοποιώντας τις ακόλουθες εντολές.

yum -y install epel-release
yum -y update

3. Αφού ενεργοποιήσετε το αποθετήριο EPEL, μπορείτε τώρα να εγκαταστήσετε το Lighttpd εκτελώντας την ακόλουθη εντολή.

yum install lighttpd

4. Μόλις εγκατασταθούν τα πακέτα Lighttpd, μπορείτε να ξεκινήσετε και να ενεργοποιήσετε την αυτόματη εκκίνηση της υπηρεσίας κατά την εκκίνηση και να βεβαιωθείτε ότι έχετε επαληθεύσει την κατάσταση χρησιμοποιώντας τις ακόλουθες εντολές.

systemctl start lighttpd
systemctl enable lighttpd
systemctl status lighttpd

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

lighttpd -v

lighttpd/1.4.55 (ssl) - a light and fast webserver

6. Τώρα πρέπει να επιτρέψετε την κυκλοφορία HTTP και HTTPS στο τείχος προστασίας σας.

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

7. Τώρα ανοίξτε το πρόγραμμα περιήγησής σας και τοποθετήστε το δείκτη του ποντικιού στην ακόλουθη διεύθυνση URL για να δείτε τον διακομιστή ιστού Lighttpd να λειτουργεί.

http://Your-Domain.com
OR
http://Your-IP-addr

Ο προεπιλεγμένος ριζικός κατάλογος εγγράφων για το Lighttpd είναι /var/www/lighttpd/ και το κύριο αρχείο διαμόρφωσης βρίσκεται στο /etc/lighttpd/lighttpd.conf.

Βήμα 2: Εγκατάσταση του MariaDB ως MySQL στο CentOS 7

8. Στη συνέχεια, εγκαταστήστε την υποστήριξη MySQL για Lighttpd χρησιμοποιώντας τις ακόλουθες εντολές.

yum -y install mariadb mariadb-server

9. Μόλις ολοκληρωθεί η εγκατάσταση, ξεκινήστε, ενεργοποιήστε και επαληθεύστε την κατάσταση του MariaDB χρησιμοποιώντας τις ακόλουθες εντολές.

systemctl start mariadb.service
systemctl enable mariadb.service
systemctl status mariadb.service

10. Τέλος, θα χρειαστεί να ασφαλίσετε την εγκατάσταση του MariaDB εκδίδοντας την ακόλουθη εντολή.

mysql_secure_installation

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

Δείγμα εξόδου
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): Enter OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorization. Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!

11. Δοκιμάστε να συνδεθείτε με τον διακομιστή MySQL και ελέγξτε τις υπάρχουσες βάσεις δεδομένων στο διακομιστή βάσης δεδομένων σας με τις ακόλουθες εντολές στο τερματικό.

mysql -u root -p
Δείγμα εξόδου
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

MariaDB [(none)]>

Βήμα 3: Εγκατάσταση PHP και PHP-FPM με το FastCGI στο CentOS 7

12. Για να ενεργοποιήσετε το PHP-FPM με υποστήριξη FastCGI, πρέπει πρώτα να εγκαταστήσετε το PHP μαζί με τις απαραίτητες επεκτάσεις χρησιμοποιώντας την παρακάτω εντολή.

yum -y install php php-mysqlnd php-pdo php-gd php-mbstring

13. Μόλις εγκατασταθεί η PHP, ενεργοποιήστε τώρα την υποστήριξη PHP-FPM και FastCGI για Lighttpd , για να γίνει αυτό πρέπει να εγκαταστήσετε και αυτά τα πακέτα.

yum -y install php-fpm lighttpd-fastcgi

14. Τώρα ανοίξτε ένα αρχείο που ονομάζεται /etc/php-fpm.d/www.conf.

vi /etc/php-fpm.d/www.conf

Ρυθμίστε τον χρήστη και την ομάδα σε Lighttpd.

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = lighttpd
; RPM: Keep a group allowed to write in log dir.
group = lighttpd

Επίσης, το PHP-FPM χρησιμοποιεί από προεπιλογή την υποδοχή /var/run/php/php7.0-fpm.sock, πρέπει να κάνετε PHP-FPM για να χρησιμοποιήσετε μια σύνδεση TCP. Κάντε τη γραμμή ακρόαση να φαίνεται ως εξής:

;listen = /var/run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000 

15. Τώρα ξεκινήστε την υπηρεσία PHP-FPM και φροντίστε να ενεργοποιήσετε την αυτόματη εκκίνηση κατά την εκκίνηση χρησιμοποιώντας τις ακόλουθες εντολές.

systemctl start php-fpm.service
systemctl enable php-fpm.service

Βήμα 4: Ενεργοποίηση PHP και PHP-FPM με το FastCGI στο Lighttpd

16. Εδώ, πρέπει να τροποποιήσουμε τρία αρχεία /etc/php.ini, /etc/lighttpd/modules.conf και /etc/lighttpd/conf.d/fastcgi.conf για να ενεργοποιήσετε την υποστήριξη PHP για Lighttpd.

Ανοίξτε το πρώτο αρχείο /etc/php.ini.

vi /etc/php.ini

Καταργήστε το σχόλιο στην ακόλουθη γραμμή που λέει line cgi.fix_pathinfo=1.

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1

Στη συνέχεια, ανοίξτε το δεύτερο αρχείο που ονομάζεται /etc/lighttpd/modules.conf.

vi /etc/lighttpd/modules.conf

Καταργήστε το σχόλιο στην ακόλουθη γραμμή που λέει συμπεριλάβετε το "conf.d/fastcgi.conf".

##
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"

Στη συνέχεια, ανοίξτε το τρίτο αρχείο που ονομάζεται /etc/lighttpd/conf.d/fastcgi.conf.

vi /etc/lighttpd/conf.d/fastcgi.conf

Τώρα προσθέστε το παρακάτω κοντέινερ στο κάτω μέρος του αρχείου και αποθηκεύστε το.

fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

Επανεκκινήστε την υπηρεσία Lighttpd για να αντικατοπτρίσετε τις αλλαγές και να ενεργοποιήσετε την υποστήριξη PHP.

systemctl restart lighttpd

Βήμα 5: Δοκιμή PHP και PHP-FPM με υποστήριξη FastCGI στο Lighttpd

17. Όπως είπαμε παραπάνω, η προεπιλεγμένη ρίζα εγγράφου για το Lighttpd είναι /var/www/lighttpd/. Έτσι, εδώ θα δημιουργήσουμε ένα αρχείο phpinfo.php σε αυτόν τον κατάλογο.

vi /var/www/lighttpd/info.php

Προσθέστε τις ακόλουθες γραμμές σε αυτό. Αυτό το μικρό κομμάτι κώδικα θα εμφανίζει πληροφορίες σχετικά με την εγκατάσταση PHP με τις εκδόσεις τους.

<?php
phpinfo();
?>

18. Ανοίξτε το πρόγραμμα περιήγησής σας και μεταβείτε στους παρακάτω συνδέσμους.

http://Your-Domain.com/info.php
OR
http://Your-IP-addr/info.php

Θα δείτε πληροφορίες λειτουργίας των PHP, PHP-FPM, και MySQL με πολλές άλλες λειτουργικές μονάδες που είναι ήδη ενεργοποιημένες.