Instalasi dan Konfigurasi Beberapa Versi PHP secara bersamaan di Ubuntu 24.04

Instalasi dan Konfigurasi Beberapa Versi PHP secara bersamaan di Ubuntu 24.04

Pengantar

Ubuntu 24.04 secara default hanya menyediakan satu versi PHP terbaru. Namun dalam praktiknya, sering kali administrator server membutuhkan lebih dari satu versi PHP dalam satu server. Kondisi ini umum terjadi ketika menjalankan beberapa aplikasi atau website lama dan baru secara bersamaan yang memiliki kebutuhan versi PHP yang berbeda.

Artikel ini akan membahas cara instalasi dan konfigurasi beberapa versi PHP secara bersamaan di Ubuntu 24.04, termasuk pengaturan Apache, Nginx, PHP-FPM, serta cara menentukan versi PHP yang digunakan pada setiap website.

Panduan Instalasi dan Konfigurasi Beberapa Versi PHP secara bersamaan di Ubuntu 24.04

  1. Persiapan Sistem
    Pastikan server menggunakan Ubuntu 24.04 dan memiliki akses sudo.
    lsb_release -a
    sudo apt update 
    
  2. Menambahkan Repository PHP Resmi
    Ubuntu hanya menyediakan satu versi PHP. Untuk multi versi, gunakan repository OndÅ™ej Surý.
    sudo apt install -y software-properties-common ca-certificates lsb-release apt-transport-https
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    

    Repository ini paling stabil dan digunakan luas di server production.

  3. Instalasi PHP Multi Versi + Ekstensi Umum
    Contoh instalasi PHP 7.4, 8.1, 8.2, dan 8.3:
    sudo apt install -y \
    php7.4 php7.4-cli php7.4-fpm php7.4-common php7.4-mysql php7.4-curl php7.4-xml php7.4-zip php7.4-gd php7.4-mbstring php7.4-intl php7.4-bcmath php7.4-soap php7.4-opcache \
    php8.1 php8.1-cli php8.1-fpm php8.1-common php8.1-mysql php8.1-curl php8.1-xml php8.1-zip php8.1-gd php8.1-mbstring php8.1-intl php8.1-bcmath php8.1-soap php8.1-opcache \
    php8.2 php8.2-cli php8.2-fpm php8.2-common php8.2-mysql php8.2-curl php8.2-xml php8.2-zip php8.2-gd php8.2-mbstring php8.2-intl php8.2-bcmath php8.2-soap php8.2-opcache \
    php8.3 php8.3-cli php8.3-fpm php8.3-common php8.3-mysql php8.3-curl php8.3-xml php8.3-zip php8.3-gd php8.3-mbstring php8.3-intl php8.3-bcmath php8.3-soap php8.3-opcache
    
    Cek semua versi PHP:
    ls /usr/bin/php*
    
  4. Mengatur Versi PHP Default (CLI)
    • Versi CLI digunakan untuk composer, artisan, migration, dan cron.
      sudo update-alternatives --config php
      

       

    • Cek:

      php -v
      
  5. Struktur Direktori Konfigurasi PHP
    Setiap versi PHP memiliki konfigurasi terpisah:
    /etc/php/7.4/
    /etc/php/8.1/
    /etc/php/8.2/
    /etc/php/8.3/
    
    File penting yang sering digunakan:
    • php.ini
    • fpm/php-fpm.conf
    • fpm/pool.d/www.conf
  6. Konfigurasi dan Manajemen PHP-FPM
    Aktifkan semua PHP-FPM:
    sudo systemctl enable php7.4-fpm php8.1-fpm php8.2-fpm php8.3-fpm --now
    
    Cek socket PHP-FPM:
    ls /run/php/
    

    Hasil :

    php7.4-fpm.sock
    php8.1-fpm.sock
    php8.2-fpm.sock
    php8.3-fpm.sock
    

Konfigurasi Apache Multi PHP

Jika menggunakan webserver apache maka ikuti panduan berikut :

  1. Aktifkan Module Apache
    sudo a2dismod php*
    sudo a2enmod proxy_fcgi setenvif
    sudo systemctl restart apache2
    
  2. Contoh VirtualHost PHP 8.3
    
        ServerName app83.domain.com
        DocumentRoot /var/www/app83
    
        
            AllowOverride All
            Require all granted
        
    
        
            SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/"
        
    
        ErrorLog ${APACHE_LOG_DIR}/app83_error.log
        CustomLog ${APACHE_LOG_DIR}/app83_access.log combined
    
    
  3. Contoh VirtualHost PHP 7.4
    
        ServerName app74.domain.com
        DocumentRoot /var/www/app74
    
        
            SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
        
    
    
  4. Reload Apache:
    sudo systemctl reload apache2
    

     

Konfigurasi Nginx Multi PHP

Jika menggunakan web server nginx ikuti panduan berikut :

  1. Konfigurasi Nginx Multi PHP
    server {
        listen 80;
        server_name app82.domain.com;
        root /var/www/app82;
    
        index index.php index.html;
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        }
    }
    
    Sesuaikan dengan versi php yang ingin digunakan,

    Restart nginx:

    sudo systemctl restart nginx
    

Verifikasi Versi PHP per Website

  1. Buat file info.php:
    nano /var/www/php82/info.php
    
    sesuaikan dengan Dokument Root yang di pakai
  2. Isi dengan:



    Akses melalui browser dan pastikan versi PHP sesuai dengan yang dikonfigurasi.

Kesimpulan

Menginstal dan mengonfigurasi beberapa versi PHP secara bersamaan di Ubuntu 24.04 memungkinkan server menjalankan berbagai aplikasi dengan kebutuhan PHP yang berbeda tanpa konflik. Dengan memanfaatkan PHP-FPM dan konfigurasi VirtualHost yang tepat, pengelolaan versi PHP menjadi lebih fleksibel, aman, dan ideal untuk lingkungan server.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Finance : +6285191239466