LEMP - CentOS 8 / RHEL 8 / Fedora

Co to jest LEMP?
LEMP (Linux, Nginx, MySQL, PHP) jest modyfikacją bardzo popularnego LAMP, czyli Linux, Apache, MySQL, PHP. Jest on używany do tworzenia aplikacji internetowych.

Co jest potrzebne?

  • VPS 2GB RAM (Najlepiej by nie chodził cały czas 100% zużycia pamięci)
  • CentOS 8, RHEL 8, Fedora
  • Trochę czasu.

Krok 1 - Przygotowanie Repozytoriów

Pierw dodamy repozytoria MariaDB (Serwera MySQL) do systemu.
Robimy to za pomocą

cat << EOF > /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB-10.4
baseurl=http://yum.mariadb.org/10.4/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

Później repozytoria PHP by zainstalować najnowszą możliwą wersję*
Zrobimy to za pomocą dwóch komend:
Pierw:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Następnie:

yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Po tych czynnościach wykonujemy:

yum update

Okej, repozytoria przygotowane, czas na instalację.

Krok 2 - Instalacja Pakietów

Zainstalujmy na początek NGINX, bo to najmniej problemowa czynność :slight_smile:

Aby zainstalować serwer WEB NGINX należy wpisać:

yum install -y nginx

Po zakończeniu tego procesu dodajmy reguły firewall by można było łączyć się spoza sieci lokalnej do serwera WWW

Dla połączeń przez port 80:

firewall-cmd --add-port=80/tcp --permanent

Dla połączeń przez port 443 (SSL):

firewall-cmd --add-port=443/tcp --permanent

Po tych czynnościach restartujemy Firewall za pomocą komendy

firewall-cmd --reload

I teraz wpisując http://IP_VPS wyskoczy nam:

Co oznacza że serwer WWW działa :tada:


Instalacja bazy danych MySQL:

yum install -y mariadb-server

Po zakończeniu tego procesu wpusujemy:

systemctl enable --now  mariadb

a następnie:

mysql_secure_installation

I postępujemy zgodnie z instrukcją.

Po zakończeniu tego procesu baza MySQL działa! :tada:


Instalacja PHP 7.4

Na początek wyrzućmy domyślną wersję zrobimy to za pomocą:

yum module disable php

Okej, wyrzucona domyślna wersja? Czas dodać najnowszą:

yum module install php:remi-7.4

I instalujemy:

sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql php-fpm

Aby zainstalować dodatki typ. PDO, MySQLi należy wpisać:

yum install php-<dodatek>

Okej, uruchamiamy obsługę PHP-FPM aby w serwerze www działał PHP

systemctl enable --now php-fpm

Testujemy czy działa PHP:

Tworzymy plik za pomocą:

nano /usr/share/nginx/html/test.php

I wklejamy:

<?php
   phpinfo();
?>

Uruchamiamy w przeglądarce:

http://ip_vps/test.php

Jeżeli ujrzymy coś takiego, to znaczy że serwer działa w 100%


Instalacja phpMyAdmin:

cd /usr/share/nginx/html/ && wget https://files.phpmyadmin.net/phpMyAdmin/4.9.2/phpMyAdmin-4.9.2-all-languages.zip && yum install -y unzip && unzip phpMyAdmin-4.9.2-all-languages.zip && mkdir phpMyAdmin && mv phpMyAdmin-4.9.2-all-languages/* phpMyAdmin && rm -rf phpMyAdmin-4.9.2-all-languages

Następnie wpisujemy w przeglądarce:

http://ip_vps/phpMyAdmin

I phpMyAdmin zainstalowany!


Dziękuje za przeczytanie poradnika,
Jeżeli zrobiłem gdzieś błąd przepraszam.

Miłego korzystania z poradnika :slight_smile:



* - Na dzień pisania poradnika jest to wersja 7.4

Źródła:

  • Wiedza własna
  • Poradniki dot. CentOSa
  • Zdjęcia z Google Grafika

Jeżeli poradnik się przyjmie, zrobię następny gdzie tworzymy vHosty, oraz vHosty z SSL + HTTP/2

Niekompletny poradnik :slight_smile: Brak konfiguracji socketu fpm dla nginx. Ps. od rhel 8 używa się dnf, tym został zamieniony przynajmniej w centosie.

1lajk

Po instalacji według mojego poradnika działa PHP pod

http://ip/

Przykład test.php z mojego serwera świeżo po instalacji według poradnika (mojego):

vHosty z wszystkimi dodatkami będzie w następnym poradniku.