Cara mengaktifkan MultiPHP di VPS [how to]

Cara mengaktifkan MultiPHP di VPS - NimeTech.com

Pengantar

Kalian tentunya sudah tak asing lagi tentang PHP (HyperText Preprocessor) ini kan?. Ya, PHP merupakan bahasa pemrograman yang sangat familiar dan sering digunakan untuk membuat website atau aplikasi. Tapi pernahkan kalian berpikir bagaimana jika mempunyai beberapa website atau aplikasi yang mempunyai versi berbeda-beda dan ingin menjalankannya di satu VPS atau Server?. Nah, apakah kalian sudah tahu cara mengaktifkan multiphp dalam satu VPS atau Server?. Saat ini untuk menjalankan MultiPHP di satu VPS atau server bukan hal yang mustahil lagi, hal ini dapat memungkinkan kalian untuk menjalankan website atau aplikasi dengan berbagai versi PHP. Cara mengaktifkan MultiPHP inipun langkah-langkahnya cukup mudah juga.

Cara mengaktifkan MultiPHP di VPS

  1. Install Dependencies dan Repository

Seperti biasanya sebelum memulai installasi package PHP kalian perlu install dependencies dan menambahkan repository terlebih dahulu. Untuk commandnya kalian bisa menjalankan command berikut ini :

yum install -y yum-utils
yum install -y epel-release
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php72

Oh ya, pastikan juga kalau kalian telah menginstall web server seperti NGINX terlebih dahulu, jika belum menginstallnya kalian bisa baca artikel sebelumnya yaitu Cara Install LEMP

  1. Install PHP 7.2

Selanjutnya kalian bisa mulai untuk menginstall PHP 7.2 terlebih dahulu. Agar nantinya PHP 7.2 ini menjadi versi default dari PHP yang terinstall di VPS atau Server. Untuk installnya kalian bisa jalankan command berikut ini :

yum install -y php php-common php-fpm php-mysql php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-phar php-pdo php-xml

Jika proses installasinya sudah selesai kalian bisa melakukan pengecekan dengan command berikut ini :

php -v

Dan nanti akan muncul hasilnya kurang lebih seperti berikut ini :

PHP 7.2.20 (cli) (built: Jul  2 2019 13:37:16) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
  1. Setting Virtualhost PHP 7.2

Karena saat ini PHP 7.2 sudah menjadi default versi PHP yang digunakan di VPS atau Server, lalu bagaimana biar di website juga menggunakan PHP 7.2 tersebut?. Untuk konfigurasi di sisi web servernya agar menggunakan PHP 7.2 ini kalian harus buat virtualhostnya. Kalian bisa gunakan command berikut ini untuk membuat virtualhostnya :

vim /etc/nginx/conf.d/default.conf

Jika sudah muncul editornya, kalian tambahkan konfigurasi virtualhost berikut ini :

server {
        listen       80;
        server_name  upcloud.nimetech.com;
        root         /var/www/html/upcloud1;

        index   index.php index.html;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

        location ~ \.php${
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php72-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

    }

Dimana sih letak konfigurasi untuk menerapkan PHP 7.2 pada virtualhostnya? kalian bisa lihat pada konfigurasi :

location ~ \.php${
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php72-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

Pada konfigurasi tersebut terdapat baris

fastcgi_pass unix:/var/run/php72-fpm.sock;

yang mana pada baris tersebut menggunakan PHP Fastcgi untuk memanggil socket PHP 7.2. Nah, agar PHP Fastcgi dapat menjalankan socket tersebut kalian juga perlu mengatur PHP Fastcginya. Kalian perlu melakukan edit konfigurasi PHP Fastcgi yang sudah ada dengan command berikut ini :

vim /etc/php-fpm.d/www.conf

Pada beberapa baris di PHP Fastcgi kalian perlu
melakukan perubahan, berikut ini yang perlu kalian ubah :

listen - 127.0.0.1:9000

Bisa kalian ubah menjadi :

listen = /var/run/php72-fpm.sock
user = apache
group = apache

Bisa kalian ubah menjadi :

user = nginx
group = nginx
listen.owner = nobody
listen.group = nobody

Bisa kalian ubah menjadi :

listen.owner = nginx
listen.group = nginx

Jika sudah kalian edit seperti diatas untuk konfigurasi PHP 7.2 hanya sampai di sini saja.

  1. Install PHP 5.6

Jika sudah selesai dengan konfigurasi PHP 7.2 kita bisa lanjut untuk menginstall PHP 5.6 di VPSnya. Untuk install PHP 5.6 kalian cukup jalankan command berikut ini :

$ yum install -y php56 php56-common php56-php-fpm php56-php-mysqlphp56-php-mbstring php56-php-mcrypt php56-php-pecl-memcache php56-php-pecl-memcached php56-php-gd php56-php-xml php56-php-pecl-apc php56-php-cli php56-php-pear php56-php-pdo

Jika sudah selesai proses installnya sekarang artinya VPS atau server kaliankan sudah mempunyai 2 versi PHP yang berbeda, lalu bagaimana agar PHP 5.6 ini bisa dipakai juga di web servernya?. Sama dengan PHP 7.2 sebelumnya kalian perlu membuat virtualhost untuk menerapkan PHP 5.6 ini ke web servernya.

  1. Setting Virtualhost PHP 5.6

Untuk membuat virtualhost dengan PHP 5.6 kalian bisa membuat sebuah konfigurasi virtualhost baru dengan command berikut ini :

vim /etc/nginx/conf.d/default56.conf

Jika editornya sudah muncul kalian bisa tambahkan konfigurasi berikut ini :

server {
   listen        80;
   server_name   upcloud2.nimetech.com;
   root          /var/www/html/upcloud2;

   location / {
   }

   error_page 404 /404.html;
       location = /40x.html {
   }
   error_page 500 502 503 504 /50x.html;
       location = /50x.html {
    }

   location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php56-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Ini konfigurasi yang nunjukin setting PHP 5.6 dimana ya? coba kalian lihat pada konfigurasi :

location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php56-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Disana terdapat baris

fastcgi_pass unix:/var/run/php56-fpm.sock;

yang mana baris tersebut sama dengan yang ada di konfigurasi virtualhost PHP 7.2, namun bedanya dibaris tersebut akan memanggil socket PHP 5.6. Dan agar socket tersebut bisa terpanggil kalian juga harus mengubah konfigurasi PHP Fastcginya. Tapi tunggu dulu, untuk konfigurasi PHP Fastcginya PHP 5.6 lokasinya berbeda dengan PHP 7.2, untuk konfigurasi PHP Fastcgi pada PHP 5.6 kalian bisa jalankan command berikut ini untuk edit file konfigurasnya:

vim /opt/remi/php56/root/etc/php-fpm.d/www.conf

Jika sudah muncul editornya seperti sebelumnya kalian bisa mengubah beberapa baris yang ada

listen = 127.0.0.1:9000

Bisa kalian ubah menjadi :

listen = /var/run/php56-fpm.sock
user = apache
group = apache

Bisa kalian ubah menjadi :

user = nginx
group = nginx
listen.owner = nobody
listen.group = nobody

Bisa kalian ubah menjadi :

listen.owner = nginx
listen.group = nginx

Jika sudah selesai semua konfigurasi kalian perlu melakukan restart service terlebih dahulu dengan command berikut ini :

systemctl restart nginx
systemctl restart php-fpm
systemctl restart php56-php-fpm
  1. Pengujian

Nah, untuk pengujian atau pengecekannya kalian pertama harus buat dahulu root directory dari PHP 7.2 dan PHP 5.6, sebelumnya di virtualhost yang telah kalian buat itu kan untuk root directory PHP 7.2 dan 5.6 ada di /var/www/html/upcloud1 untuk PHP 7.2 dan /var/www/html/upcloud2 untuk PHP 5.6, maka kalian bisa jalankan command berikut ini untuk membuat root directory :

mkdir /var/www/html/upcloud1
mkdir /var/www/html/upcloud2

Jika sudah terbuat direktorinya kalian bisa buat file php info dengan command berikut ini :

vim /var/www/html/upcloud1/index.php

Kemudian ketikan script berikut ini :

<?php
phpinfo();
?>
vim /var/www/html/upcloud2/index.php

Kemudian ketikan juga script berikut ini :

<?php
phpinfo();
?>

Dan ketika kalian akses url subdomain/domainnya nanti hasilnya kurang lebih akan seperti berikut ini :

Cara mengaktifkan multiphp - PHP 7.2
Cara mengaktifkan multiphp - PHP 5.6

Kesimpulan

Cukup mudah bukan Cara mengaktifkan MultiPHP di VPS? sekarang kalian bisa menjalankan berbagai versi PHP di VPS untuk berbagai website atau aplikasi yang menggunakan PHP dengan versi yang berbeda-beda. Dan bisa menghemat resource VPS, karena tidak perlu menggunakan banyak VPS jika membutuhkan PHP dengan versi berbeda-beda.

Jika kalian mencari Jasa Manage VPS atau Jasa Setting VPS kami NimeTech.com siap membantu kalian.