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.