Hvernig á að setja upp Lighttpd með PHP og MariaDB á CentOS/RHEL 8/7


Lighttpd er opinn uppspretta, öruggur, fljótur, sveigjanlegri og bjartsýnni vefþjónn hannaður fyrir hraða mikilvægt umhverfi með minni minnisnotkun samanborið við aðra vefþjóna.

Það getur séð um allt að 10.000 tengingar samhliða á einum netþjóni með skilvirkri CPU-hleðslustjórnun og kemur með háþróaða eiginleika eins og FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting og margt fleira.

Lighttpd er frábær lausn fyrir alla Linux netþjóna, vegna háhraða io-innviða sem gerir okkur kleift að skala margfalt betri afköst með sama vélbúnaði en með öðrum öðrum vefþjónum.

Í þessari kennslu munum við útskýra hvernig á að setja upp Lighttpd með PHP, PHP-FPM og MariaDB á CentOS/RHEL 8/7 dreifingum með hýsingarheiti linux-console.net og IP tölu 192.168.0.103.

Skref 1: Settu upp Lighttpd vefþjón

1. Til að setja upp Lighttpd þarftu fyrst að uppfæra kerfishugbúnaðarpakkana þína og tiltækar geymslur með því að nota eftirfarandi yum skipun.

# yum -y update

2. Næst þarftu að virkja EPEL geymslu á kerfinu þínu og uppfæra hugbúnaðarpakka með eftirfarandi skipunum.

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

3. Þegar þú hefur virkjað EPEL geymsluna geturðu nú sett upp Lighttpd með því að keyra eftirfarandi skipun.

# yum install lighttpd

4. Þegar Lighttpd pakkarnir hafa verið settir upp geturðu ræst og virkjað þjónustuna til að byrja sjálfkrafa við ræsingu og ganga úr skugga um að staðfesta stöðuna með því að nota eftirfarandi skipanir.

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

5. Staðfestu nú útgáfu Lighttpd sem er uppsett á kerfinu þínu með því að nota eftirfarandi skipun.

# lighttpd -v

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

6. Nú þarftu að leyfa HTTP og HTTPS umferð á eldveggnum þínum.

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

7. Opnaðu nú vafrann þinn og bentu á eftirfarandi vefslóð til að sjá Lighttpd vefþjóninn þinn virka.

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

Sjálfgefin rótskrá skjalsins fyrir Lighttpd er /var/www/lighttpd/ og aðalstillingarskráin er staðsett undir /etc/lighttpd/lighttpd.conf.

Skref 2: Uppsetning MariaDB sem MySQL í CentOS 7

8. Næst skaltu setja upp MySQL stuðning fyrir Lighttpd með því að nota eftirfarandi skipanir.

# yum -y install mariadb mariadb-server

9. Þegar uppsetningunni er lokið skaltu byrja, virkja og staðfesta stöðu MariaDB með eftirfarandi skipunum.

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

10. Að lokum þarftu að tryggja MariaDB uppsetninguna þína með því að gefa út eftirfarandi skipun.

# mysql_secure_installation

Þú verður beðinn um nokkrar mismunandi spurningar varðandi MariaDB uppsetninguna þína og hvernig þú vilt tryggja hana. Þú getur breytt lykilorði rótarnotanda gagnagrunnsins, slökkt á prófunargagnagrunninum, slökkt á nafnlausum notendum og slökkt á rótarinnskráningu lítillega.

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. Prófaðu að tengjast MySQL þjóninum og skoðaðu núverandi gagnagrunna á gagnagrunnsþjóninum þínum með eftirfarandi skipunum á flugstöðinni.

# 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)]>

Skref 3: Uppsetning PHP og PHP-FPM með FastCGI á CentOS 7

12. Til að virkja PHP-FPM með FastCGI stuðningi þarftu fyrst að setja upp PHP ásamt nauðsynlegum viðbótum með því að nota eftirfarandi skipun.

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

13. Þegar PHP hefur verið sett upp, virkjaðu nú PHP-FPM og FastCGI stuðning fyrir Lighttpd, til að gera þetta þarftu líka að setja upp þessa pakka.

# yum -y install php-fpm lighttpd-fastcgi

14. Opnaðu nú skrá sem heitir /etc/php-fpm.d/www.conf.

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

Stilltu notanda og hóp á 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

Einnig, PHP-FPM notar sjálfgefið /var/run/php/php7.0-fpm.sock fals, þú þarft að búa til PHP-FPM til að nota TCP tengingu. Láttu hlusta línuna líta út sem hér segir:

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

15. Ræstu nú PHP-FPM þjónustuna og vertu viss um að gera það kleift að byrja sjálfkrafa við ræsingu með því að nota eftirfarandi skipanir.

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

Skref 4: Virkja PHP og PHP-FPM með FastCGI í Lighttpd

16. Hér þurfum við að breyta þremur skrám /etc/php.ini, /etc/lighttpd/modules.conf og /etc/lighttpd/conf.d/fastcgi.conf til að virkja PHP stuðning fyrir Lighttpd.

Opnaðu fyrstu skrána /etc/php.ini.

# vi /etc/php.ini

Taktu athugasemd við eftirfarandi línu sem segir lína 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

Opnaðu síðan aðra skrá sem heitir /etc/lighttpd/modules.conf.

# vi /etc/lighttpd/modules.conf

Taktu athugasemd við eftirfarandi línu sem segir innihalda conf.d/fastcgi.conf.

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

Næst skaltu opna þriðju skrána sem heitir /etc/lighttpd/conf.d/fastcgi.conf.

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

Bættu nú við eftirfarandi íláti neðst á skránni og vistaðu það.

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

Endurræstu Lighttpd þjónustuna til að endurspegla breytingar og virkja PHP stuðning.

# systemctl restart lighttpd

Skref 5: Prófaðu PHP og PHP-FPM með FastCGI stuðningi í Lighttpd

17. Eins og við sögðum hér að ofan að sjálfgefna skjalrótin fyrir Lighttpd er /var/www/lighttpd/. Svo, hér munum við búa til phpinfo.php skrá í þessa möppu.

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

Bættu eftirfarandi línum við það. Þetta litla stykki af kóða mun sýna upplýsingar um PHP uppsetningu með útgáfum þeirra.

<?php
phpinfo();
?>

18. Opnaðu vafrann þinn og farðu á eftirfarandi tengla.

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

Þú munt sjá vinnuupplýsingar um PHP, PHP-FPM og MySQL með fullt af öðrum einingum sem eru þegar virkar.