Sunday, May 14, 2017

[CentOS 7] LAB 8.17 Konfigurasi PHP-FPM (Nginx Web Server)

Assalamuallaikum 
WarahmatullahiWabarakatuh.

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Selamat siang semua, kembali lagi dengan ane. Pada kesempatan kali ane mau sharing lagi, kalau sebelumnya ane pernah sharing konfigurasi yang sama yaitu mengenai PHP juga pada Apache Web Serve disini, sedangkan pada kali ini ane mau sharing lagi mengenai yang berbau PHP lagi nih hehe dan tentunya menggunakan Nginx Web Server.


PHP adalah singkatan dari "PHP: Hypertext Prepocessor", yaitu bahasa pemrograman yang digunakan secara luas untuk penanganan pembuatan dan pengembangan sebuah situs web dan bisa digunakan bersamaan dengan HTML

Lalu apa PHP-Fpm ?
PHP-FPM (FastCGI Process Manager) adalah alternatif implementasi PHP FastCGI dengan beberapa fitur tambahan yang berguna untuk situs dengan ukuran apapun, terutama situs yang ramai. Banyak fitur yang disediakan oleh PHP-Fpm ini salah satu contohnya adalah darurat restart jika terjadi kerusakan opcode cache yang tidak disengaja. Dan masih banyak yang lainnya hehe.

Untuk topologi yang ane gunakan adalah sebagai berikut


Konfigurasi Server

1.) Sebelum menginstall PHP-FPM kita perlu menginstall beberapa paket php dengan menggunakan repository epel. Karena disini menggunakan repository epel dan bukan menggunakan lokal repository, maka untuk menginstall nya dibutuhkan koneksi internet, maka dari itu pastikan server sudah terkoneksi ke internet. Untuk menginstall paket php kita bisa menjalankan command
yum --enablerepo=epel -y install php php-mbstring php-pear


2.) Pastikan installasi berjalan hingga complete.

3.) Untuk menginsttall PHP-FPM  kita perlu menginstall repository remi terlebih dahulu, Untuk menginstall repository remi bisa menjalankan command
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm


4.)  Pastikan installasi berjalan hingga complete.

5.) Setelah itu baru kita install PHP-FPM nya. Untuk menginstall PHP-FPM ini bisa menjalankan command
yum --enablerepo=remi install -y php-fpm


6.) Dan pastikan installasi berjalan hingga complete.



7.) Kemudian kita edit file www.conf yang teletak di drectory /etc/php-fpm.d/. Untuk membuka fille tersebut kita bisa menjalankan command
nano /etc/php-fpm.d/www.conf


8.) Setelah itu cari script seperti gambar dibawah yang di blok warna kuning, atau lebih tepatnya sebagai berikut : 
user = apache
group = apache


9.) Ubah script nya menjadi seperti gambar dibawah yang diberi blok berwarna biru. Lebih tepatnya sebagai berikut :
user = nginx
group = nginx

Mengapa harus diubah yang awalnya apache menjadi nginx ? Karena pada awalnya kita menginstall PHP-FPM ini menggunakan Ngix, maka dari itu user dan group nya harus disesuaikan menjadi nginx juga. 


10.) Start dan enable php-fpm nya. untuk melakukan start php-fpm bisa menjalankan command sebagai berikut :
systemctl start php-fpm
Kemudian untuk melakukan enable supaya php-fpm dapat berjalan otomatis saat server di restart, bisa menjalankan command :
systemctl enable php-fpm 


11.) Kemudian edit web server nginx nya, disini ane edit pada file virtual host yang pernah di konfigurasi pada lab sebelumnya yaitu pada file vhost.conf yang terletak di directory /etc/nginc/conf.d/. Untuk membuka file vhost.conf bisa menjalankan command
nano /etc/nginc/conf.d/vhost.conf/


12.) Setelah itu tambahkan seperti script yang diberi blok berwarna biru.


Sedikit informasi. FastCGI adalah protokol ekstensi bagi CGI yang memungkinkan kinerja yang lebih tinggi karena efisiensi yang lebih. Sebuah proses FastCGI umumnya tidak harus direstart atau dieksekusi ulang di setiap request, melainkan berjalan di background dan memproses banyak request dalam loop. FastCGI, sama seperti CGI, tidak terikat pada bahasa atau webserver tertentu. Anda dapat membuat aplikasi FastCGI dalam bahasa apa saja yang mendukungnya, seperti Perl, Python, Ruby, dll. 

Sedangkan FastCGI proxying dalam Nginx pada umunya digunakan untuk menerjemahkan permintaan client untuk server aplikasi yang tidak atau tidak harus menangani permintaan client secara langsung. FastCGI adalah protokol berbasis CGI sebelumnya, atau antarmuka gateway yang umum, protokol ini dimaksudkan untuk meningkatkan kinerja dengan tidak menjalankan setiap permintaan sebagai proses terpisah. Protokol ini digunakan untuk antarmuka yang efisien dengan server yang memproses permintaan untuk konten dinamis. 

Salah satu fungsi utama dari FastCGI proxying dalam Nginx ini adalah untuk pemrosesan PHP. Tidak seperti Apache yang bisa menangani pemrosesan PHP secara langsung dengan penggunaan modul mod_php, Nginx harus mengandalkan prosesor PHP yang terpisah untuk menangani permintaan PHP. Paling sering, pengolahan ini ditangani dengan php-fpm, prosesor PHP yang telah diuji secara ekstensif untuk bekerja dengan Nginx.

Keterangan :
  • fastcgi_param : Untuk menetapkan parameter yang harus dilewatkan ke server FastCGI. Hal ini bisa berupa teks, variabel, meupun kombinasi keduanya.
  • location : Merupakan lokasi dari file .php nya
  • fastcgi_pass : Merupakan petunjuk yang digunakan Nginx untuk menentukan server sebenarnya, agar proxy menggunakan protokol FastCGI, alamatnya bisa ditentukan sebagai nama domain atau IP Address dan port
  • include fastcgi_params : Untuk memasukkan file konfigurasi parameter fastcgi yang terletak pada directory /etc/nginx/


13.) Supaya konfigurasi dapat berjalan dengan baik, kita restart nginx nya terlebih dahulu. Untuk merestart nginx bisa menjalankan command
systemctl restart nginx


14.) Karena sebelumnya locationnya kita atur menjadi "~", maka sisipkan script php ke directory  root / default nginx di /usr/share/nginx/html/"namafile".php dengan menggunakan perintah echo
echo "<?php phpinfo() ?> /usr/share/nginx/html/"namafile".php

Verifikasi Client

1.) Kemudian buka web browser dan coba akses menggunakan nama domain dan diakhiri dengan nama file .php yang tadi sudah dibuat.


Maka akan muncul tampilan php seperti gambar diatas, dengan demikian kita bisa mengetahui php apa saja yang diinstall.
Mungkin hanya sekian yang dapat ane sharing, mohon maaf bila banyak kesalahan dan kekurangan baik dari segi kata dan penulisan.
Terima Kasih. Semoga Bermanfaat. 

Wassalamuallaikum Warahmatullahi Wabarakatuh.

 وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

0 komentar:

Post a Comment