GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat více verzí PHP s Apache na Debian 11/10

Obecně platí, že správce hostitele používá samostatný systém pro každou verzi aplikace PHP. Což zvyšuje náklady na hosting. Někteří správci hostitelů používají Docker ke spuštění více verzí PHP na jednom serveru. Většina z vás také zná konfiguraci. Je možné, že si to někteří správci systému neuvědomují. Tento tutoriál vám pomůže nainstalovat více verzí PHP s Apache na systémy Debian 11, Debian 10 a Debian 9 bez přepínání verzí PHP.

Tento tutoriál popisuje instalaci a konfiguraci dvou VirtualHost na Apache se samostatnými verzemi PHP. První VirtualHost bude pracovat s PHP 5.6 a další VirtualHost poběží s PHP 7.2. Projděte si tedy tento tutoriál. Můžete také použít více než dvě verze PHP s Apache podle potřeby, ale tento tutoriál pokrývá pouze dvě.

Instalace PHP

Pro instalaci verzí PHP používáme zde udržovaný PPA. K přidání PPA na váš systém Debian použijte několik níže uvedených příkazů.

sudo apt install ca-certificates apt-transport-https 
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list

Tento tutoriál používá PHP 5.6 a PHP 7.2 pro konfiguraci s webovým serverem Apache. Pro použití více verzí PHP použijeme PHP FPM a FastCGI. Spuštěním následujících příkazů nainstalujte PHP a FPM na systém Debian.

apt update
sudo apt install php5.6 php5.6-fpm
sudo apt install php7.2 php7.2-fpm

Po instalaci se automaticky spustí služby php-fpm. Pomocí následujících příkazů se ujistěte, že obě služby běží.

sudo systemctl status php5.6-fpm
sudo systemctl status php7.2-fpm

Instalace Apache

Nainstalujte webový server Apache z oficiálního úložiště. Spusťte terminál na vašem systému nebo se přihlaste pomocí ssh pro vzdálené systémy. Chcete-li nainstalovat nejnovější dostupnou verzi webového serveru Apache, spusťte následující příkazy.

sudo apt update 
sudo apt install apache2 libapache2-mod-fcgid

Konfigurace Apache

Nyní povolte několik modulů potřebných pro konfiguraci více verzí PHP s Apache. Tyto moduly jsou nezbytné pro integraci PHP FPM a FastCGI se serverem Apache.

sudo a2enmod actions fcgid alias proxy_fcgi

Nyní vytvořte ve svém systému dva samostatné adresáře pro konfiguraci obou webů ve vašem systému.

sudo mkdir /var/www/php56
sudo mkdir /var/www/php72

Nyní vytvořte a index.php obsahující funkci phpinfo(). To pomůže uživatelům zobrazit a potvrdit, jakou verzi PHP používá VirtualHost.

echo "<?php phpinfo(); ?>" > /var/www/php56/index.php
echo "<?php phpinfo(); ?>" > /var/www/php72/index.php

Začněme s tvorbou VirtualHost. Apache uchovává všechny konfigurační soubory VirtualHost pod /etc/apache2/sites-available s příponou .conf. Vytvořte soubor pro prvního virtuálního hostitele a upravte jej ve svém oblíbeném textovém editoru.

sudo vim /etc/apache2/sites-available/php56.example.com.conf

Přidejte následující obsah. Ujistěte se, že používáte správný ServerName a cestu k adresáři podle vašeho nastavení. Tento web je nakonfigurován pro práci s PHP 5.6.

Apache
12345678910111213 ServerName php56.example.com DocumentRoot /var/www/php56 Možnosti -Indexy +FollowSymLinks +MultiViews AllowOverride All Vyžadovat uděleno vše # Apache 2.4.10+ může proxy k unixovému socketu SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"

Podobně vytvořte druhý konfigurační soubor VirtualHost pro práci s PHP 7.2. Upravit konfigurační soubor v textovém editoru:

sudo vim /etc/apache2/sites-available/php72.example.com.conf

Přidejte následující obsah do souboru se správným názvem ServerName a DocumentRoot.

Apache
123456789101112 ServerName php72.example.com DocumentRoot /var/www/php72 Možnosti -Indexy +FollowSymLinks +MultiViews AllowOverride All Vyžadovat uděleno vše SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"

Oba weby jsou nyní nakonfigurovány. Ale stále nejsou aktivní. Apache uchovává aktivní stránky v adresáři /etc/apache2/sites-enabled. Můžete jednoduše vytvořit symbolický odkaz konfiguračních souborů do tohoto adresáře nebo k tomu použít níže uvedený příkaz.

sudo a2ensite php56.example.com
sudo a2ensite php72.example.com

Po provedení všech změn restartujte Apache, aby se znovu načetly nové změny nastavení.

sudo systemctl restart apache2

Vaše nastavení je nyní dokončeno. Přejděte k dalšímu kroku a otestujte své nastavení.

Testovací nastavení

Otevřete webový prohlížeč a navštivte obě stránky. Uvidíte, že php56.example.com zobrazuje verzi PHP 5.6 a php72.example.com zobrazuje PHP 7.2 jako konfigurace.


Debian
  1. Jak nainstalovat PHP 8 na Debian 10

  2. Jak nainstalovat PHP na Debian 11

  3. Jak nainstalovat PHP 7.2 na Debian 9

  1. Jak nainstalovat PHP 8.0 na Debian 11

  2. Jak nainstalovat PHP 8.0 na Debian 10 / Debian 9

  3. Jak nainstalovat Webmin na Debian 10/11

  1. Jak nainstalovat plochu XFCE na Debian 10/11

  2. Jak nainstalovat plazmu KDE na Debian 10/11

  3. Jak nainstalovat PHP 7.4 na Debian 10