Kif Tinstalla Lighttpd b'PHP u MariaDB fuq CentOS/RHEL 8/7


Lighttpd huwa server tal-web b'sors miftuħ, sigur, veloċi, flessibbli u aktar ottimizzat iddisinjat għal ambjenti kritiċi għall-veloċità b'inqas utilizzazzjoni tal-memorja meta mqabbla ma' servers tal-web oħra.

Jista 'jimmaniġġja sa 10,000 konnessjoni parallela f'server wieħed b'ġestjoni effettiva tat-tagħbija tas-CPU u jiġi b'sett ta' karatteristiċi avvanzati bħal FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting u ħafna aktar.

Lighttpd huwa soluzzjoni eċċellenti għal kull server Linux, minħabba l-io-infrastruttura ta 'veloċità għolja li tippermettilna nskala prestazzjoni bosta drabi aħjar bl-istess ħardwer milli ma' servers tal-web alternattivi oħra.

F'dan it-tutorja, se nispjegaw kif tinstalla Lighttpd b'PHP, PHP-FPM, u MariaDB fuq distribuzzjonijiet CentOS/RHEL 8/7 bl-isem tal-host linux-console.net u l-indirizz IP 192.168.0.103.

Pass 1: Installa Lighttpd Web Server

1. Biex tinstalla Lighttpd, l-ewwel, għandek bżonn taġġorna l-pakketti tas-softwer tas-sistema tiegħek u r-repożitorji disponibbli billi tuża l-kmand yum li ġej.

# yum -y update

2. Sussegwentement, għandek bżonn tattiva r-repożitorju EPEL fis-sistema tiegħek u taġġorna l-pakketti tas-softwer billi tuża l-kmandi li ġejjin.

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

3. Ladarba tkun ippermettit ir-repożitorju EPEL, issa tista 'tinstalla Lighttpd billi tħaddem il-kmand li ġej.

# yum install lighttpd

4. Ladarba l-pakketti Lighttpd jiġu installati, tista 'tibda u tippermetti li s-servizz jibda awtomatikament fil-ħin tal-ibbutjar u kun żgur li tivverifika l-istatus billi tuża l-kmandi li ġejjin.

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

5. Issa ivverifika l-verżjoni ta 'Lighttpd installata fis-sistema tiegħek billi tuża l-kmand li ġej.

# lighttpd -v

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

6. Issa għandek bżonn tippermetti traffiku HTTP u HTTPS fuq il-firewall tiegħek.

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

7. Issa tiftaħ il-brawżer tiegħek u ppunta lejn il-URL li ġej biex tara l-webserver Lighttpd tiegħek jaħdem.

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

Id-direttorju tal-għeruq tad-dokument default għal Lighttpd huwa /var/www/lighttpd/ u l-fajl tal-konfigurazzjoni prinċipali jinsab taħt /etc/lighttpd/lighttpd.conf.

Pass 2: Installazzjoni ta' MariaDB bħala MySQL f'CentOS 7

8. Sussegwentement, installa l-appoġġ MySQL għal Lighttpd billi tuża l-kmandi li ġejjin.

# yum -y install mariadb mariadb-server

9. Ladarba l-installazzjoni titlesta, ibda, ppermettiet, u vverifika l-istatus ta 'MariaDB billi tuża l-kmandi li ġejjin.

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

10. Fl-aħħarnett, ser ikollok bżonn tiżgura l-installazzjoni MariaDB tiegħek billi toħroġ il-kmand li ġej.

# mysql_secure_installation

Inti ser tiġi mħeġġa ftit mistoqsijiet differenti dwar l-installazzjoni tiegħek MariaDB u kif tixtieq tiżguraha. Tista 'tbiddel il-password tal-utent tal-għeruq tad-database, tiddiżattiva d-database tat-test, tiddiżattiva utenti anonimi, u tiddiżattiva l-login tal-għeruq mill-bogħod.

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. Ipprova ikkonnettja mas-server MySQL u irrevedi d-databases eżistenti fuq is-server tad-database tiegħek bil-kmandi li ġejjin fuq it-terminal.

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

Pass 3: Installazzjoni ta' PHP u PHP-FPM b'FastCGI fuq CentOS 7

12. Biex tippermetti PHP-FPM b'appoġġ FastCGI, l-ewwel, għandek bżonn tinstalla PHP flimkien ma 'estensjonijiet meħtieġa billi tuża l-kmand li ġej.

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

13. Ladarba PHP installat, issa ppermetti l-appoġġ PHP-FPM u FastCGI għal Lighttpd, biex tagħmel dan għandek bżonn tinstalla dawn il-pakketti wkoll.

# yum -y install php-fpm lighttpd-fastcgi

14. Issa tiftaħ fajl imsejjaħ /etc/php-fpm.d/www.conf.

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

Issettja l-utent u l-grupp għal 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

Ukoll, PHP-FPM b'mod awtomatiku juża /var/run/php/php7.0-fpm.sock socket, għandek bżonn tagħmel PHP-FPM biex tuża konnessjoni TCP. Agħmel il-linja isma tidher kif ġej:

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

15. Issa ibda s-servizz PHP-FPM u kun żgur li tippermettilu jibda awtomatikament fil-ħin tal-ibbutjar billi tuża l-kmandi li ġejjin.

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

Pass 4: Attivazzjoni ta' PHP u PHP-FPM b'FastCGI f'Lighttpd

16. Hawnhekk, għandna bżonn nimmodifikaw tliet fajls /etc/php.ini, /etc/lighttpd/modules.conf u /etc/lighttpd/conf.d/fastcgi.conf biex nippermettu l-appoġġ PHP għal Lighttpd.

Iftaħ l-ewwel fajl /etc/php.ini.

# vi /etc/php.ini

Un-kummenta l-linja li ġejja li tgħid linja 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

Imbagħad iftaħ it-tieni fajl imsejjaħ /etc/lighttpd/modules.conf.

# vi /etc/lighttpd/modules.conf

Ħoll il-kumment tal-linja li ġejja li tgħid tinkludi conf.d/fastcgi.conf.

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

Sussegwentement, iftaħ it-tielet fajl imsejjaħ /etc/lighttpd/conf.d/fastcgi.conf.

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

Issa żid il-kontenitur li ġej fil-qiegħ tal-fajl u ssejvjah.

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

Ibda mill-ġdid is-servizz Lighttpd biex jirrifletti l-bidliet u jippermetti l-appoġġ PHP.

# systemctl restart lighttpd

Pass 5: Ittestjar PHP u PHP-FPM b'Appoġġ FastCGI f'Lighttpd

17. Kif għidna hawn fuq li l-għerq tad-dokument default għal Lighttpd huwa /var/www/lighttpd/. Allura, hawnhekk se noħolqu fajl phpinfo.php f'dan id-direttorju.

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

Żid magħha l-linji li ġejjin. Din il-biċċa żgħira ta 'kodiċi se turi informazzjoni dwar l-installazzjoni PHP bil-verżjonijiet tagħhom.

<?php
phpinfo();
?>

18. Iftaħ il-brawżer tiegħek u naviga għall-links li ġejjin.

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

Se tara informazzjoni ta 'ħidma ta' PHP, PHP-FPM, u MySQL ma 'lottijiet ta' moduli oħra li huma diġà attivati.