Német Krisztián

PHP 8 telepítése Rocky Linux 9 linux rendszeren
A PHP az egyik leggyakrabban használt szerveroldali programozási nyelv. Számos népszerű CMS pl. a WordPress, a Joomla és keretrendszer pl. a Laravel, a CakePHP, a Symfony PHP-ben épül fel.

A PHP az egyik leggyakrabban használt szerveroldali programozási nyelv. Számos népszerű CMS pl. a WordPress, a Joomla és keretrendszer pl. a Laravel, a CakePHP, a Symfony PHP-ben épül fel.

Ebben a leírásban megvitatjuk a PHP 8.0, 8.1 és külső repo-ból (REMI) 8.2 telepítését a Rocky Linux 9 rendszeren. Megmutatom, hogy ha ezek a verziók alacsonyak lennének akkor hogyan lehet a legújabb verziót elérni. Mielőtt kiválasztod a telepítendő PHP verziót, győződj meg arról, hogy alkalmazás támogatja-e azt.

Php telepítése Rocky Linux 9 saját csomagtárolóból (AppStream)

A Rocky Linux 9 rendszerhez tartozó alapértelmezett php a 8.0 verzió, viszont arra csak biztonsági frissítések jönnek. (php támogatás). Jelenleg a PHP a 8.1 és 8.2 verziókhoz van támogatás így a tárolóból ezt a két verziót érdemes feltenni. Korábbi verziót csak akkor, ha az alkalmazás kimondottan ezt kéri.

Egy php telepítés kimenete alapértelmezetten:

Installing:
 php                     x86_64           8.0.20-3.el9       appstream          11 k
Installing dependencies:
 libxslt                 x86_64           1.1.34-9.el9       appstream         240 k
 nginx-filesystem        noarch           1:1.20.1-13.el9    appstream          11 k
 oniguruma               x86_64           6.9.6-1.el9.5      appstream         217 k
 php-common              x86_64           8.0.20-3.el9       appstream         665 k
Installing weak dependencies:
 php-cli                 x86_64           8.0.20-3.el9       appstream          3.1 M
 php-fpm                 x86_64           8.0.20-3.el9       appstream          1.6 M
 php-mbstring            x86_64           8.0.20-3.el9       appstream         471 k
 php-opcache             x86_64           8.0.20-3.el9       appstream          512 k
 php-pdo                 x86_64           8.0.20-3.el9       appstream           84 k
 php-xml                 x86_64           8.0.20-3.el9       appstream          133 k

A dnf module parancsával meg tudjuk nézni, hogy még milyen verziójú PHP érhető el a hivatalos caomagtárolóból::

dnf module list php
Last metadata expiration check: 0:03:07 ago on Sun 08 Jan 2023 07:40:44 AM UTC.
Rocky Linux 9 - AppStream
Name                 Stream           Profiles                             Summary
php                  8.1              common [d], devel, minimal           PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Ha szeretnénk engedélyezni a PHP 8.1-es verzióját a következőképpen tehetjük meg:

dnf module reset php
dnf module enable php:8.1

Meg kell erősíteni a váltást egy y-nal, majd a dnf modul list php kimenete ez lesz:

Last metadata expiration check: 0:03:07 ago on Sun 08 Jan 2023 07:40:44 AM UTC.
Rocky Linux 9 - AppStream
Name                 Stream           Profiles                             Summary
php                  8.1[e]           common [d], devel, minimal           PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Ha kiválasztottuk a megfelelő php verziót, akkor lehet telepíteni a php-t:

dnf install php -y

Ha települt a php a következő ellenőrzést tegyük meg:

php -v
PHP 8.1.8 (cli) (built: Jul  5 2022 21:55:55) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.8, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.8, Copyright (c), by Zend Technologies

A Rocky Linux 9 hivatalos csomagtárolójából a legfrissebb 8.1 verziójú php-t sikeresen telepítettük. Joggal vetődik fel a kérdés, hogy ha 8.2 van szükségünk, akkor azt milyen repó-ból érhetjük el? Ehhez telepítenünk kell külső csomagtárolók eléréseit. A php-nek egyik legelismertebb csomagtárolója a Remi’s Repo. Ezt fogjuk használni, de ehhez szükségünk lesz az EPEL repora is.

PHP telepítése külső csomagtárolóból (Remi’s Repo)

Az első feladat az (EPEL) tároló telepítése, ami az (Extra Packages for Enterprise Linux) rövidítése. A Rocky Linux és a hasonló, RHEL alapú disztribúciók újabb felhasználói számára az EPEL tartalmazza az Enterprise Linuxhoz leggyakrabban használt szoftvercsomagokat.

Ehhez engedélyezni kell a CRB-t:

dnf config-manager --set-enabled crb

Ezután telepítse az EPEL-t a következő (dnf) paranccsal.

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

Most, hogy hozzáadta az EPEL tárolót, engedélyezze a (Remi tárolót) a következő paranccsal:

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

A korábbi 8.1-es php-s csomagokat távolítsuk el:

dnf remove php php-fpm -y

Majd reseteljük a jelenleg használt php verziót:

dnf module reset php -y

Ha most kiadjuk a következő parancsot, akkor a Remi’s repo-k kérni fogják a gpg kulcsaikat, amit csak meg kell erősíteni a y-al:

dnf module list php
Remi's Modular repository for Enterprise Linux 9 - x86_64                                3.1 kB/s | 833  B     00:00
Remi's Modular repository for Enterprise Linux 9 - x86_64                                3.0 MB/s | 3.1 kB     00:00
Importing GPG key 0x478F8947:
 Userid     : "Remi's RPM repository (https://rpms.remirepo.net/) <remi@remirepo.net>"
 Fingerprint: B1AB F71E 14C9 D748 97E1 98A8 B195 27F1 478F 8947
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el9
Is this ok [y/N]: y
Remi's Modular repository for Enterprise Linux 9 - x86_64                                2.1 MB/s | 834 kB     00:00
Safe Remi's RPM repository for Enterprise Linux 9 - x86_64                               3.6 kB/s | 833  B     00:00
Safe Remi's RPM repository for Enterprise Linux 9 - x86_64                               3.0 MB/s | 3.1 kB     00:00
Importing GPG key 0x478F8947:
 Userid     : "Remi's RPM repository (https://rpms.remirepo.net/) <remi@remirepo.net>"
 Fingerprint: B1AB F71E 14C9 D748 97E1 98A8 B195 27F1 478F 8947
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el9
Is this ok [y/N]: y
Safe Remi's RPM repository for Enterprise Linux 9 - x86_64                               2.2 MB/s | 887 kB     00:00
Last metadata expiration check: 0:00:01 ago on Sun 08 Jan 2023 08:42:57 AM UTC.
Rocky Linux 9 - AppStream
Name                Stream              Profiles                                 Summary
php                 8.1                 common [d], devel, minimal               PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name                Stream              Profiles                                 Summary
php                 remi-7.4            common [d], devel, minimal               PHP scripting language
php                 remi-8.0            common [d], devel, minimal               PHP scripting language
php                 remi-8.1            common [d], devel, minimal               PHP scripting language
php                 remi-8.2            common [d], devel, minimal               PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Itt láthatjuk, hogy 4 verzió is elérhető a tárolóból, amiből nekünk most a 8.2 kell. Engedélyezzük:

dnf module enable php:remi-8.2 -y

Most, hogy hozzáadta a Remi PHP-tárolót és engedélyezte a PHP 8.2 alapértelmezett verzióját a Rocky Linux rendszerén, telepítheti a PHP 8.2-et a következő paranccsal:

dnf install php -y

Ha készen van a telepítés ellenőrízzük le a verziót:

php -v
PHP 8.2.1 (cli) (built: Jan  3 2023 18:40:55) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies

Indítsuk újra az Apache webszervert, hogy ő is értesüljön a php telepítéséről:

systemctl restart httpd

Megfelelően futó php kipróbálása

Hozzuk létre a info.php nevű fájlt a /var/www/html/ könyvtárban az alábbi tartalommal:

<?php
phpinfo();
?>

Írd be a böngésző címsorába http://<szerver-ip-cime>/info.php Ilyesminek kell megjelennie:

Az info.php kimenete

Eltérések lehetnek Rocky Linux 9 és a php 8.2 verziókban. De a lényeg, hogy egy ilyen php információs képernyő jelenjen meg a böngésződben.

Összegzés

A php telepíthető mind a Rocky Linux 9 linux rendszer saját csomagtárolójából, mind a külső Remi csomagtárolóból. A biztonságos és konzisztens működés érdekében azonos repoból frissítsünk, mint amiből telepítettünk. Ez sok későbbi misztikus hibától megkímél minket. Fontos még, hogy az alkalmazásunknál tisztázzuk melyik php verzió támogatott és azt tegyük fel.

Ezek is érdekesek lehetnek számodra