Poniższy poradnik opisuje sposób instalacji 2 wersji php pracujących razem na jednym serwerze.
Całość wykonamy na systemie CentOS8 wraz z Apache i PHP-FPM.
Uruchamiamy terminal
Na początek pobieramy repozytorium
sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Kolejny krok to wyłączenie domyślnego repozytorium i zainstalowanie php 7.3
sudo dnf module reset php
sudo dnf module enable php:remi-7.3
sudo dnf install php73 php73-php-fpm -y
Teraz robimy to samo tylko dla php 7.4
sudo dnf module reset php
sudo dnf module enable php:remi-7.4
sudo dnf install php74 php74-php-fpm -y
Uruchamiamy php 7.3 w systemie:
sudo systemctl start php73-php-fpm
sudo systemctl enable php73-php-fpm
Uruchamiamy php 7.4 w systemie:
sudo systemctl start php74-php-fpm
sudo systemctl enable php74-php-fpm
Tworzymy strukturę dla stron:
sudo mkdir /var/www/strona1.domena.pl
sudo mkdir /var/www/strona2.domena.pl
Nadajemy uprawnienia:
sudo chown -R apache:apache /var/www/strona1.domena.pl
sudo chown -R apache:apache /var/www/strona2.domena.pl
sudo chmod -R 755 /var/www/strona1.domena.pl
sudo chmod -R 755 /var/www/strona2.domena.pl
strona1.domena.pl / strona2.domena.pl ZASTĘPUJEMY SWOIMI DOMENAMI
Teraz tworzymy vhosty:
sudo nano /etc/httpd/conf.d/strona1.domena.pl.conf
Powinien wyglądać następująco:
<VirtualHost *:80> ServerAdmin admin@strona1.domena.pl ServerName strona1.domena.pl DocumentRoot /var/www/strona1.domena.pl DirectoryIndex info.php ErrorLog /var/log/httpd/strona1.domena.pl-error.log CustomLog /var/log/httpd/strona1.domena.pl-access.log combined <IfModule !mod_php7.c> <FilesMatch \.(php|phar)$> SetHandler "proxy:unix:/var/opt/remi/php73/run/php-fpm/www.sock|fcgi://localhost" </FilesMatch> </IfModule> </VirtualHost>
Kluczowa jest tu linijka :
SetHandler „proxy:unix:/var/opt/remi/php73/run/php-fpm/www.sock|fcgi://localhost”
Dzięki niej dla domeny 1 ustawimy php 7.3
Analogicznie tworzymy vhost dla domeny2 która będzie miała php 7.4
sudo nano /etc/httpd/conf.d/strona2.domena.pl.conf
O zawartości:
<VirtualHost *:80> ServerAdmin admin@strona2.domena.pl ServerName strona2.domena.pl DocumentRoot /var/www/strona2.domena.pl DirectoryIndex info.php ErrorLog /var/log/httpd/strona2.domena.pl-error.log CustomLog /var/log/httpd/strona2.domena.pl-access.log combined <IfModule !mod_php7.c> <FilesMatch \.(php|phar)$> SetHandler "proxy:unix:/var/opt/remi/php74/run/php-fpm/www.sock|fcgi://localhost" </FilesMatch> </IfModule> </VirtualHost>
Domena2 będzie miała php 7.4 kluczowa tu jest linijka:
SetHandler „proxy:unix:/var/opt/remi/php74/run/php-fpm/www.sock|fcgi://localhost”
Przeładowujemy serwer Apache
sudo systemctl restart httpd
To wszystko.