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.phpecho " <?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 |
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.
Apache123456789101112 |
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.