Sådan installeres LEMP Server på CentOS 8


LEMP er en softwarestak, der består af et sæt gratis og open source-værktøjer, der bruges til at drive høj trafik og dynamiske websteder. LEMP er et akronym for Linux, Nginx (udtalt som Engine X), MariaDB/MySQL og PHP.

Nginx er en open source, robust og højtydende webserver, der også kan fordoble som en reverse-proxy. MariaDB er det databasesystem, der bruges til lagring af brugerdata, og PHP er et scriptsprog på serversiden, der bruges til at udvikle og understøtte dynamiske websider.

Relateret artikel: Sådan installeres LAMP-server på CentOS 8

I denne artikel lærer du, hvordan du installerer en LEMP-server på CentOS 8 Linux-distribution.

Trin 1: Opdater softwarepakker på CentOS 8

For at starte skal du opdatere både lager- og softwarepakker på CentOS 8 Linux ved at køre følgende dnf-kommando.

$ sudo dnf update

Trin 2: Installer Nginx Web Server på CentOS 8

Når pakken er opdateret, skal du installere Nginx ved hjælp af den enkle kommando.

$ sudo dnf install nginx

Kodestykket viser, at Nginx-installationen gik godt uden nogen hikke.

Når installationen er afsluttet, skal du konfigurere Nginx til at starte ved opstart og kontrollere, at Nginx kører ved at udføre kommandoerne.

$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx

For at kontrollere den installerede Nginx-version skal du køre kommandoen.

$ nginx -v

Hvis nysgerrighed bliver bedre af dig, og du vil grave mere information om Nginx, skal du udføre følgende rpm-kommando.

$ rpm -qi nginx 

For at bekræfte, at din Nginx-server kører ved hjælp af en browser, skal du blot skrive dit systems IP-adresse i URL-linjen og trykke på ENTER.

http://server-IP

Du skal kunne se en webside "Velkommen til Nginx", en indikator for, at din Nginx-webserver kører.

Trin 3: Installer MariaDB på CentOS 8

MariaDB er en gratis og open source fork af MySQL og leverer de nyeste funktioner, der gør det til en bedre erstatning for MySQL. For at installere MariaDB skal du køre kommandoen.

$ sudo dnf install mariadb-server mariadb

For at aktivere MariaDB at starte automatisk ved opstartstid skal du køre.

$ sudo systemctl enable mariadb

For at starte MariaDB-serveren skal du køre kommandoen.

$ sudo systemctl start mariadb

Efter installationen skal du bruge kommandoen nedenfor for at kontrollere dens status.

$ sudo systemctl status mariadb

MariaDB-databasemotoren er usikker, og alle kan logge ind uden legitimationsoplysninger. For at hærde MariaDB og sikre den for at minimere chancerne for uautoriseret adgang skal du køre kommandoen.

$ sudo mysql_secure_installation

Det følgende er en række meddelelser. Den første kræver, at du angiver en root-adgangskode. Tryk på ENTER, og skriv Y for Yes for at angive rodadgangskoden.

Når du har indstillet adgangskoden, skal du besvare de resterende spørgsmål for at fjerne den anonyme bruger, fjerne testdatabasen og deaktivere fjernrod-login.

Når du har gennemført alle trin, kan du logge ind på MariaDB-serveren og kontrollere oplysningerne om MariaDB-serverversionen (angiv den adgangskode, du angav, da du sikrede serveren).

$ mysql -u root -p

Trin 4: Installer PHP 7 på CentOS 8

Endelig skal vi installere den sidste komponent LEMP-stak, som er PHP, et scripting-programmeringssprog, der ofte bruges til udvikling af dynamiske websider.

På tidspunktet for skrivningen af denne vejledning er den seneste version PHP 7.4. Vi skal installere dette ved hjælp af Remi-arkivet. Remi repository er et gratis repository, der leveres med de nyeste avancerede softwareversioner, der ikke er tilgængelige som standard på CentOS.

Kør kommandoen nedenfor for at installere EPEL-arkivet.

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Derefter skal du fortsætte og installere yum-utils og aktivere remi-repository ved hjælp af kommandoen nedenfor.

$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Søg derefter efter de tilgængelige PHP-moduler, der er tilgængelige for installation.

$ sudo dnf module list php

Som vist viser output de tilgængelige PHP-moduler, stream og installationsprofiler. Fra nedenstående output kan vi se, at den aktuelt installerede version er PHP 7.2 angivet med et bogstav d , der er lukket i firkantede parenteser.

Fra output kan vi også se, at det nyeste PHP-modul er PHP 7.4, som vi skal installere. Men først skal vi nulstille PHP-modulerne. Så kør kommandoen.

$ sudo dnf module reset php

Derefter skal du aktivere PHP 7.4-modulet ved at køre.

$ sudo dnf module enable php:remi-7.4

Når PHP 7.4-modul er aktiveret, skal du endelig installere PHP, PHP-FPM (FastCGI Process Manager) og tilknyttede PHP-moduler ved hjælp af kommandoen.

$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

Bekræft nu den installerede version.

$ php -v 

Derefter skal du aktivere og starte php-fpm.

$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm

For at kontrollere dens status, udfør kommandoen.

$ sudo systemctl status php-fpm

En anden ting er, at PHP-FPM som standard er konfigureret til at køre som Apache-bruger. Men da vi kører en Nginx-webserver, er vi nødt til at ændre dette til Nginx-bruger.

Så åbn filen /etc/php-fpm.d/www.conf.

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

find disse to linjer.

user = apache
group = apache

Skift nu begge værdier til Nginx.

user = nginx
group = nginx

Gem og afslut konfigurationsfilen.

Genstart derefter Nginx og PHP-FPM for at ændringerne skal træde i kraft.

$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm

Trin 5: Test af PHP-oplysninger

Webmappemappen for Nginx er som standard i/usr/share/nginx/html/stien. For at teste PHP-FPM skal vi oprette en PHP-fil info.php og indsætte linjerne nedenfor.

<?php
 phpinfo();
?>

Gem og afslut filen.

Start din browser, og skriv din webservers IP-adresse i URL-linjen som vist.

http://server-ip-address/info.php

Hvis alt gik godt, vil du se oplysninger om den version af PHP, du kører, og andre metrics vises.

Og det er det, folkens! Du har med succes installeret LEMP-serverstakken på CentOS 8. Som en sikkerhedsforanstaltning vil du muligvis fjerne info.php-filen for at forhindre hackere i at hente oplysningerne fra din Nginx-server.