Jinsi ya kusakinisha Lighttpd na PHP na MariaDB kwenye CentOS/RHEL 8/7


Lighttpd ni seva ya tovuti huria, salama, ya haraka, inayoweza kunyumbulika na iliyoboreshwa zaidi iliyoundwa kwa ajili ya mazingira muhimu ya kasi na utumiaji wa kumbukumbu kidogo ikilinganishwa na seva zingine za wavuti.

Inaweza kushughulikia hadi miunganisho 10,000 sambamba katika seva moja yenye udhibiti mzuri wa upakiaji wa CPU na inakuja na seti ya hali ya juu kama vile FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting na mengine mengi.

Lighttpd ni suluhisho bora kwa kila seva ya Linux, kwa sababu ya miundombinu yake ya kasi ya io ambayo huturuhusu kuongeza utendakazi bora mara kadhaa kwa maunzi sawa kuliko seva zingine mbadala za wavuti.

Katika somo hili, tutaeleza jinsi ya kusakinisha Lighttpd na PHP, PHP-FPM, na MariaDB kwenye usambazaji wa CentOS/RHEL 8/7 kwa jina la mpangishaji linux-console.net na anwani ya IP 192.168.0.103.

Hatua ya 1: Sakinisha Seva ya Wavuti ya Lighttpd

1. Ili kusakinisha Lighttpd, kwanza, unahitaji kusasisha vifurushi vya programu ya mfumo wako na hazina zinazopatikana kwa kutumia amri ifuatayo ya yum.

# yum -y update

2. Kisha, unahitaji kuwezesha hazina ya EPEL kwenye mfumo wako na usasishe vifurushi vya programu kwa kutumia amri zifuatazo.

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

3. Baada ya kuwezesha hazina ya EPEL, sasa unaweza kusakinisha Lighttpd kwa kutekeleza amri ifuatayo.

# yum install lighttpd

4. Mara tu vifurushi vya Lighttpd vimewekwa, unaweza kuanza na kuwezesha huduma kuanza moja kwa moja wakati wa boot na uhakikishe kuthibitisha hali kwa kutumia amri zifuatazo.

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

5. Sasa thibitisha toleo la Lighttpd iliyosakinishwa kwenye mfumo wako kwa kutumia amri ifuatayo.

# lighttpd -v

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

6. Sasa unahitaji kuruhusu trafiki ya HTTP na HTTPS kwenye ngome yako.

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

7. Sasa fungua kivinjari chako na uelekeze kwa URL ifuatayo ili kuona seva yako ya wavuti ya Lighttpd ikifanya kazi.

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

Saraka ya msingi ya hati ya Lighttpd ni /var/www/lighttpd/ na faili kuu ya usanidi iko chini ya /etc/lighttpd/lighttpd.conf.

Hatua ya 2: Kufunga MariaDB kama MySQL katika CentOS 7

8. Kisha, sakinisha msaada wa MySQL kwa Lighttpd kwa kutumia amri zifuatazo.

# yum -y install mariadb mariadb-server

9. Baada ya usakinishaji kukamilika, anza, wezesha, na uthibitishe hali ya MariaDB kwa kutumia amri zifuatazo.

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

10. Hatimaye, utahitaji kulinda usakinishaji wako wa MariaDB kwa kutoa amri ifuatayo.

# mysql_secure_installation

Utaulizwa maswali machache tofauti kuhusu usakinishaji wako wa MariaDB na jinsi ungependa kuulinda. Unaweza kubadilisha nenosiri la msingi la mtumiaji wa hifadhidata, kuzima hifadhidata ya majaribio, kuzima watumiaji wasiojulikana, na kuzima kuingia kwa mizizi ukiwa mbali.

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. Jaribu kuunganisha kwenye seva ya MySQL na ukague hifadhidata zilizopo kwenye seva yako ya hifadhidata kwa amri zifuatazo kwenye 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)]>

Hatua ya 3: Kusakinisha PHP na PHP-FPM kwa FastCGI kwenye CentOS 7

12. Ili kuwezesha PHP-FPM kwa usaidizi wa FastCGI, kwanza, unahitaji kusakinisha PHP pamoja na upanuzi muhimu kwa kutumia amri ifuatayo.

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

13. Baada ya PHP kusakinishwa, sasa washa usaidizi wa PHP-FPM na FastCGI kwa Lighttpd, ili kufanya hivyo unahitaji kusakinisha vifurushi hivi pia.

# yum -y install php-fpm lighttpd-fastcgi

14. Sasa fungua faili inayoitwa /etc/php-fpm.d/www.conf.

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

Weka mtumiaji na kikundi kwa 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

Pia, PHP-FPM kwa chaguo-msingi hutumia /var/run/php/php7.0-fpm.sock, unahitaji kufanya PHP-FPM kutumia muunganisho wa TCP. Fanya mstari wa sikiliza uonekane kama ifuatavyo:

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

15. Sasa anza huduma ya PHP-FPM na uhakikishe kuiwezesha kuanza kiotomatiki wakati wa kuwasha kwa kutumia amri zifuatazo.

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

Hatua ya 4: Kuwezesha PHP na PHP-FPM na FastCGI katika Lighttpd

16. Hapa, tunahitaji kurekebisha faili tatu /etc/php.ini, /etc/lighttpd/modules.conf na /etc/lighttpd/conf.d/fastcgi.conf ili kuwezesha usaidizi wa PHP kwa Lighttpd.

Fungua faili ya kwanza /etc/php.ini.

# vi /etc/php.ini

Ondoa maoni kwenye mstari ufuatao unaosema mstari 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

Kisha fungua faili ya pili inayoitwa /etc/lighttpd/modules.conf.

# vi /etc/lighttpd/modules.conf

Ondoa maoni kwenye mstari ufuatao unaosema ni pamoja na conf.d/fastcgi.conf.

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

Kisha, fungua faili ya tatu inayoitwa /etc/lighttpd/conf.d/fastcgi.conf.

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

Sasa ongeza chombo kifuatacho chini ya faili na uihifadhi.

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

Anzisha upya huduma ya Lighttpd ili kuonyesha mabadiliko na kuwezesha usaidizi wa PHP.

# systemctl restart lighttpd

Hatua ya 5: Kujaribu PHP na PHP-FPM kwa Usaidizi wa FastCGI katika Lighttpd

17. Kama Tulivyosema hapo juu kwamba mzizi wa hati chaguo-msingi wa Lighttpd ni /var/www/lighttpd/. Kwa hiyo, hapa tutaunda faili ya phpinfo.php kwenye saraka hii.

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

Ongeza mistari ifuatayo kwake. Sehemu hii ndogo ya msimbo itaonyesha habari kuhusu usakinishaji wa PHP na matoleo yao.

<?php
phpinfo();
?>

18. Fungua kivinjari chako na uende kwenye viungo vifuatavyo.

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

Utaona maelezo ya kazi ya PHP, PHP-FPM, na MySQL yenye moduli nyingi ambazo tayari zimewashwa.