Pada artikel Menginstall NGINX sebelumnya, kita sudah berhasil menginstal dan mengkonfigurasi web server NGINX dan juga melayani request http. Tapi NGINXnya hanya bisa membaca file dengan format html yang tentu saja tidak dinamis.

Biasanya website yang dinamis memerlukan bahasa pemrograman yang akan membantu pengguna untuk berinteraksi dengan website tersebut. Misalnya untuk menginput data, berpindah halaman website dan lain sebagainya.

Contoh bahasa pemrograman yang biasa digunakan untuk membuat website yang dinamis adalah PHP. PHP (Hypertext Preprocessor) merupakan scripting language yang digunakan pada pengembangan website dan terkait dengan bagaimana proses di dalam website dijalankan. Berbeda dengan HTML yang lebih bertujuan untuk menampilkan halaman website yang menarik dan interaktif (jika dipadukan dengan CSS dan Javascript).

Di artikel kali ini, kita akan coba bagaimana menginstall PHP dan cara konfigurasnya dengan Nginx. Penulis tidak akan membahas jauh tentang apa itu php dan bagaimana cara membuat kode php.

Langkah 1 : Menginstall PHP

Seperti biasa, update library package linux.

:~$ sudo apt update 

Agar Nginx bisa terintegrasi dengan PHP,  dibutuhkan program eksternal untuk menangani pemrosesan PHP dan bertindak sebagai jembatan antara interpreter PHP dengan NGINX. Kita akan menginstal php-fpm, yang merupakan singkatan dari “PHP fastCGI process manager", dimana nantinya akan mengarahkan Nginx untuk meneruskan permintaan PHP ke perangkat lunak ini untuk pemrosesan.

Selain itu, jika kita ingin menggunakan script PHP untuk melakukan query ke database  MySQL, kita akan membutuhkan php-mysql, suatu modul PHP yang mengizinkan PHP untuk berkomunikasi dengan database berbasis SQL.

:~$ sudo apt install php-fpm php-mysql

Langkah 2 : Konfigurasi NGINX

Setelah semua package yang dibutuhkan selesai diinstal, tentunya perlu pengaturan agar NGINX dan PHP bisa terintegerasi. Kita akan membuat file server block baru yang nantinya berisi parameter untuk memanggil modul php yang sudah diinstal.

Sebelum membuat server block, kita buat direktori untuk menampung halaman/konten website dan juga contoh file PHP yang nantinya akan menampilkan versi PHP yang diinstal di server kita.

~$ sudo mkdir /var/www/phpsite
~$ sudo vim /var/www/phpsite/index.php

Kemudian isi file PHP-nya dengan script berikut.

<?php
phpinfo();

Simpan filenya dan keluar dari editor vim kemudian jalankan perintah berikut untuk membuat file sever block baru.

~$ sudo vim /etc/nginx/sites-available/phpconf

Kemudian salin contoh konfigurasi berikut.

server {
        listen 80 default_server;
        listen [::]:80 default_server;


        root /var/www/phpsite;

        index index.php;

        server_name _;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;

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

Note : isi dari server_name bisa disesuaikan dengan nama domain. Jika seperti konfigurasi di atas, nilai default server_name adalah IP address server.

Simpan file konfigurasi dan keluar dari editor, kemudian jalankan perintah berikut untuk membuatkan link ke direktori sites-enabled.

~$ sudo ln -s /etc/nginx/sites-available/phpconf /etc/nginx/sites-enabled/

Pastikan semua konfigurasi NGINX nya tidak ada yang salah dengan perintah berikut.

~$ sudo nginx -t

Jika statusnya Successful jalankan perintah ini untuk restart service NGINX.

sudo systemctl restart nginx.service 

Jika tidak ada error yang muncul, silahkan akses domain atau IP public server Ubuntu untuk melihat apakan PHP sudah berhasil diinstal dan terintegerasi dengan NGINX.