Jak zainstalować PHP na CentOS Stream 9

PHP to powszechnie używany język skryptowy po stronie serwera, przeznaczony do tworzenia stron internetowych, ale używany również jako język programowania ogólnego przeznaczenia. Jest szczególnie preferowany do tworzenia dynamicznych i interaktywnych stron internetowych. Zainstalowanie najnowszych wersji PHP, takich jak 8.3, 8.2 lub 8.1, zapewnia dostęp do najnowszych funkcji, ulepszeń wydajności i poprawek zabezpieczeń. W CentOS Stream 9 możesz łatwo zainstalować te wersje, korzystając z repozytorium Remi RPM, które jest dobrze znane z dostarczania aktualnych pakietów PHP.

Ten przewodnik przeprowadzi Cię przez proces włączania repozytorium Remi i instalowania najnowszych wersji PHP na CentOS Stream 9.

Zaimportuj Remi PHP RPM na CentOS

Aktualizowanie strumienia CentOS przed instalacją PHP

Ważne jest, aby zacząć od aktualizacji systemu CentOS Stream, aby upewnić się, że wszystkie istniejące pakiety są aktualne. Ten krok jest niezbędny dla stabilności i bezpieczeństwa systemu.

Otwórz terminal i wykonaj następujące polecenie, aby zaktualizować system:

sudo dnf upgrade --refresh

To polecenie odświeża bazę danych pakietów i aktualizuje wszystkie zainstalowane pakiety do najnowszych dostępnych wersji.

Importowanie repozytorium Remi PHP RPM

Repozytorium Remi PHP to repozytorium strony trzeciej, które oferuje najnowsze wersje PHP. Przed dodaniem repozytorium Remi należy zainstalować repozytorium EPEL, które udostępnia dodatkowe pakiety dla Enterprise Linux.

Po pierwsze, zalecane jest włączenie repozytorium CodeReady Linux Builder (CRB), choć jest to opcjonalne. Zapewnia dodatkowe narzędzia i biblioteki programistyczne. Włącz CRB za pomocą:

sudo dnf config-manager --set-enabled crb

Po włączeniu CRB zainstaluj repozytorium EPEL dla EL9, używając:

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm

Na koniec zaimportuj repozytorium Remi PHP dla EL9:

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

Włączanie repozytorium PHP Remi w strumieniu CentOS

Lista dostępnych modułów PHP

Przed instalacją PHP koniecznie sprawdź dostępne wersje PHP w repozytorium Remi. Ten krok pomoże Ci podjąć świadomą decyzję o tym, którą wersję zainstalować.

Użyj następującego polecenia, aby wyświetlić listę wszystkich modułów PHP:

dnf module list php

To polecenie wyświetla wszystkie wersje PHP dostępne w repozytorium Remi. To kluczowy krok, aby mieć pewność, że wybierzesz wersję, która najlepiej odpowiada Twoim wymaganiom.

Importowanie klucza GPG do repozytorium Remi

Po wyświetleniu monitu musisz potwierdzić import klucza GPG do repozytorium Remi. Ten krok jest niezbędny ze względów bezpieczeństwa, ponieważ weryfikuje autentyczność pakietów, które zamierzasz zainstalować. Wpisz „Y”, gdy zostaniesz poproszony o kontynuowanie importu.

Aktywacja wybranej wersji PHP

Po potwierdzeniu dostępnych wersji PHP możesz włączyć konkretną wersję, która odpowiada Twoim potrzebom. Wskazane jest, aby wybrać stabilną i dobrze obsługiwaną wersję PHP dla swoich projektów.

Aby włączyć konkretną wersję PHP z repozytorium Remi, użyj następujących poleceń:

sudo dnf module enable php:remi-8.3 -y
sudo dnf module enable php:remi-8.2 -y
sudo dnf module enable php:remi-8.1 -y

Każde polecenie aktywuje inną wersję PHP z repozytorium Remi. Wybierz polecenie odpowiadające wersji, którą chcesz zainstalować. Flaga „-y” w tych poleceniach oznacza automatyczne potwierdzenie instalacji, usprawniając proces.

Zainstaluj PHP 8.3, 8.2 lub 8.1 w CentOS Stream

Wybór serwera WWW do instalacji PHP

Wybór odpowiedniego serwera WWW jest kluczowym krokiem w konfiguracji PHP. CentOS Stream obsługuje zarówno Apache, jak i Nginx, każdy wymagający różnych pakietów PHP.

Instalacja Apache (httpd) PHP

Dla tych, którzy używają Apache jako serwera WWW, poniższe polecenie instaluje PHP wraz z interfejsem wiersza poleceń PHP (CLI), który jest niezbędny do uruchamiania skryptów PHP z wiersza poleceń:

sudo dnf install php php-cli -y

Instalacja PHP Nginx

Jeśli używasz Nginx, musisz zainstalować PHP FastCGI Process Manager (FPM) wraz z PHP CLI. PHP-FPM to alternatywna implementacja PHP FastCGI, która jest bardzo wydajna w przypadku witryn o dużym ruchu:

sudo dnf install php-fpm php-cli -y

Weryfikacja instalacji PHP

Po instalacji ważne jest, aby upewnić się, że PHP jest poprawnie zainstalowane. Uruchom następujące polecenie, aby sprawdzić zainstalowaną wersję PHP:

php -v

To polecenie wyświetla aktualną wersję PHP, weryfikując pomyślną instalację.

Instalowanie popularnych rozszerzeń PHP

Aby zwiększyć funkcjonalność PHP, może być konieczne zainstalowanie dodatkowych rozszerzeń. Poniższe polecenie instaluje powszechnie używane rozszerzenia PHP, które są niezbędne dla różnych platform CMS i potrzeb programistycznych:

sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache

Zaleca się przejrzenie i pominięcie wszelkich rozszerzeń, które nie są potrzebne do Twojej konfiguracji.

Przeglądanie załadowanych modułów PHP

Aby sprawdzić aktualnie załadowane moduły PHP, wykonaj:

php -m

Aby utrzymać optymalną wydajność systemu, zaleca się regularne monitorowanie i czyszczenie niepotrzebnych modułów.

Instalowanie gałęzi rozwojowej PHP

W przypadku specyficznych wymagań programistycznych możesz potrzebować gałęzi programistycznej PHP. Zainstaluj go za pomocą:

sudo dnf install php-devel

Uwaga: ta instalacja wprowadza wiele zależności. Kontynuuj tylko wtedy, gdy istnieje konkretna potrzeba w Twoim środowisku programistycznym PHP.

Dodawanie narzędzi programistycznych PHP

Aby uzyskać zaawansowane funkcje programistyczne, w tym debugowanie, zainstaluj dodatkowe narzędzia, korzystając z:

sudo dnf install php-xdebug php-pcov

Narzędzia te są niezbędne do debugowania i analizy pokrycia kodu w PHP, ale należy zachować ostrożność ze względu na dodatkowe zależności, które wprowadzają.

Konfigurowanie użytkownika Nginx dla PHP-FPM w strumieniu CentOS

Edytowanie konfiguracji PHP-FPM dla Nginx

W CentOS Stream domyślny użytkownik PHP-FPM jest ustawiony na „Apache”, co nie jest kompatybilne z konfiguracjami Nginx. Aby zoptymalizować PHP-FPM dla Nginx, konieczna jest zmiana konfiguracji.

Dostęp do konfiguracji PHP-FPM

Zacznij od otwarcia pliku konfiguracyjnego PHP-FPM. Ten plik zawiera ustawienia specyficzne dla interakcji PHP-FPM z serwerem internetowym. Użyj następującego polecenia, aby edytować plik www.conf:

sudo nano /etc/php-fpm.d/www.conf

To polecenie uruchamia edytor tekstu Nano z plikiem konfiguracyjnym PHP-FPM.

Modyfikowanie ustawień użytkownika i grupy

W pliku konfiguracyjnym znajdź linie określające użytkownika i grupę. Domyślnie są one ustawione na „Apache”. Zmień użytkownika i grupę na „Nginx”, aby dostosować usługę PHP-FPM do Nginx:

; Użytkownik/grupa procesów Uniksa; Uwaga: użytkownik jest obowiązkowy. Jeśli grupa nie jest ustawiona, domyślna grupa użytkownika ; zostanie użyty. ; RPM: Apache Wybrano możliwość dostępu do niektórych katalogów jako httpd user = nginx ; RPM: Zezwól grupie na zapis w katalogu dziennika. grupa = nginx

Oto działające przykłady wizualne:

Zapisywanie i zamykanie pliku konfiguracyjnego

Po wprowadzeniu zmian zapisz plik, naciskając CTRL+O, a następnie wyjdź za pomocą CTRL+X. Ta czynność zapisuje modyfikacje i zamyka edytor Nano.

Ponowne uruchamianie usługi PHP-FPM

Aby zastosować zmiany, zrestartuj usługę PHP-FPM za pomocą:

sudo systemctl restart php-fpm

To polecenie gwarantuje, że PHP-FPM zacznie działać w ramach użytkownika i grupy Nginx, zapewniając kompatybilność i zwiększone bezpieczeństwo konfiguracji serwera WWW Nginx w CentOS Stream.

Przykładowy kod bloku serwera Nginx PHP-FPM

Konfigurowanie bloku serwera Nginx do przetwarzania PHP

Aby włączyć przetwarzanie PHP w Nginx na CentOS Stream, należy zmodyfikować blok serwera w pliku konfiguracji Nginx. Poniższy przykład pokazuje niezbędną konfigurację do obsługi plików PHP. Ta konfiguracja wymaga określenia bloku lokalizacji PHP.

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Kod ten zapewnia, że ​​Nginx poprawnie obsługuje pliki PHP, przekierowując je do procesora PHP-FPM. Oto szybki podział:

  • lokalizacja ~ .php$: Ta dyrektywa mówi Nginxowi, aby zastosował następujące reguły do ​​każdego pliku kończącego się na .php. Tylda ~ wskazuje, że jest to dopasowanie wyrażenia regularnego.
  • try_files $uri =404: Ta linia sprawdza, czy plik PHP istnieje pod określonym URI. Jeśli tak się nie stanie, Nginx zwróci błąd 404. Jest to środek bezpieczeństwa zapobiegający nieautoryzowanemu wykonaniu skryptu.
  • fastcgi_pass unix:/run/php-fpm/www.sock;: Ta dyrektywa określa gniazdo, na którym nasłuchuje usługa PHP-FPM. W tym przypadku Nginx przekazuje żądania PHP do procesu PHP-FPM poprzez gniazdo /run/php-fpm/www.sock.
  • fastcgi_index indeks.php;: Ustawia indeks.php jako domyślny skrypt wykonywany podczas uzyskiwania dostępu do katalogu.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Ta linia ustawia parametr SCRIPT_FILENAME, który jest niezbędny dla PHP-FPM do znalezienia pliku skryptu w systemie plików. Łączy katalog główny dokumentu z nazwą skryptu.
  • include fastcgi_params;: Obejmuje domyślne parametry FastCGI dostarczone przez Nginx. Są to standardowe ustawienia wymagane do prawidłowego działania PHP-FPM.

Taka konfiguracja zapewnia, że ​​Nginx poprawnie obsługuje żądania PHP, przekazując je do usługi PHP-FPM w celu przetworzenia, co jest kluczowym krokiem w przypadku uruchamiania witryn i aplikacji opartych na PHP na serwerze Nginx.

Weryfikacja konfiguracji Nginx

Po zaktualizowaniu bloku serwera sprawdź konfigurację Nginx pod kątem błędów składniowych za pomocą następującego polecenia:

sudo nginx -t

Przykładowe dane wyjściowe potwierdzające pomyślne sprawdzenie składni:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ten krok gwarantuje, że konfiguracja Nginx będzie wolna od błędów składniowych i gotowa do wdrożenia.

Ponowne uruchamianie usługi Nginx

Aby zastosować zmiany w konfiguracji PHP-FPM, zrestartuj usługę Nginx:

sudo systemctl restart nginx

To ponowne uruchomienie powoduje, że zmiany zaczynają obowiązywać, umożliwiając Nginxowi przetwarzanie plików PHP przy użyciu zaktualizowanej konfiguracji bloku serwera.

Wniosek

Instalując PHP poprzez repozytorium Remi RPM na CentOS Stream 9, masz pewność, że Twój system jest wyposażony w najnowsze stabilne wersje PHP, w tym 8.3, 8.2 i 8.1. Taka konfiguracja zapewnia zwiększoną wydajność, dostęp do najnowszych funkcji i ulepszone bezpieczeństwo aplikacji internetowych. Regularna aktualizacja PHP poprzez repozytorium Remi zapewni bezpieczeństwo Twojego systemu i jego aktualność dzięki najnowszym zmianom w PHP. Ciesz się elastycznością i mocą, jaką oferuje PHP do tworzenia i utrzymywania dynamicznych aplikacji internetowych.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz