2 wersje php w systemie CentOS 8 z Apache i PHP-FPM
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
1 | 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
1 | sudo dnf module reset php |
1 | sudo dnf module enable php:remi-7.3 |
1 | sudo dnf install php73 php73-php-fpm -y |
Teraz robimy to samo tylko dla php 7.4
1 | sudo dnf module reset php |
1 | sudo dnf module enable php:remi-7.4 |
1 | sudo dnf install php74 php74-php-fpm -y |
Uruchamiamy php 7.3 w systemie:
1 | sudo systemctl start php73-php-fpm |
1 | sudo systemctl enable php73-php-fpm |
Uruchamiamy php 7.4 w systemie:
1 | sudo systemctl start php74-php-fpm |
1 | sudo systemctl enable php74-php-fpm |
Tworzymy strukturę dla stron:
1 | sudo mkdir /var/www/strona1.domena.pl |
1 | sudo mkdir /var/www/strona2.domena.pl |
Nadajemy uprawnienia:
1 | sudo chown -R apache:apache /var/www/strona1.domena.pl |
1 | sudo chown -R apache:apache /var/www/strona2.domena.pl |
1 | sudo chmod -R 755 /var/www/strona1.domena.pl |
1 | sudo chmod -R 755 /var/www/strona2.domena.pl |
strona1.domena.pl / strona2.domena.pl ZASTĘPUJEMY SWOIMI DOMENAMI
Teraz tworzymy vhosty:
1 | sudo nano /etc/httpd/conf.d/strona1.domena.pl.conf |
Powinien wyglądać następująco:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <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
1 | sudo nano /etc/httpd/conf.d/strona2.domena.pl.conf |
O zawartości:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <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
1 | sudo systemctl restart httpd |
To wszystko.