PERKEMBANGAN VIRUS CORONA

Berita Selengkapnya
Sabtu, 08 Agustus 2020, WIB

Minggu, 26 Jul 2020, 17:02:44 WIB, 72 View Ryan Descreate, Kategori : Teknologi

1. Install Nginx

Install Nginx dan cek status service-nya apakah berjalan atau tidak.

 

 

apt install nginx -y

systemctl status nginx

2. Install PHP Banyak Versi

Install PHP multi versi menggunakan repository dari PPA (Personal Package Archives), karena versi PHP yang tersedia di repository default Ubuntu 18.04 LTS yaitu PHP v7.2.

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS

Cek versi Ubuntu dan paket php dari repository default

 

 

 

 

 

 

 

 

add-apt-repository ppa:ondrej/php

apt update

apt install php5.6 php5.6-fpm -y

apt install php7.0 php7.0-fpm -y

apt install php7.1 php7.1-fpm -y

apt install php7.2 php7.2-fpm -y

apt install php7.3 php7.3-fpm -y

Mencari nama paket modul atau extension PHP gunakan perintah apt search atau apt-cache search.

Misalnya mencari modul untuk php7.2.

 

 

apt search php7.2 | more

apt-cache search php7.2 | more

 

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS

Daftar modul PHP

Menguji hasil install PHP dengan menampilkan versi PHP.

 

 

 

 

 

php5.6 -v

php7.0 -v

php7.1 -v

php7.2 -v

php7.3 -v

 

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS

Cek hasil install setiap versi PHP

Setting versi default PHP untuk php-cli, misalnya ingin memakai versi PHP 7.2 sebagai versi default.

 

 

update-alternatives --set php /usr/bin/php7.2

php -v

 

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS

Setting versi PHP untuk command php

3. Setting Server Block

Selanjutnya membuat server block (di Apache disebut sebagai virtualhost) untuk masing-masing versi PHP.

  • PHP v5.6 = php56.aplikasi.oke
  • PHP v7.0 = php70.aplikasi.oke
  • PHP v7.1 = php71.aplikasi.oke
  • PHP v7.2 = php72.aplikasi.oke
  • PHP v7.3 = php73.aplikasi.oke

Membuat direktori root dan file index.php untuk masing-masing virtualhost versi PHP.

 

 

 

 

 

 

 

cd /var/www

mkdir php56 php70 php71 php72 php73

echo '' | sudo tee --append php56/index.php

echo '' | sudo tee --append php70/index.php

echo '' | sudo tee --append php71/index.php

echo '' | sudo tee --append php72/index.php

echo '' | sudo tee --append php73/index.php

Membuat file server block php56.aplikasi.oke.conf untuk PHP v5.6.

 

 

cd /etc/nginx/sites-available

nano php56.aplikasi.oke.conf

Isi dari file server block php56.aplikasi.oke.conf.

 

 

 

 

 

server {

listen 80;

 

server_name php56.aplikasi.oke;

root /var/www/php56;

 

    index index.php index.html index.htm;

 

    location / {

        try_files $uri $uri/ /index.php?$query_string;

    }

 

    location ~ \.php$ {

    try_files $fastcgi_script_name =404;

    include fastcgi_params;

    fastcgi_pass                    unix:/var/run/php/php5.6-fpm.sock;

    fastcgi_index                   index.php;

    fastcgi_param DOCUMENT_ROOT     $realpath_root;

    fastcgi_param SCRIPT_FILENAME   $realpath_root$fastcgi_script_name;

    }

 

access_log /var/log/nginx/php56.aplikasi.oke.access.log;

error_log /var/log/nginx/php56.aplikasi.oke.error.log warn;

}

Pada file server block di atas, opsi fastcgi_pass yang menentukan file .php dieksekusi dengan PHP versi berapa.

Lanjutkan dengan membuat file server block untuk versi PHP yang lain, sesuaikan opsi server_namerootfastcgi_pass, dan file access_log serta error_log.

Terakhir aktifkan setting server block dan restart nginx.

 

 

 

 

ln -s /etc/nginx/sites-available/php56.aplikasi.oke.conf /etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/php70.aplikasi.oke.conf /etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/php71.aplikasi.oke.conf /etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/php72.aplikasi.oke.conf /etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/php73.aplikasi.oke.conf /etc/nginx/sites-enabled

systemctl restart nginx

systemctl status nginx

4. Pengujian

Browsing masing-masing subdomain, tiap subdomain harus menampilkan versi PHP yang berbeda.

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS

Browsing setiap versi PHP

5. Beda Versi PHP di Direktori Tertentu

Server block di atas berlaku untuk subdomain, sehingga file yang berada dalam direktori dan sub-direktori subdomain tersebut menjalankan versi PHP yang sama. Muncul pertanyaan bagaimana caranya jika masih dalam satu domain atau subdomain ingin menjalankan PHP dengan versi berbeda di direktori tertentu? Jawabannya dengan cara menambah opsi location /sub-direktori di setting server block.

Misalnya root /var/www/aplikasi.oke dengan url akses http://aplikasi.oke dan sub-direktori lain menjalankan PHP v5.6, sementara khusus untuk sub-direktori /var/www/aplikasi.oke/v2 dengan url akses https://aplikasi.oke/v2 menjalankan PHP v7.2.

 

 

server {

    listen 80;

 

    server_name aplikasi.oke;

    root /var/www/aplikasi.oke;

 

    index index.php index.html index.htm;

 

    location / {

        try_files $uri $uri/ /index.php?$query_string;

    }

 

    location /v2 {

        try_files $uri $uri/ /index.php?$query_string;

 

        location ~ \.php$ {

            try_files $fastcgi_script_name =404;

            include fastcgi_params;

            fastcgi_pass                    unix:/var/run/php/php7.2-fpm.sock;

            fastcgi_index                   index.php;

            fastcgi_param DOCUMENT_ROOT     $realpath_root;

            fastcgi_param SCRIPT_FILENAME   $realpath_root$fastcgi_script_name;

        }    

    }

 

    location ~ \.php$ {

        try_files $fastcgi_script_name =404;

        include fastcgi_params;

        fastcgi_pass                    unix:/var/run/php/php5.6-fpm.sock;

        fastcgi_index                   index.php;

        fastcgi_param DOCUMENT_ROOT     $realpath_root;

        fastcgi_param SCRIPT_FILENAME   $realpath_root$fastcgi_script_name;

    }

 

    access_log /var/log/nginx/aplikasi.oke.access.log;

    error_log /var/log/nginx/aplikasi.oke.error.log warn;

}

 

Cara Jalankan Banyak Versi PHP dengan Nginx di Ubuntu 18.04 LTS

Browsing PHP beda versi di direktori tertentu

Selamat mencoba ????



Selasa, 21 Jul 2020 WhatsApp Down Dikeluhkan Netizen


Tuliskan Komentar


//