Wyszukiwanie w witrynie

Zainstaluj LEMP - Nginx, PHP, MariaDB i PhpMyAdmin w OpenSUSE


Stos LEMP lub Linux, Engine-x, MySQL i PHP to oprogramowanie pakiet składający się z oprogramowania open source zainstalowanego na systemie operacyjnym Linux, służącego do uruchamiania aplikacji internetowych opartych na PHP, zasilanych przez serwer Nginx HTTP i system zarządzania bazami danych MySQL/MariaDB.

Przeczytaj także: Zainstaluj LAMPę – Apache, PHP, MariaDB i PhpMyAdmin w OpenSUSE

W tym samouczku dowiesz się, jak zainstalować stos LEMP z Nginx, MariaDB, PHP, PHP-FPM i PhpMyAdmin w OpenSuse wersjach serwerowych/komputerowych.

Instalowanie serwera HTTP Nginx

Nginx to szybki i niezawodny serwer HTTP i proxy, który może obsłużyć większe obciążenie żądań HTTP. Do obsługi żądań wykorzystuje asynchroniczne podejście oparte na zdarzeniach, a jego modułowa architektura sterowana zdarzeniami może zapewnić bardziej przewidywalną wydajność przy dużych obciążeniach.

Aby zainstalować Nginx na OpenSuse, uruchom następujące polecenie.

sudo zypper install nginx

Po zainstalowaniu Nginx możesz na razie uruchomić usługę, następnie włączyć automatyczne uruchamianie podczas rozruchu i sprawdzić stan Nginx, uruchamiając następujące polecenia.

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

Przeczytaj także: 10 najczęściej używanych poleceń Nginx, które każdy użytkownik Linuksa musi znać

W tym momencie serwer WWW Nginx powinien być uruchomiony. Możesz także sprawdzić status za pomocą polecenia netstat, jak pokazano.

sudo netstat -tlpn | grep nginx

Teraz musimy sprawdzić, czy instalacja Nginx działa prawidłowo. W przeciwieństwie do innych dystrybucji Linuksa, w openSUSE, Nginx nie ma standardowego dokumentu index.html w głównym folderze internetowym. Musimy utworzyć nowy plik index.html w głównym katalogu internetowym "/srv/www/htdocs", jak pokazano.

echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Jeśli masz zainstalowaną zaporę sieciową, musisz otworzyć porty 80 i 443, aby zezwolić na ruch sieciowy na zaporze.

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

Następnie otwórz przeglądarkę internetową i przejdź do adresu http://localhost i zweryfikuj stronę Nginx.

Instalowanie serwera bazy danych MariaDB

MariaDB to darmowy rozwidlenie systemu zarządzania relacyjnymi bazami danych MySQL o otwartym kodzie źródłowym. Został opracowany przez oryginalnych twórców MySQL i ma pozostać oprogramowaniem typu open source. MariaDB jest szybka, skalowalna i solidna, a bogaty ekosystem silników pamięci masowej, wtyczek i wielu innych narzędzi czyni ją bardzo wszechstronną w szerokiej gamie zastosowań.

Aby zainstalować MariaDB na OpenSuse, uruchom następujące polecenie.

sudo zypper install mariadb mariadb-client 

Następnie uruchom na razie usługę MariaDB, a następnie włącz jej automatyczne uruchamianie podczas uruchamiania i sprawdź jej status.

sudo systemctl start mariadb 
sudo systemctl enable mariadb 
sudo systemctl status mariadb 

Następnym krytycznym krokiem w tej sekcji jest zabezpieczenie instalacji serwera MariaDB. Dlatego uruchom skrypt bezpieczeństwa dostarczony z pakietem MariaDB, jak pokazano.

Uwaga: zdecydowanie zaleca się uruchamianie skryptu bezpieczeństwa MariaDB i wszystkich jego części w przypadku wszystkich produkcyjnych serwerów MariaDB.

sudo mysql_secure_installation 

Po uruchomieniu skryptu przeczytaj uważnie opis każdego kroku. Należy ustawić hasło użytkownika root, usunąć użytkowników anonimowych, wyłączyć zdalny dostęp roota, usunąć testową bazę danych i dostęp do niej, a na koniec ponownie załadować tabelę uprawnień.

Instalacja i konfiguracja PHP i PHP-FPM

PHP-FPM (skrót od PHP FastCGI Process Manager) to alternatywny demon FastCGI dla PHP z kilkoma dodatkowymi funkcjami i zaprojektowany do przenoszenia dużych obciążeń. Utrzymuje pule (pracownicy, którzy mogą odpowiadać na żądania PHP), aby to osiągnąć. Co ważne, jest szybsza niż tradycyjne metody oparte na CGI, takie jak SUPHP, w środowiskach PHP dla wielu użytkowników.

Aby zainstalować PHP i PHP-FPM wraz z potrzebnymi modułami, uruchom poniższe polecenie.

sudo zypper install php php-mysql php-fpm php-gd php-mbstring

Zanim przystąpimy do uruchomienia usługi PHP-FPM, należy utworzyć wymagane pliki konfiguracyjne z plików domyślnych dostarczonych podczas instalacji i skonfigurować usługę tak, aby była gotowa do działania.

sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

Następnie otwórz główny plik konfiguracyjny php-fpm.conf do edycji.

sudo vim /etc/php7/fpm/php-fpm.conf 

Odkomentuj następujący wiersz pod numerem 24, jak pokazano.

error_log = log/php-fpm.log

Zapisz i zamknij plik.

Następnie musimy zdefiniować prawidłowe ustawienia skonfigurowanych pul w pliku konfiguracyjnym www.conf.

sudo vim /etc/php7/fpm/php-fpm.d/www.conf

Najpierw skonfiguruj właściciela Uniksa i właściciela grupy procesów dla użytkownika i grupy Nginx. Zrób to, zmieniając wartości parametrów użytkownika i grupy z nobody na nginx.

user = nginx
group = nginx

Teraz zapisz zmiany w pliku i wyjdź z niego.

Dodatkowo należy wykonać jeszcze jedną ważną konfigurację, która zabezpiecza PHP-FPM w pliku /etc/php/cli/php.ini.

sudo vim /etc/php7/cli/php.ini

Wyszukaj linię ;cgi.fix_pathinfo=1 i zmień ją na.

cgi.fix_pathinfo=0

Zapisz zmiany w pliku i wyjdź.

Następnie uruchom na razie usługę PHP-FPM, a następnie włącz ją, aby automatycznie uruchamiała się podczas uruchamiania systemu i sprawdź jej status.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm

Konfigurowanie Nginx do pracy z PHP-FPM

W tym momencie musimy skonfigurować Nginx do pracy z PHP-FPM w domyślnym pliku konfiguracyjnym Nginx.

sudo vim /etc/nginx/nginx.conf

Następnie poszukaj poniższej sekcji i dodaj plik index.php do listy oczekiwanych plików indeksu.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

Znajdź także następującą sekcję (którą należy skomentować) i odkomentuj ją. Ta sekcja służy do przekazywania skryptów PHP do serwera FastCGI nasłuchującego na 127.0.0.1:9000.

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

Zapisz zmiany w pliku i wyjdź.

Testuję Nginx i PHP-FPM

Następnym krokiem jest sprawdzenie, czy Nginx działa dobrze w połączeniu z PHP-FPM, tworząc nowy plik testowy PHP w katalogu DocumentRoot jako pokazane.

echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

Teraz musimy sprawdzić, czy konfiguracja Nginx jest poprawna w następujący sposób, zanim przystąpimy do ponownego uruchomienia usługi.

sudo nginx -t

Jeśli składnia konfiguracji Nginx jest prawidłowa, zrestartuj usługi Nginx i PHP-FPM, aby ostatnie zmiany zaczęły obowiązywać.

sudo systemctl restart nginx php-fpm

Teraz otwórz przeglądarkę internetową i przejdź do adresu http://localhost/info.php, aby zweryfikować konfigurację PHP, jak pokazano na poniższym zrzucie ekranu.

Instalacja i konfiguracja PhpMyAdmina

phpMyAdmin to bezpłatne, proste, łatwe w obsłudze i popularne narzędzie napisane w języku PHP, przeznaczone do administrowania serwerem MySQL przez Internet. Obsługuje szeroki zakres operacji na MySQL i MariaDB.

Aby zainstalować phpMyAdmin na OpenSuse, uruchom następujące polecenie.

sudo zypper install phpMyAdmin

Po zakończeniu instalacji utwórz nowy plik konfiguracyjny vhost umożliwiający dostęp do phpMyAdmin, jak pokazano.

sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Dodaj następującą konfigurację do pliku.

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

Zapisz zmiany i zamknij plik. Następnie zrestartuj usługę Nginx za pomocą następującego polecenia.

sudo systemctl restart nginx

Teraz przejdź do przeglądarki internetowej i wpisz adres http://localhost/phpMyAdmin. Powinna zostać wyświetlona strona logowania phpMyAdmin, jak pokazano na poniższym zrzucie ekranu. Wprowadź dane logowania użytkownika root bazy danych i kliknij Idź.

To wszystko! W tym samouczku wyjaśniliśmy, jak zainstalować stos LEMP z Nginx, MariaDB, PHP, PHP-FPM i PhpMyAdmin w OpenSuse wersjach serwerowych/komputerowych. Jeśli podczas konfiguracji napotkasz jakiekolwiek problemy, zadaj pytania za pomocą poniższego formularza komentarza.