Namestitev repozitorija Remi v AlmaLinux

Linux Branje: 5 min

Repozitorij Remi (Remi’s RPM repository) je repozitorij Remija Colleta, razvijalca, ki vzdržuje tudi pakete PHP pri Red Hatu. Za AlmaLinux, Rocky Linux in Red Hat Enterprise Linux ponuja novejše ali starejše različice PHP od tistih v sistemu, poleg tega pa Redis, Valkey, Composer in veliko razširitev PHP. Potrebuješ ga, če aplikacija zahteva drugo različico PHP od tiste, ki jo da AlmaLinux, ali če želiš na enem strežniku poganjati več različic PHP.

Korake smo preizkusili v sistemih AlmaLinux 10.2 in 9.8, ukaze zaganjaj kot uporabnik root ali s sudo.

1. Vklop EPEL

Paketi Remi gradijo na repozitoriju EPEL, zato najprej vklopi njega (podrobno: Namestitev repozitorija EPEL v AlmaLinux):

sudo dnf install epel-release
sudo crb enable

2. Namestitev repozitorija Remi

Nastavitveni paket se namesti s strani Remi, z URL-ja, ki ustreza glavni različici sistema.

AlmaLinux 10:

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm

AlmaLinux 9:

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

V preizkusu se je v AlmaLinux 10 namestil paket remi-release-10.2-1, v AlmaLinux 9 pa remi-release-9.8-1. Ob namestitvi prvega paketa Remi dnf zahteva uvoz podpisnega ključa Remi (Userid : "Remi's RPM repository (https://rpms.remirepo.net/) <remi@remirepo.net>"), potrdi ga z y.

3. Kaj je paket vklopil?

dnf repolist

Remi ustvari več repozitorijev, od katerih sta dva aktivna:

Repozitorij Privzeto Za kaj je
remi-modular vklopljen zamenljive različice PHP, Redis, Valkey in drugih programov kot moduli (glej spodaj)
remi-safe vklopljen le paketi, ki v sistemu ničesar ne zamenjajo, na primer vzporedno namestljiva php84, php85
remi izklopljen posodobitve, ki prepišejo lastne pakete sistema
remi-test izklopljen paketi v preizkušanju

Repozitorijev remi in remi-test na produkcijskem strežniku ne vklapljaj. remi-modular in remi-safe sama po sebi ne zamenjata ničesar: dokler ne izbereš modula ali ne namestiš paketa phpXY, ostanejo paketi sistema.

4. Izbirne različice

Remi različice programov ponuja kot module. Seznam razpoložljivih različic PHP:

dnf module list php

Izpis dnf module list php v sistemu AlmaLinux 10 z repozitorijem Remi: od remi-7.4 do remi-8.6, ob remi-8.5 oznaka [e], pod njim izpis php -v

[e] (enabled) ob remi-8.5 na sliki pomeni, da je izbrana ta različica. V času preizkusa (oktober 2026) je bilo na voljo naslednje:

Program Moduli (streami)
php remi-7.4, remi-8.0 … remi-8.5, remi-8.6 (8.6 še predizdaja, RC)
redis remi-7.2, remi-8.0, remi-8.2 … remi-8.10
valkey remi-8.1, remi-9.0, remi-9.1, remi-9.2
composer 2
memcached remi

V AlmaLinux 9 dnf module list php poleg modulov Remi, ki se začnejo z remi-, pokaže tudi lastne module sistema (8.1, 8.2, 8.3). AlmaLinux 10 za lastne pakete modulov ne uporablja več; tam se prikažejo le moduli Remi, dnf pa tudi opozori: „modularity is deprecated, and functionality will be removed in a future release of DNF5”. Moduli Remi so v AlmaLinux 10 v času preizkusa kljub temu delovali brezhibno.

5. Izbira različice

Primer za PHP 8.4:

sudo dnf module reset php
sudo dnf module enable php:remi-8.4
sudo dnf install php php-cli php-fpm

reset izbriše prejšnjo izbiro, enable nastavi novo. Od tedaj php, php-fpm in vsi paketi razširitev php-… prihajajo iz različice 8.4 repozitorija Remi, tudi posodobitve pa ostanejo znotraj nje. Na drugo različico preklopiš z ukazom switch-to, ki zamenja tudi nameščene pakete:

sudo dnf module switch-to php:remi-8.5

Če poskusiš vklopiti drug stream brez reset, dnf to zavrne:

Error: It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.

Takrat uporabi ukaz switch-to ali najprej reset. Kateri stream je trenutno izbran, pokaže dnf module list php --enabled.

Za PHP iz Remi tudi pogoste razširitve PECL pridejo iz modula, prilagojene različici PHP, na primer php-pecl-redis6 (Redis) in php-pecl-memcached (Memcached).

Celoten postopek namestitve PHP, razširitve in povezavo s spletnim strežnikom opisuje članek Namestitev PHP v AlmaLinux 9 in 10, Redis pa članek Namestitev Redis in Valkey v AlmaLinux.

6. Več različic PHP hkrati (remi-safe)

V repozitoriju remi-safe je vsaka različica PHP na voljo tudi z lastno predpono (php81, php82 … php86). Te se namestijo poleg sistemskega PHP, v ločen imenik, zato lahko na enem strežniku teče več različic:

sudo dnf install php85-php-cli php85-php-fpm php85-php-mysqlnd
php85 -v
sudo systemctl enable --now php85-php-fpm
  Sistemski PHP Vzporedni (primer: 8.5)
Ukaz php php85
Storitev php-fpm php85-php-fpm
Nastavitve /etc/php.ini, /etc/php-fpm.d/ /etc/opt/remi/php85/
Vtičnica FPM /run/php-fpm/www.sock /var/opt/remi/php85/run/php-fpm/www.sock

V spletnem strežniku je treba upravljalnik PHP določene strani usmeriti na ustrezno vtičnico, tako lahko na primer stara aplikacija teče na PHP 8.1, nova stran pa na PHP 8.5 na istem strežniku.

Posodobitve in varnost

Paketi Remi se posodabljajo z ukazom dnf upgrade, znotraj izbranega modula. Razvijalci PHP vsako različico dve leti aktivno podpirajo, nato pa še dve leti le z varnostnimi popravki (vir: php.net, Supported Versions):

Različica Aktivna podpora Varnostni popravki
PHP 8.2 potekla do 31. decembra 2026
PHP 8.3 potekla do 31. decembra 2027
PHP 8.4 do 31. decembra 2026 do 31. decembra 2028
PHP 8.5 do 31. decembra 2027 do 31. decembra 2029

Za novo namestitev izberi 8.4 ali 8.5. Staro različico, ki je razvijalci PHP ne podpirajo več (v času preizkusa so bile take 7.4, 8.0 in 8.1), Remi sicer še ponuja, a od razvijalcev PHP ne dobivajo več varnostnih popravkov. Uporabljaj jih le začasno, za selitev stare aplikacije. O času podpore različic PHP piše tudi naš blogovski zapis o koncu podpore za PHP 8.2.

Če različic PHP ne želiš upravljati ročno, na gostovanju cPanel različico PHP in razširitve izbereš z enim klikom, na VPS pa to breme prevzame upravljano vzdrževanje.

Odstranitev Remi

Najprej pakete, nameščene iz modula, zamenjaj s sistemskimi in odstrani vzporedne različice:

sudo dnf module reset php
sudo dnf distro-sync
sudo dnf remove 'php85-*'

V preizkusu je distro-sync pakete PHP 8.5 iz Remi zamenjal z lastnimi paketi PHP 8.3.36 AlmaLinux 10 (Downgrading), skupaj z razširitvami; paketov php85-* pa se ni dotaknil, te je treba odstraniti posebej. Če si uporabljal tudi modul Redis ali Valkey, ga ponastavi na enak način (dnf module reset redis). Na koncu:

sudo dnf remove remi-release
Nazaj: Linux – članki (76)