GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie mehrere PHP-Versionen mit Apache unter Ubuntu 18.04 und 16.04

Im Allgemeinen verwendete der hos-Manager einen separaten Server für jede Anwendungsbereitstellung der PHP-Version. Was die Hosting-Kosten erhöht. Einige der Host-Manager verwenden Docker, um mehrere PHP-Versionen auf einem einzigen Server auszuführen. Außerdem kennen die meisten von Ihnen die Konfiguration, die ich in diesem Tutorial verwendet habe. Einige Systemadministratoren sind sich dessen jedoch nicht bewusst. Dieses Tutorial hilft Ihnen, mehrere PHP-Versionen mit Apache auf Ubuntu 18.04- und 16.04-Systemen zu installieren, ohne die PHP-Versionen zu wechseln.

Dieses Tutorial beschreibt die Installation und Konfiguration von zwei VirtualHost auf Apache mit separaten PHP-Versionen. Der erste VirtualHost wird mit PHP 5.6 arbeiten und ein weiterer VirtualHost wird mit PHP 7.2 laufen. Gehen Sie also einfach dieses Tutorial durch. Sie können bei Bedarf auch mehr als zwei PHP-Versionen mit Apache verwenden, aber dieses Tutorial behandelt nur zwei.

Apache-Installation

Installieren Sie den Apache-Webserver aus dem offiziellen Repository. Starten Sie das Terminal auf Ihrem System oder melden Sie sich mit ssh für Remote-Systeme an. Führen Sie die folgenden Befehle aus, um die neueste verfügbare Version des Apache-Webservers zu installieren.

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

Ubuntu 18.04 Users:
sudo apt install apache2 libapache2-mod-fcgid

PHP-Installation

Für die Installation von PHP-Versionen verwenden wir das hier gepflegte PPA. Verwenden Sie die folgenden Befehle, um den PPA zu Ihrem System hinzuzufügen.

### On Ubuntu 18.04  
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

### On Ubuntu 16.04  
sudo apt install python-software-properties
sudo add-apt-repository ppa:ondrej/php

Für dieses Tutorial verwenden wir PHP 5.6 und PHP 7.2 zur Konfiguration mit dem Apache-Webserver. Um die mehreren PHP-Versionen zu verwenden, verwenden wir PHP FPM und FastCGI. Lassen Sie uns die folgenden Pakete auf Ihrem System installieren.

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

Nach der Installation werden die php-fpm-Dienste automatisch gestartet. Verwenden Sie die folgenden Befehle, um sicherzustellen, dass beide Dienste ausgeführt werden.

sudo systemctl status php5.6-fpm
sudo systemctl status php7.2-fpm
  • Empfohlen:So aktivieren/deaktivieren Sie PHP-Module unter Ubuntu

Apache-Konfiguration

Aktivieren Sie jetzt einige Module, die für die Konfiguration mehrerer PHP-Versionen mit Apache erforderlich sind. Diese Module sind notwendig, um PHP FPM und FastCGI mit dem Apache-Server zu integrieren.

sudo a2enmod actions fastcgi alias proxy_fcgi

Ubuntu 18.04 Users:
sudo a2enmod actions fcgid alias proxy_fcgi

Machen Sie sich bereit für die Konfiguration von Websites auf Ihrem Apache-Server. Zu Testzwecken konfiguriere ich zwei Websites so, dass sie mit zwei verschiedenen PHP-Versionen funktionieren. Erstellen Sie zunächst zwei Verzeichnisse auf Ihrem Server.

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

Erstellen Sie nun eine index.php mit der Funktion phpinfo().

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

Beginnen wir mit der Erstellung von VirtualHost. Apache hält alle VirtualHost-Konfigurationsdateien unter /etc/apache2/sites-available mit der Erweiterung .conf bereit. Erstellen Sie eine Datei für den ersten virtuellen Host und bearbeiten Sie sie in Ihrem bevorzugten Texteditor.

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

Fügen Sie den folgenden Inhalt hinzu. Stellen Sie sicher, dass Sie den richtigen Servernamen und Verzeichnispfad gemäß Ihrer Einrichtung verwenden. Diese Website ist so konfiguriert, dass sie mit PHP 5.6 funktioniert.

Apache
12345678910111213 ServerName php56.example.com DocumentRoot /var/www/php56 Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all permission # Apache 2.4.10+ kann als Proxy zum Unix-Socket SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost"

Erstellen Sie auf ähnliche Weise eine zweite VirtualHost-Konfigurationsdatei, um mit PHP 7.2 zu arbeiten. Konfigurationsdatei im Texteditor bearbeiten:

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

Fügen Sie der Datei den folgenden Inhalt mit dem richtigen ServerName und DocumentRoot hinzu.

Apache
123456789101112 ServerName php72.example.com DocumentRoot /var/www/php72 Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all permission SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost"

Sie beide Websites sind jetzt konfiguriert. Aber sie sind immer noch nicht aktiv. Apache hält aktive Sites im Verzeichnis /etc/apache2/sites-enabled. Sie können einfach einen symbolischen Link von Konfigurationsdateien zu diesem Verzeichnis erstellen oder den folgenden Befehl verwenden, um dasselbe zu tun.

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

Nachdem Sie alle Änderungen vorgenommen haben, starten Sie Apache neu, um die neuen Einstellungsänderungen neu zu laden.

sudo systemctl restart apache2

Ihre Einrichtung ist nun abgeschlossen. Fahren Sie mit dem nächsten Schritt fort, um Ihre Einrichtung zu testen.

Testaufbau

Bearbeiten Sie die Datei /etc/hosts auf Ihrem lokalen System und machen Sie einen Eintrag wie unten. Dadurch werden temporäre Namen in die IP-Adresse des lokalen Hosts aufgelöst.

sudo vim /etc/hosts

Folgenden Eintrag am Ende der Datei hinzufügen

127.0.0.1 php72.example.com
127.0.0.1 php56.example.com

Öffnen Sie einen Webbrowser und besuchen Sie beide Seiten. Sie werden sehen, dass php56.example.com zeigt die Version PHP 5.6 und php72.example.com zeigt PHP 7.2 als Konfiguration.


Ubuntu
  1. So installieren Sie Apache unter Ubuntu 18.04

  2. So installieren Sie Apache unter Ubuntu 20.04

  3. So installieren Sie mehrere PHP-Versionen unter Ubuntu 18.04 LTS

  4. So installieren Sie Suphp mit Apache unter Ubuntu / Linux

  5. So installieren Sie PHP 7.4 auf Ubuntu 20.04

So installieren Sie SuiteCRM auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie MediaWiki auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie mehrere PHP-Versionen mit Apache unter Debian 11/10

So installieren Sie PHP 8 auf Ubuntu 20.04

So installieren Sie PHP 8 unter Ubuntu 18.04

So installieren Sie Apache unter Ubuntu 22.04