Cara mengkonfigurasi beberapa versi php dengan apache di ubuntu

Cara mengkonfigurasi beberapa versi php dengan apache di ubuntu

Secara umum, manajer host menggunakan server terpisah untuk setiap penyebaran aplikasi versi php. Yang meningkatkan biaya hosting. Beberapa manajer host menggunakan Docker untuk menjalankan beberapa versi PHP pada satu server. Juga, sebagian besar dari Anda menyadari konfigurasi, yang saya gunakan dalam tutorial ini. Tetapi beberapa administrator sistem tidak mengetahui hal ini. Tutorial ini akan membantu Anda menginstal beberapa versi PHP dengan Apache di Ubuntu 22.04, 20.04, dan 18.04 Sistem LTS tanpa beralih versi PHP.

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

Menginstal apache2

Instal Apache Web Server dari repositori resmi. Luncurkan Terminal di sistem Anda atau login dengan SSH untuk sistem jarak jauh. Jalankan perintah berikut untuk menginstal versi terbaru dari Apache WebServer.

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

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

Tindakan sudo a2enmod fcgid alias proxy_fcgi 

Memasang versi PHP

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

sudo apt menginstal perangkat lunak-properti-common sudo add-apt-repository PPA: ondrej/php 

Untuk tutorial ini, kami menggunakan PHP 8.1 dan php 7.4 untuk mengonfigurasi dengan server web apache. Untuk menggunakan beberapa versi PHP, kami akan menggunakan PHP FPM dan FastCGI. Mari kita instal paket berikut di sistem Anda.

sudo apt update sudo apt install php8.1 php8.1-fpm sudo apt instal php7.4 php7.4-fpm 

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

Sudo Systemctl Status Php8.Status Sudo 1-fpm Status PHP7.4-fpm 
  • Anda mungkin suka: cara mengaktifkan/menonaktifkan modul php di ubuntu

Mengkonfigurasi Apache Virtual Hosts

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

sudo mkdir/var/www/php81 sudo mkdir/var/www/php74 

Buat indeks.file php yang berisi phpinfo () fungsi.

echo "" | sudo tee -a/var/www/php81/index.php echo "" | sudo tee -a/var/www/php74/index.php 

Mari kita mulai penciptaan virtualhost. Apache menyimpan semua file konfigurasi virtualhost di bawah/etc/apache2/situs-tersedia dengan ekstensi .conf. Buat file untuk host virtual pertama dan edit di editor teks favorit Anda.

sudo vim/etc/apache2/situs-tersedia/php81.contoh.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 8.1.

SERVERNAME PHP81.contoh.com documentrooth/var/www/php81 opsi -Indexes +followsymlinks +multiviews allowoverride semuanya memerlukan semua yang diberikan # Apache 2.4.10+ Can Proxy to Unix Socket Sethandler "Proxy: Unix:/var/run/php/php8.1-fpm.kaus kaki | fcgi: // localhost "
12345678910111213 SERVERNAME PHP81.contoh.com Documentroot/var/www/php81 Opsi -Indexes +FollowSymlinks +Multiviews AllowOverride semuanya membutuhkan semua yang diberikan # Apache 2.4.10+ Can Proxy to Unix Socket Sethandler "Proxy: Unix:/var/run/php/php8.1-fpm.kaus kaki | fcgi: // localhost "

Demikian pula, buat file konfigurasi VirtualHost kedua untuk bekerja dengan PHP 7.4. Edit file konfigurasi di editor teks:

sudo vim/etc/apache2/situs-tersedia/php74.contoh.com.conf 

Tambahkan konten berikut untuk mengajukan dengan nama servername dan documentroot yang tepat.

Servername Php74.contoh.com documentrooth/var/www/php74 opsi -Indexes +followsymlinks +multiviews allowoverride semuanya membutuhkan semua yang diberikan setHandler "proxy: unix:/var/run/php/php7.4-fpm.kaus kaki | fcgi: // localhost "
123456789101112 Servername Php74.contoh.com documentrooth/var/www/php74 Opsi -Indexes +FollowSymlinks +Multiviews AllowOverride semuanya membutuhkan semua yang diberikan SetHandler "proxy: unix:/var/run/php/php7.4-fpm.kaus kaki | fcgi: // localhost "

Kedua situs web dikonfigurasi sekarang. Tapi mereka masih belum aktif. Apache Keeps Situs Aktif Di Bawah/Etc/APACHE2/Direktori yang Diaktifkan Situs. Anda cukup membuat tautan simbolis file konfigurasi ke direktori ini atau menggunakan perintah di bawah ini untuk melakukan hal yang sama.

sudo a2ensite php81.contoh.com sudo a2ensite php74.contoh.com 

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

Sudo Systemctl Restart Apache2 

Pengaturan Anda telah selesai sekarang. Pergi ke langkah berikutnya untuk menguji pengaturan Anda.

Pengaturan tes

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

sudo vim /etc /host 

Tambahkan entri berikut ke ujung file

127.0.0.1 php81.contoh.com 127.0.0.1 php74.contoh.com 

Buka browser web dan kunjungi kedua situs. Anda akan melihatnya php81.contoh.com menunjukkan versinya PHP 8.1 Dan php74.contoh.com menunjukkan PHP 7.4 sebagai konfigurasi.

  • http: // php81.contoh.com
    PHP 8.1 dengan Apache
  • http: // php74.contoh.com
    PHP 7.4 dengan Apache

Kesimpulan

Tutorial ini membantu Anda menginstal dan mengonfigurasi beberapa versi PHP dengan Apache pada sistem Ubuntu Linux. Itu memberi Anda solusi hemat biaya untuk menggunakan aplikasi versi PHP yang berbeda di satu server web.