Jak skonfigurować wiele wersji PHP z Apache na Ubuntu
- 1844
- 300
- Roland Sokół
Zasadniczo menedżer hosta używał osobnego serwera dla każdego wdrożenia aplikacji wersji PHP. Co zwiększa koszty hostingu. Niektórzy menedżerowie hosta używają Docker do uruchamiania wielu wersji PHP na jednym serwerze. Ponadto większość z was jest świadoma konfiguracji, użyłem w tym samouczku. Ale niektórzy administratorzy systemu nie są tego świadomi. Ten samouczek pomoże Ci zainstalować wiele wersji PHP z Apache na Ubuntu 22.04, 20.04 i 18.04 Systemy LTS bez przełączania wersji PHP.
Ten samouczek opisuje instalację i konfigurację dwóch wirtualHost na Apache z osobnymi wersjami PHP. Pierwszy VirtualHost będzie działał z PHP 8.1 i inny wirtualhost będzie działał z PHP 7.4. Więc po prostu przejdź przez ten samouczek. Możesz także użyć więcej niż dwóch wersji PHP z Apache zgodnie z wymaganiami, ale ten samouczek obejmuje tylko dwa.
Instalowanie Apache2
Zainstaluj serwer WWW Apache z oficjalnego repozytorium. Uruchom terminal w systemie lub zaloguj się z SSH dla zdalnych systemów. Wykonaj następujące polecenia, aby zainstalować najnowszą dostępną wersję Apache Webserver.
sudo apt aktualizacja sudo appt instalacja apache2 libapache2-mod-fcgid
Teraz włącz kilka modułów wymaganych do konfiguracji wielu wersji PHP z Apache. Te moduły są niezbędne do zintegrowania PHP FPM i FASTCGI z serwerem Apache.
sudo a2enmod działania fcgid alias proxy_fcgi
Instalowanie wersji PHP
Do instalacji wersji PHP używamy TUTAJ PPA. Użyj poniższych kilku poleceń, aby dodać PPA do swojego systemu.
sudo apt instal oprogramowanie-properties-common sudo add-aTap-repozytory PPA: ondrej/php
Do tego samouczka używamy PHP 8.1 i php 7.4 Aby skonfigurować z Apache Webserver. Aby użyć wielu wersji PHP, użyjemy PHP FPM i FASTCGI. Zainstalujmy następujące pakiety w systemie.
sudo apt aktualizacja sudo apt instal PHP8.1 php8.1-fpm sudo apt instal PHP7.4 php7.4-fpm
Po instalacji, PHP-FPM Usługi zostaną uruchomione automatycznie. Użyj następujących poleceń, aby upewnić się, że obie usługi są uruchomione.
SUDO Systemctl Status Php8.1-FPM SUDO Systemctl Status Php7.4-fpm
- Może ci się spodobać: Jak włączyć/wyłączyć moduły PHP na Ubuntu
Konfigurowanie wirtualnych hostów Apache
Przygotuj się do konfiguracji stron internetowych na serwerze Apache. W celu testowania konfiguruję dwie strony internetowe do pracy z dwiema różnymi wersjami PHP. Najpierw utwórz dwa katalogi na swoim serwerze.
sudo mkdir/var/www/php81 sudo mkdir/var/www/php74
Utwórz indeks.plik PHP zawierający phpinfo () funkcjonować.
echo "" | sudo tee -a/var/www/php81/indeks.PHP Echo „” | sudo tee -a/var/www/php74/indeks.php
Zacznijmy tworzenie VirtualHost. Apache przechowuje wszystkie pliki konfiguracyjne VirtualHost w ramach/etc/apache2/witryny-za pomocą rozszerzenia .conf. Utwórz plik dla pierwszego wirtualnego hosta i edytuj w swoim ulubionym edytorze tekstu.
sudo vim/etc/apache2/witryny-dostępny/php81.przykład.com.conf
Dodaj następującą zawartość. Użyj poprawnej ścieżki Servername i Directory zgodnie z konfiguracją. Ta strona jest skonfigurowana do pracy z PHP 8.1.
Servername PHP81.przykład.com DocumentRoot/var/www/php81 Opcje -INDEXES +FONDSYMLINKS +MultiViews Updetoverride wszystkie wymagają wszystkiego przyznanego # Apache 2.4.10+ Can Can Shows to Unix Socket Sethandler „Proxy: UNIX:/var/run/php/php8.1-fpm.Sock | fcgi: // localhost "12345678910111213 |
Podobnie utwórz drugi plik konfiguracyjny VirtualHost do pracy z PHP 7.4. Edytuj plik konfiguracyjny w edytorze tekstu:
sudo vim/etc/apache2/witryny-dostępny/php74.przykład.com.conf
Dodaj następującą zawartość do pliku za pomocą odpowiedniej nazwy Servern i DocumentRoot.
Servername PHP74.przykład.com DocumentRoot/var/www/php74 Opcje -INDEXES +FONDSYSMLINKS +MultiViews Updetoverride wszystkie wymagają wszystkich przyznanych Sethandler „Proxy: UNIX:/var/run/php/php7.4-fpm.Sock | fcgi: // localhost "123456789101112 |
Obie strony internetowe są skonfigurowane teraz. Ale nadal nie są aktywni. Apache przechowuje aktywne witryny w katalogu/etc/apache2/witryny. Możesz po prostu utworzyć symboliczny link plików konfiguracyjnych do tego katalogu lub użyć poniższego polecenia, aby zrobić to samo.
sudo a2ensite php81.przykład.com sudo a2ensite php74.przykład.com
Po dokonaniu wszystkich zmian uruchom ponownie Apache, aby ponownie załadować nowe zmiany Ustawienia.
sudo systemctl restart apache2
Twoja konfiguracja została już zakończona. Przejdź do następnego kroku, aby przetestować konfigurację.
Konfiguracja testowa
Edytuj plik hostów /etc /hosts w systemie lokalnym i dokonaj wpisu jak poniżej. To rozwiąże nazwy temprory na adres IP Localhost.
sudo vim /etc /hosts
Dodaj następujące wpis do końca pliku
127.0.0.1 php81.przykład.com 127.0.0.1 php74.przykład.com
Otwórz przeglądarkę internetową i odwiedź obie strony. Zobaczysz to PHP81.przykład.com pokazuje wersję PHP 8.1 I PHP74.przykład.com pokazuje PHP 7.4 jako konfiguracja.
- http: // php81.przykład.com
PHP 8.1 z Apache - http: // php74.przykład.com
PHP 7.4 z Apache
Wniosek
Ten samouczek pomógł zainstalować i skonfigurować wiele wersji PHP z Apache w systemie Ubuntu Linux. To zapewnia opłacalne rozwiązanie wdrażania różnych aplikacji wersji PHP na jednym serwerze internetowym.
- « Jak zainstalować Nomachine na Ubuntu, Debian i LinuxMint (alternatywa TeamViewer)
- Jak zainstalować najnowszy węzeł.JS na macOS »