Kako instalirati Lighttpd sa PHP i MariaDB na CentOS/RHEL 8/7


Lighttpd je open-source, siguran, brz, fleksibilan i optimiziraniji web server dizajniran za okruženja koja su kritična za brzinu sa manjim korištenjem memorije u usporedbi s drugim web serverima.

Može da obradi do 10.000 paralelnih veza na jednom serveru sa efektivnim upravljanjem CPU opterećenjem i dolazi sa naprednim skupom funkcija kao što su FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting i još mnogo toga.

Lighttpd je odlično rješenje za svaki Linux server, zbog svoje brze io-infrastrukture koja nam omogućava nekoliko puta bolje performanse s istim hardverom nego s drugim alternativnim web serverima.

U ovom vodiču ćemo objasniti kako instalirati Lighttpd sa PHP, PHP-FPM, i MariaDB na CentOS/RHEL 8/7 distribucije sa imenom hosta linux-console.net i IP adresom 192.168.0.103.

Korak 1: Instalirajte Lighttpd Web server

1. Da biste instalirali Lighttpd, prvo morate ažurirati sistemske softverske pakete i dostupna spremišta koristeći sljedeću yum komandu.

yum -y update

2. Zatim morate omogućiti EPEL spremište na vašem sistemu i ažurirati softverske pakete koristeći sljedeće naredbe.

yum -y install epel-release
yum -y update

3. Nakon što ste omogućili EPEL spremište, sada možete instalirati Lighttpd tako što ćete pokrenuti sljedeću naredbu.

yum install lighttpd

4. Kada se instaliraju Lighttpd paketi, možete pokrenuti i omogućiti da se usluga automatski pokrene prilikom pokretanja i provjerite status koristeći sljedeće komande.

systemctl start lighttpd
systemctl enable lighttpd
systemctl status lighttpd

5. Sada provjerite verziju Lighttpd instaliranog na vašem sistemu koristeći sljedeću naredbu.

lighttpd -v

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

6. Sada morate dozvoliti HTTP i HTTPS promet na vašem firewall-u.

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

7. Sada otvorite svoj pretraživač i pokažite na sljedeći URL da vidite kako vaš Lighttpd web server radi.

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

Zadani korijenski direktorij dokumenta za Lighttpd je /var/www/lighttpd/, a glavna konfiguracijska datoteka se nalazi pod /etc/lighttpd/lighttpd.conf.

Korak 2: Instaliranje MariaDB kao MySQL u CentOS 7

8. Zatim instalirajte podršku za MySQL za Lighttpd koristeći sljedeće komande.

yum -y install mariadb mariadb-server

9. Kada se instalacija završi, pokrenite, omogućite i provjerite status MariaDB-a koristeći sljedeće naredbe.

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

10. Konačno, morat ćete osigurati svoju MariaDB instalaciju izdavanjem sljedeće naredbe.

mysql_secure_installation

Bićete upitani za nekoliko različitih pitanja u vezi sa vašom instalacijom MariaDB-a i kako biste je želeli da obezbedite. Možete promijeniti korijensku korisničku lozinku baze podataka, onemogućiti testnu bazu podataka, onemogućiti anonimne korisnike i onemogućiti root prijavu na daljinu.

Sample Output
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. Pokušajte da se povežete na MySQL server i pregledajte postojeće baze podataka na vašem serveru baze podataka pomoću sledećih komandi na terminalu.

mysql -u root -p
Sample Output
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)]>

Korak 3: Instaliranje PHP-a i PHP-FPM-a sa FastCGI na CentOS 7

12. Da omogućite PHP-FPM sa podrškom za FastCGI, prvo morate instalirati PHP zajedno sa potrebnim ekstenzijama koristeći sljedeću naredbu.

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

13. Nakon što je PHP instaliran, sada omogućite PHP-FPM i FastCGI podršku za Lighttpd >, da biste to učinili morate instalirati i ove pakete.

yum -y install php-fpm lighttpd-fastcgi

14. Sada otvorite datoteku pod nazivom /etc/php-fpm.d/www.conf.

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

Postavite korisnika i grupu na Lighthttpd.

; 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

Takođe, PHP-FPM podrazumevano koristi /var/run/php/php7.0-fpm.sock socket, potrebno je da napravite PHP-FPM za korištenje TCP veze. Neka linija slušaj izgleda ovako:

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

15. Sada pokrenite PHP-FPM uslugu i uvjerite se da je omogućite da se automatski pokreće prilikom pokretanja koristeći sljedeće komande.

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

Korak 4: Omogućavanje PHP-a i PHP-FPM-a sa FastCGI u Lighttpd-u

16. Ovdje moramo izmijeniti tri fajla /etc/php.ini, /etc/lighttpd/modules.conf i /etc/lighttpd/conf.d/fastcgi.conf da omogućite PHP podršku za Lighttpd.

Otvorite prvi fajl /etc/php.ini.

vi /etc/php.ini

Poništite komentar u sljedećem redu koji kaže 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

Zatim otvorite drugu datoteku pod nazivom /etc/lighttpd/modules.conf.

vi /etc/lighttpd/modules.conf

Poništite komentar u sljedećem redu koji kaže uključi “conf.d/fastcgi.conf”.

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

Zatim otvorite treću datoteku pod nazivom /etc/lighttpd/conf.d/fastcgi.conf.

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

Sada dodajte sljedeći kontejner na dno datoteke i spremite ga.

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

Ponovo pokrenite uslugu Lighttpd da odrazite promjene i omogućite PHP podršku.

systemctl restart lighttpd

Korak 5: Testiranje PHP-a i PHP-FPM-a sa FastCGI podrškom u Lighttpd-u

17. Kao što smo rekli gore da je zadani korijen dokumenta za Lighttpd /var/www/lighttpd/. Dakle, ovdje ćemo kreirati datoteku phpinfo.php u ovom direktoriju.

vi /var/www/lighttpd/info.php

Dodajte mu sljedeće redove. Ovaj mali dio koda će prikazati informacije o PHP instalaciji sa njihovim verzijama.

<?php
phpinfo();
?>

18. Otvorite svoj pretraživač i idite na sljedeće veze.

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

Vidjet ćete radne informacije o PHP, PHP-FPM i MySQL sa puno drugih modula koji su već omogućeni.