Sharing seputar Dunia Tkj dan Blogging ^^

Thursday, October 27, 2016

Memasang Nginx dan PHP-Fpm di Ubuntu 14.04/16.04 LTS


Nginx (baca: engine x) adalah server HTTP dan Proxy dengan kode sumber terbuka (source code) Nginx dapat pula berfungsi sebagai proxy IMAP/POP3 (Wikipedia).

Salah satu keunggulan Nginx dibandingkan dengan Apache yakni terletak pada ringannya serta memiliki konfigurasi yang simpel lagi mudah. Meskipun hingga saat ini pengguna terbanyak web server adalah Apache, bukan berarti Nginx tidak banyak, justru Nginx termasuk pengguna terbanyak pula setelah Apache.

Pada tutorial kali ini penulis akan menampilkan tentang bagaimana cara memasang Nginx sebagai web server, disertai php-fpm yang mana berguna untuk membaca skrip php. Jika sebelumnya Anda pengguna Apache, tidaklah asing bagi Anda tentang php-apache, ya, Apache memiliki module tersendiri untuk membaca skrip PHP, lain hal dengan Nginx, kita perlu php-fpm untuk menjalankan skrip PHP tersebut dengan sebagaimana mestinya.
Langsung saja kita mulai praktek. Pertama-tama masuk ke Server Anda dengan ssh. Sebelum beranjak ke pemasangan Nginx dan php-fpm, ada baiknya kita sinkronisasikan terlebih dahulu database repository lokal dengan pusat, untuk memastikan seluruh paket sudah terbaru.
$ sudo apt-get update
Lalu kita pasangan Nginx:
$ sudo apt-get install nginx nginx-common nginx-core
Anda bisa menggunakan nginx-full untuk mendapatkan beberapa tambahan dari Nginx, akan tetapi hemat saya cukup untuk nginx-core dan nginx-common saja.

Kemudian kita pasang php-fpm:
--- Untuk pengguna Ubuntu 14.04 ---
$ sudo apt-get install php5-fpm php5 php5-gd php5-common
--- Untuk pengguna Ubuntu 16.04 ---
$ sudo apt-get install php7.0-fpm php7.0 php7.0-gd php7.0-common
Anda sudah bisa langsung mengakses Nginx Anda di browser:
Dan dapat menambahkan hanya file html di /usr/share/nginx/html/. Secara default Nginx tidak membaca file PHP, jadi jika Anda meletakan file PHP di sana ia akan membaca sebagaimana file.

berikut ini contohnya:
Ketika kita mengakses ver.php di browser dikenali sebagai file, sehingga memunculkan popup download atau save file. Oleh karena itu kita perlu mengatur konfigurasi Nginx dengan memanfaatkan php-fpm. Caranya adalah sebagai berikut:

Kita buka pengaturan default situs di /etc/nginx/sites-available/default:
$ cd /etc/nginx/sites-available
$ sudo mv default default.bak
$ sudo nano default
Buat pengaturan seperti di bawah ini:
server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /usr/share/nginx/html;
        index index.php index.html index.htm
        server_name localhost;

        location / {
         try_files $uri $uri/ /index.php?$args;
        }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_intercept_errors on;

        # Hilangkan tanda pagar di samping bagi Anda Pengguna Ubuntu 16.04
        # fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        # Bagi Anda pengguna Ubuntu 14.04
        fastcgi_pass unix:/var/run/php5-fpm.sock;

        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

   location ~ /\.ht {
        deny all;
   }
}
Lalu kemudian kita edit php.ini, pasti Anda sudah mengatahui di mana letak php.ini. Cara termudah untuk mengetahuinya yakni:
$ php -i | grep php.ini
Jika sudah seperti gambar di atas langsung saja kita edit dengan nano:
$ sudo nano /etc/php5/cli/php.ini
Cari kata cgi.fix_pathinfo= dengan cara menekat tombol CTRL+W
Hapus tanda titik koma (semicolon) dan ganti cgi.fix_pathinfo=0 seperti gambar di bawah ini:
Kemudian langsung kita restart Nginx:
$ sudo service nginx restart
Untuk memastikan apakah Nginx sudah dapat menjalan skrip php atau belum kita bisa membuat skrip percobaan yakni:
$ sudo nano /usr/share/nginx/html/ver.php
Dan isikan skrip seperti berikut:
<?php
phpinfo();
 

Dan langsung saja kita coba di browser:
Jika seperti gambar di atas artinya Anda telah sukses memasang Nginx dan php-fpm. Semoga bermanfaat :)

Website ini menganut paham demokrasi wkwk
Jangan lupa gunakan emot biar akrab gan (/ ^.^)/
EmoticonEmoticon