Kuidas installida LightTpd koos PHP ja MariaDB-ga saidile CentOS/RHEL 8/7


Lighttpd on avatud lähtekoodiga, turvaline, kiire, paindlik ja optimeeritum veebiserver, mis on loodud kiiruskriitiliste keskkondade jaoks, kus on vähem mälu kui teistes veebiserverites.

See suudab hallata ühes serveris paralleelselt kuni 10 000 ühendust, pakkudes tõhusat protsessori koormuse haldust ning sellega kaasnevad täiustatud funktsioonide komplektid, nagu FastCGI, SCGI, Auth, Output-Compression, URL-i ümberkirjutamine ja palju muud.

Lighttpd on suurepärane lahendus kõigile Linuxi serveritele tänu oma kiirele io-infrastruktuurile, mis võimaldab meil sama riistvaraga mitu korda paremat jõudlust skaleerida kui teiste alternatiivsete veebiserverite puhul.

Selles õpetuses selgitame, kuidas installida Lighttpd koos PHP, PHP-FPM ja MariaDB-ga CentOS/RHEL 8/7 jaotustele hostinimega linux-console.net ja IP-aadressiga 192.168.0.103.

1. samm: installige Lighttpd veebiserver

1. Lighttpd installimiseks peate kõigepealt värskendama oma süsteemi tarkvarapakette ja saadaolevaid hoidlaid järgmise käsu yum abil.

# yum -y update

2. Järgmisena peate oma süsteemis lubama EPEL-hoidla ja värskendama tarkvarapakette järgmiste käskude abil.

# yum -y install epel-release
# yum -y update

3. Kui olete EPEL-i hoidla lubanud, saate nüüd installida Lighttpd, käivitades järgmise käsu.

# yum install lighttpd

4. Kui Lighttpd paketid on installitud, saate käivitada teenuse ja käivitada selle automaatselt käivitamisel ning veenduda, et olek kinnitatakse järgmiste käskude abil.

# systemctl start lighttpd
# systemctl enable lighttpd
# systemctl status lighttpd

5. Nüüd kontrollige oma süsteemi installitud Lighttpd versiooni järgmise käsu abil.

# lighttpd -v

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

6. Nüüd peate lubama oma tulemüüril HTTP ja HTTPS liikluse.

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

7. Nüüd avage oma brauser ja osutage järgmisele URL-ile, et näha oma Lighttpd-veebiserveri tööd.

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

Lighttpd vaikimisi dokumendi juurkataloog on/var/www/lighttpd/ja peamine konfiguratsioonifail asub /etc/lighttpd/lighttpd.conf all.

2. samm: MariaDB installimine MySQL-iga CentOS 7-sse

8. Järgmisena installige MySQL-i tugi Lighttpd-le järgmiste käskude abil.

# yum -y install mariadb mariadb-server

9. Kui installimine on lõpule jõudnud, käivitage, lubage ja kontrollige MariaDB olekut järgmiste käskude abil.

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

10. Lõpuks peate oma MariaDB installi turvama järgmise käsu väljastamisega.

# mysql_secure_installation

Teil küsitakse paar erinevat küsimust seoses teie MariaDB installimisega ja sellega, kuidas soovite seda turvata. Saate muuta andmebaasi juurkasutaja parooli, keelata testandmebaasi, keelata anonüümsed kasutajad ja keelata juur sisselogimise eemalt.

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. Proovige luua ühendus MySQL-serveriga ja vaadake oma andmebaasiserveris olevad andmebaasid üle järgmiste terminalis olevate käskudega.

# 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. samm: PHP ja PHP-FPM koos FastCGI-ga installimine CentOS 7-le

12. PHP-FPM-i lubamiseks FastCGI toega peate esmalt installima PHP koos vajalike laiendustega järgmise käsu abil.

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

13. Kui PHP on installitud, lubage nüüd Lighttpd jaoks PHP-FPM ja FastCGI tugi, selleks peate installima ka need paketid.

# yum -y install php-fpm lighttpd-fastcgi

14. Nüüd avage fail nimega /etc/php-fpm.d/www.conf.

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

Määrake kasutajaks ja grupiks 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

Samuti kasutab PHP-FPM vaikimisi /var/run/php/php7.0-fpm.sock soklit, TCP-ühenduse kasutamiseks peate tegema PHP-FPM. Muutke rida listen välja järgmiselt:

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

15. Nüüd käivitage PHP-FPM-teenus ja veenduge, et see lubaks käivitamisel automaatselt käivitada järgmiste käskude abil.

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

4. samm: PHP ja PHP-FPM lubamine koos FastCGI-ga Lighttpd-s

16. Siin peame Lighttpd PHP-toe lubamiseks muutma kolme faili /etc/php.ini, /etc/lighttpd/modules.conf ja /etc/lighttpd/conf.d/fastcgi.conf.

Avage esimene fail /etc/php.ini.

# vi /etc/php.ini

Tühjendage järgmine rida, mis ütleb rida 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

Seejärel avage teine fail nimega /etc/lighttpd/modules.conf.

# vi /etc/lighttpd/modules.conf

Tühjendage järgmine rida, mis ütleb: „conf.d/fastcgi.conf”.

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

Järgmisena avage kolmas fail nimega /etc/lighttpd/conf.d/fastcgi.conf.

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

Nüüd lisage järgmine konteiner faili lõppu ja salvestage see.

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

Muutuste kajastamiseks ja PHP-toe lubamiseks taaskäivitage teenus Lighttpd.

# systemctl restart lighttpd

5. samm: PHP ja PHP-FPM testimine FastCGI toega Lighttpd-s

17. Nagu me eespool ütlesime, et Lighttpd vaikedokumendi juur on/var/www/lighttpd /. Niisiis, siin loome sellesse kataloogi faili phpinfo.php.

# vi /var/www/lighttpd/info.php

Lisage sellele järgmised read. See väike koodijupp kuvab teavet PHP installimise kohta koos nende versioonidega.

<?php
phpinfo();
?>

18. Avage oma brauser ja navigeerige järgmiste linkide juurde.

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

Näete PHP, PHP-FPM ja MySQL töötavat teavet koos paljude teiste juba lubatud moodulitega.