GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Beberapa Versi PHP dengan Apache di Ubuntu 18.04 &16.04

Umumnya, manajer hos menggunakan server terpisah untuk setiap penerapan aplikasi versi PHP. Yang meningkatkan biaya hosting. Beberapa manajer host menggunakan Docker untuk menjalankan beberapa versi PHP di satu server. Juga, sebagian besar dari Anda mengetahui konfigurasi yang saya gunakan dalam tutorial ini. Tetapi beberapa administrator sistem tidak menyadari hal ini. Tutorial ini akan membantu Anda menginstal beberapa versi PHP dengan Apache di sistem Ubuntu 18.04 dan 16.04 tanpa mengganti versi PHP.

Tutorial ini menjelaskan instalasi dan konfigurasi dua VirtualHost di Apache dengan versi PHP terpisah. VirtualHost pertama akan bekerja dengan PHP 5.6 dan VirtualHost lainnya akan berjalan dengan PHP 7.2. Jadi ikuti saja tutorial ini. Anda juga dapat menggunakan lebih dari dua versi PHP dengan Apache sesuai kebutuhan, tetapi tutorial ini hanya mencakup dua.

Instalasi Apache

Instal server web Apache dari repositori resmi. Luncurkan terminal di sistem Anda atau masuk dengan ssh untuk sistem jarak jauh. Jalankan perintah berikut untuk menginstal versi terbaru dari server web Apache.

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

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

Instalasi PHP

Untuk penginstalan versi PHP, kami menggunakan PPA yang dipertahankan di sini. Gunakan beberapa perintah di bawah ini untuk menambahkan PPA ke sistem Anda.

### 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

Untuk tutorial ini, kami menggunakan PHP 5.6 dan PHP 7.2 untuk mengkonfigurasi dengan server web Apache. Untuk menggunakan beberapa versi PHP, kami akan menggunakan PHP FPM dan FastCGI. Mari instal paket berikut di sistem Anda.

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

Setelah instalasi, layanan php-fpm akan dimulai secara otomatis. Gunakan perintah berikut untuk memastikan kedua layanan berjalan.

sudo systemctl status php5.6-fpm
sudo systemctl status php7.2-fpm
  • Direkomendasikan:Cara Mengaktifkan/Menonaktifkan Modul PHP di Ubuntu

Konfigurasi Apache

Sekarang aktifkan beberapa modul yang diperlukan untuk konfigurasi beberapa versi PHP dengan Apache. Modul-modul ini diperlukan untuk mengintegrasikan PHP FPM dan FastCGI dengan server Apache.

sudo a2enmod actions fastcgi alias proxy_fcgi

Ubuntu 18.04 Users:
sudo a2enmod actions fcgid alias proxy_fcgi

Bersiaplah untuk konfigurasi situs web di server Apache Anda. Untuk tujuan pengujian, saya mengonfigurasi dua situs web agar berfungsi dengan dua versi PHP-2 yang berbeda. Pertama, buat dua direktori di server Anda.

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

Sekarang, buat dan index.php yang berisi fungsi phpinfo().

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

Mari kita mulai pembuatan VirtualHost. Apache menyimpan semua file konfigurasi VirtualHost di bawah /etc/apache2/sites-available dengan ekstensi .conf. Buat file untuk host virtual pertama dan edit di editor teks favorit Anda.

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

Tambahkan konten berikut. Pastikan untuk menggunakan ServerName dan jalur direktori yang benar sesuai dengan pengaturan Anda. Situs web ini dikonfigurasi untuk bekerja dengan PHP 5.6.

Apache
1234567891011213 ServerName php56.example.com DocumentRoot /var/www/php56 Opsi -Indeks +FollowSymLinks +MultiViews AllowOverride Semua Memerlukan semua diberikan # Apache 2.4.10+ dapat diproksi ke soket unix SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost"

Demikian pula, buat file konfigurasi VirtualHost kedua agar berfungsi dengan PHP 7.2. Edit file konfigurasi di editor teks:

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

Tambahkan konten berikut ke file dengan ServerName dan DocumentRoot yang tepat.

Apache
123456789101112 ServerName php72.example.com DocumentRoot /var/www/php72 Opsi -Indeks +FollowSymLinks +MultiViews AllowOverride Semua Memerlukan semua diberikan SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost"

Anda berdua dari situs web dikonfigurasi sekarang. Tapi mereka masih belum aktif. Apache menyimpan situs aktif di bawah direktori /etc/Apache2/sites-enabled. Anda cukup membuat tautan simbolis dari file konfigurasi ke direktori ini atau gunakan perintah di bawah ini untuk melakukan hal yang sama.

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

Setelah membuat semua perubahan, restart Apache untuk memuat ulang perubahan pengaturan baru.

sudo systemctl restart apache2

Penyiapan Anda telah selesai sekarang. Lanjutkan ke langkah berikutnya untuk menguji penyiapan Anda.

Penyiapan Pengujian

Edit file /etc/hosts di sistem lokal Anda dan buat entri seperti di bawah ini. Ini akan menyelesaikan nama sementara ke alamat IP localhost.

sudo vim /etc/hosts

Tambahkan entri berikut ke akhir file

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

Buka browser web dan kunjungi kedua situs tersebut. Anda akan melihat bahwa php56.example.com menunjukkan versi PHP 5.6 dan php72.example.com menampilkan PHP 7.2 sebagai konfigurasi.


Ubuntu
  1. Cara Menginstal Beberapa Versi PHP di Ubuntu 18.04 LTS

  2. Cara Instal Suphp dengan Apache di Ubuntu / Linux

  3. Cara Menginstal PHP 7.4 di Ubuntu 20.04

  1. Cara Menginstal Apache di Ubuntu 18.04

  2. Cara menginstal Apache di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di Ubuntu 18.04

  1. Cara Menginstal Joomla dengan Apache di Ubuntu 18.04

  2. Cara Menginstal Apache Maven di Ubuntu 20.04

  3. Cara Menginstal PHP 8 di Ubuntu 20.04