Två versioner php
Ibland måste man installera två versioner av ett program bredvid varandra. Här visas ett sätt och det gäller php i Fedora 35. Vi börjar.
Men det fattas en plugin till dnf. Vi installerar.
Nu kan vi köra nedanstående kommandon. Och det fungerar.
# dnf config-manager --set-enabled remi
# dnf module reset php
Nu kan vi installera php version 7.4
dnf install php74-php-cli php74-php-fpm php74-php-gd php74-php-curl php74-php-mysqlnd php74-php-zip php74-php-xml php74-php-mbstring php74-php-bcmath
Nu är det spännande eftersom vi ska kontrollera att vi har två versioner av php installera i Fedora-servern.
Nu har servern två versioner av php. Vi ska kontrollera om tjänsten sattes i gång vidd installation av php 7.4.
# systemctl is-enabled php74-php-fpm.service
För mig var konfigurationsfilen installerad, men tjänsten var inte i gång. Först aktiverar jag den, och med det menas att tjänsten startar vid start eller omstart av servern. Men för att starta tjänsten nu kör jag det andra kommandot nedan.
# systemctl start php74-php-fpm.service
Därefter kontroller vi att den är i gång.
# systemctl status php74-php-fpm.service
Nu är vi i gång, men inte färdiga. För att få Nginx att köra två olika versioner av php måste vi konfigurera lite mer, dels i php, dels i Nginx.
Efter en stund hittar jag den fil jag letar efter i /etc/opt/remi/php74/php-fpm.d/www.conf. För säkerhets skull gör jag en kopia av filen ifall jag kommer långt bort från en fungerande konfiguration.
cp www.conf www.conf.bak
Jag ändrar processens ägare från Apache till Nginx då jag kör Nginx-server.
user = nginx
group = nginx
Längre ner hitta jag pgiften om var Nginx ska lyssna på php. Den ändrar jag inte utan tar med den till rätt konfigurationsfil i Nginx /etc/nginx/sites-available.
listen = /var/opt/remi/php74/run/php-fpm/www.sock
Jag ändrar till Nginx från Apache för Selinux
listen.acl_users = nginx
Så länge väntar jag med att avkommentera följande rader för att se om det fungerar.
Dock uppstår det ytterligare ett fel; det är återkommande om man kör Nginx i stället för Apache. Fedora har ett grundsätt att säkerställa ägare på filer vilket förutsätter att det är Apache som kör webbservern. Det finns ett sätt att ändra på det till Nginx, men jag har glömt det. Därför gör jag det manuellt den här gången. Efter varje uppdatering av php kommer rättigheterna att återställas till de ursprungliga så mitt sitt är inte bestående. Men här kommer hur jag gjorde i alla fall.
Ja, ni såg att root och apache har tillgång till dessa filer. Jag ändrar på nedanstående sätt.
Nu ska mitt CMS-system gå att köra. För den klarar nämligen inte av php version 8, utan upp till 7.4 går bra. Och det gör det så nu är jag klar bortsett från att jag måste se till att Fedora automatiskt sätter Nginx som behörig ägare till filerna jag nyss ändrade behörigheter på.