Jak nainstalovat PHP na CentOS Stream 9

PHP je široce používaný skriptovací jazyk na straně serveru určený pro vývoj webových aplikací, ale také používaný jako univerzální programovací jazyk. Je zvláště oblíbený pro vytváření dynamických a interaktivních webových stránek. Instalace nejnovějších verzí PHP, jako je 8.3, 8.2 nebo 8.1, zajistí, že budete mít přístup k nejnovějším funkcím, vylepšením výkonu a bezpečnostním záplatám. Na CentOS Stream 9 můžete tyto verze snadno nainstalovat pomocí úložiště Remi RPM, které je známé tím, že poskytuje aktuální balíčky PHP.

Tato příručka vás provede procesem aktivace úložiště Remi a instalace nejnovějších sestavení PHP na CentOS Stream 9.

Importujte Remi PHP RPM na CentOS

Aktualizace streamu CentOS před instalací PHP

Je důležité začít aktualizací systému CentOS Stream, aby byly všechny stávající balíčky aktuální. Tento krok je nezbytný pro stabilitu a bezpečnost systému.

Otevřete terminál a proveďte následující příkaz pro aktualizaci systému:

sudo dnf upgrade --refresh

Tento příkaz obnoví vaši databázi balíčků a upgraduje všechny nainstalované balíčky na jejich nejnovější dostupné verze.

Import Remi PHP RPM Repository

Remi PHP repozitář je úložiště třetí strany, které nabízí nejnovější verze PHP. Před přidáním úložiště Remi musíte nainstalovat úložiště EPEL, které poskytuje další balíčky pro Enterprise Linux.

Nejprve se doporučuje povolit úložiště CodeReady Linux Builder (CRB), i když je volitelné. Poskytuje další vývojářské nástroje a knihovny. Povolit CRB pomocí:

sudo dnf config-manager --set-enabled crb

Po povolení CRB nainstalujte úložiště EPEL pro EL9 pomocí:

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

Nakonec importujte úložiště Remi PHP pro EL9:

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

Povolení PHP Remi Repository na CentOS Stream

Výpis dostupných PHP modulů

Před instalací PHP je nezbytné identifikovat dostupné verze PHP v úložišti Remi. Tento krok vám pomůže učinit informované rozhodnutí o tom, kterou verzi nainstalovat.

Pro výpis všech modulů PHP použijte následující příkaz:

dnf module list php

Tento příkaz zobrazí všechny verze PHP dostupné v úložišti Remi. Je to zásadní krok k tomu, abyste si vybrali verzi, která nejlépe vyhovuje vašim požadavkům.

Import GPG klíče pro Remiho úložiště

Po zobrazení výzvy musíte potvrdit import klíče GPG pro úložiště Remi. Tento krok je životně důležitý z bezpečnostních důvodů, protože ověřuje pravost balíčků, které se chystáte nainstalovat. Když budete vyzváni k pokračování v importu, zadejte „Y“.

Aktivace požadované verze PHP

Po potvrzení dostupných verzí PHP můžete povolit konkrétní verzi, která vyhovuje vašim potřebám. Pro vaše projekty je vhodné vybrat stabilní a dobře podporovanou verzi PHP.

Chcete-li povolit konkrétní verzi PHP z úložiště Remi, použijte následující příkazy:

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ždý příkaz aktivuje jinou verzi PHP z úložiště Remi. Vyberte příkaz, který odpovídá verzi, kterou chcete nainstalovat. Příznak '-y' v těchto příkazech označuje automatické potvrzení instalace, což zjednodušuje proces.

Nainstalujte PHP 8.3, 8.2 nebo 8.1 na CentOS Stream

Výběr webového serveru pro instalaci PHP

Výběr vhodného webového serveru je klíčovým krokem v nastavení PHP. CentOS Stream podporuje Apache i Nginx, z nichž každý vyžaduje jiné balíčky PHP.

Instalace Apache (httpd) PHP

Pro ty, kteří používají Apache jako svůj webový server, následující příkaz nainstaluje PHP spolu s rozhraním příkazového řádku PHP (CLI), které je nezbytné pro spouštění skriptů PHP z příkazového řádku:

sudo dnf install php php-cli -y

Instalace Nginx PHP

Pokud používáte Nginx, budete muset nainstalovat PHP FastCGI Process Manager (FPM) vedle PHP CLI. PHP-FPM je alternativní implementace PHP FastCGI, která je vysoce efektivní pro weby s velkým provozem:

sudo dnf install php-fpm php-cli -y

Ověření instalace PHP

Po instalaci je důležité potvrdit, že PHP je správně nainstalováno. Spusťte následující příkaz a zkontrolujte nainstalovanou verzi PHP:

php -v

Tento příkaz zobrazí aktuální verzi PHP a ověří úspěšnou instalaci.

Instalace běžných rozšíření PHP

Chcete-li zlepšit funkčnost PHP, možná budete muset nainstalovat další rozšíření. Níže uvedený příkaz nainstaluje běžně používaná rozšíření PHP, která jsou životně důležitá pro různé platformy CMS a vývojové potřeby:

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

Je vhodné zkontrolovat a vynechat všechna rozšíření, která nejsou pro vaše nastavení nezbytná.

Zobrazení načtených modulů PHP

Chcete-li zkontrolovat aktuálně načtené moduly PHP, proveďte:

php -m

Pro udržení optimálního výkonu systému se doporučuje pravidelné monitorování a ořezávání nepotřebných modulů.

Instalace PHP Development Branch

Pro specifické požadavky na vývoj možná budete potřebovat vývojovou větev PHP. Nainstalujte jej pomocí:

sudo dnf install php-devel

Poznámka: Tato instalace zavádí několik závislostí. Pokračujte pouze v případě, že ve vašem vývojovém prostředí PHP existuje konkrétní potřeba.

Přidání vývojových nástrojů PHP

Pro pokročilé vývojové funkce, včetně ladění, nainstalujte další nástroje pomocí:

sudo dnf install php-xdebug php-pcov

Tyto nástroje jsou nezbytné pro ladění a analýzu pokrytí kódu v PHP, ale buďte opatrní na další závislosti, které představují.

Konfigurace uživatele Nginx pro PHP-FPM na CentOS Stream

Úprava konfigurace PHP-FPM pro Nginx

V CentOS Stream je výchozí uživatel pro PHP-FPM nastaven na 'Apache', což není kompatibilní s nastavením Nginx. Pro optimalizaci PHP-FPM pro Nginx je nutná změna konfigurace.

Přístup ke konfiguraci PHP-FPM

Začněte otevřením konfiguračního souboru PHP-FPM. Tento soubor obsahuje nastavení specifická pro interakci PHP-FPM s vaším webovým serverem. K úpravě souboru www.conf použijte následující příkaz:

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

Tento příkaz spustí textový editor Nano s konfiguračním souborem PHP-FPM.

Úprava uživatelských a skupinových nastavení

V konfiguračním souboru vyhledejte řádky určující uživatele a skupinu. Ve výchozím nastavení jsou tyto nastaveny na „Apache“. Změňte uživatele i skupinu na 'Nginx', abyste sladili službu PHP-FPM s Nginx:

; Unix uživatel/skupina procesů ; Poznámka: Uživatel je povinný. Pokud skupina není nastavena, výchozí skupina uživatele ; bude použito. ; RPM: apache Vybráno pro přístup k nějakému adresáři jako httpd user = nginx ; RPM: Udržujte skupinu oprávněnou zapisovat do log dir. skupina = nginx

Zde jsou funkční vizuální příklady:

Uložení a ukončení konfiguračního souboru

Po provedení změn uložte soubor stisknutím CTRL+O a poté ukončete pomocí CTRL+X. Tato akce uloží úpravy a zavře editor Nano.

Restartování služby PHP-FPM

Chcete-li použít změny, restartujte službu PHP-FPM pomocí:

sudo systemctl restart php-fpm

Tento příkaz zajišťuje, že se PHP-FPM spustí pod uživatelem a skupinou Nginx, čímž je zajištěna kompatibilita a zvýšené zabezpečení pro nastavení vašeho webového serveru Nginx na CentOS Stream.

Příklad blokového kódu serveru Nginx PHP-FPM

Konfigurace bloku serveru Nginx pro zpracování PHP

Chcete-li povolit zpracování PHP v Nginx na CentOS Stream, je nutné upravit blok serveru v konfiguračním souboru Nginx. Následující příklad ukazuje nezbytnou konfiguraci pro práci se soubory PHP. Toto nastavení vyžaduje zadání bloku umístění 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;
    }

Tento kód zajišťuje, že Nginx správně zpracovává soubory PHP a přesměrovává je na procesor PHP-FPM. Zde je rychlý rozpis:

  • umístění ~ .php$: Tato direktiva říká Nginxu, aby aplikoval následující pravidla na jakýkoli soubor s koncovkou .php. Vlnovka ~ označuje, že se jedná o shodu s regulárním výrazem.
  • try_files $uri =404: Tento řádek kontroluje, zda soubor PHP existuje na zadaném URI. Pokud tomu tak není, Nginx vrátí chybu 404. Toto je bezpečnostní opatření, které má zabránit neoprávněnému spuštění skriptu.
  • fastcgi_pass unix:/run/php-fpm/www.sock;: Tato direktiva specifikuje soket, kde naslouchá služba PHP-FPM. V tomto případě Nginx předává PHP požadavky procesu PHP-FPM přes /run/php-fpm/www.sock socket.
  • fastcgi_index index.php;: Toto nastaví index.php jako výchozí skript, který se má spustit při přístupu k adresáři.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Tento řádek nastavuje parametr SCRIPT_FILENAME, který je nezbytný pro PHP-FPM k nalezení souboru skriptu v souborovém systému. Kombinuje kořen dokumentu s názvem skriptu.
  • include fastcgi_params;: To zahrnuje výchozí parametry FastCGI poskytované Nginx. Toto jsou standardní nastavení vyžadovaná pro správnou funkci PHP-FPM.

Tato konfigurace zajišťuje, že Nginx správně zpracovává požadavky PHP tím, že je předává službě PHP-FPM ke zpracování, což je zásadní krok pro provozování webových stránek a aplikací založených na PHP na serveru Nginx.

Ověření konfigurace Nginx

Po aktualizaci bloku serveru ověřte konfiguraci Nginx na případné chyby syntaxe pomocí následujícího příkazu:

sudo nginx -t

Příklad výstupu potvrzujícího úspěšnou kontrolu syntaxe:

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

Tento krok zajistí, že vaše konfigurace Nginx je bez syntaktických chyb a připravená k implementaci.

Restartování služby Nginx

Chcete-li použít změny konfigurace PHP-FPM, restartujte službu Nginx:

sudo systemctl restart nginx

Tento restart provede změny a umožní Nginxu zpracovávat soubory PHP pomocí aktualizované konfigurace bloku serveru.

Závěr

Instalací PHP prostřednictvím úložiště Remi RPM na CentOS Stream 9 zajistíte, že váš systém bude vybaven nejnovějšími stabilními verzemi PHP, včetně 8.3, 8.2 a 8.1. Toto nastavení vám poskytuje vyšší výkon, přístup k nejnovějším funkcím a vylepšené zabezpečení vašich webových aplikací. Pravidelná aktualizace PHP prostřednictvím úložiště Remi udrží váš systém bezpečný a aktuální s nejnovějším vývojem v PHP. Užijte si flexibilitu a výkon, který PHP nabízí pro vytváření a údržbu dynamických webových aplikací.

Joshua James
Následuj mě
Nejnovější příspěvky uživatele Joshua James (vidět vše)

Napsat komentář