Cara menggunakan restart php-fpm

PHP-FPM (FastCGI Process Manager) adalah implementasi FastCGI alternatif untuk bahasa PHP. PHP-FPM adalah interpreter PHP terpisah dari aplikasi server web. Setiap permintaan skrip PHP yang masuk ke web server akan diteruskan ke FastCGI melalui soket atau koneksi TCP/IP. Pada artikel kali ini akan dibahas langkah-langkah dalam membangun web server dengan PHP-FPM

Sebelum mengikuti langkah-langkah membangun web server dengan PHP-FPM pada artikel ini, Anda perlu menginstall web server Apache terlebih dahulu. Anda dapat mengikuti langkah-langkah yang telah saya tulis di artikel berikut

Instalasi Apache Web Server di Ubuntu 16. 04

Apache adalah salah satu server web yang paling banyak digunakan di masa lalu. Meskipun telah banyak…

sedang. com

1. Instalasi PHP-FPM

Langkah pertama adalah menginstal

$ sudo systemctl restart apache2.service
_0 dan modul fastcgi apache dengan perintah

$ sudo apt update
$ sudo apt install php-fpm libapache2-mod-fastcgi
_

Aktifkan modul

$ sudo systemctl restart apache2.service
1,
$ sudo systemctl restart apache2.service
2,
$ sudo systemctl restart apache2.service
3 dan
$ sudo systemctl restart apache2.service
4 dengan perintah

$ sudo a2enmod actions fastcgi cgid alias
_

kemudian tambahkan skrip pada Gambar 1 ke file

$ sudo systemctl restart apache2.service
5 server Anda, misalnya di file
$ sudo systemctl restart apache2.service
6. Jika Anda memiliki beberapa
$ sudo systemctl restart apache2.service
5 maka skrip pada Gambar 1 perlu ditambahkan ke semua
$ sudo systemctl restart apache2.service
5 yang Anda gunakan

Gambar 1. Konfigurasi PHP-FPM di VirtualHost

Mulai ulang layanan Apache untuk mengaktifkan konfigurasi dengan perintah

$ sudo systemctl restart apache2.service

Untuk memeriksa apakah konfigurasi berhasil, buat file PHP yang berisi

  phpinfo();
?>

di direktori root (misalnya

$ sudo systemctl restart apache2.service
9). Kemudian akses menggunakan web browser, misalnya dengan mengakses
  phpinfo();
?>
0 atau
  phpinfo();
?>
1

Gambar 2. Keluaran phpinfo() PHP-FPM

Perhatikan nilai

  phpinfo();
?>
_2 pada Gambar 2. Jika nilainya
  phpinfo();
?>
_3, maka berarti proses instalasi PHP-FPM sudah berhasil

Konfigurasi

  phpinfo();
?>
_4 pada Gambar 1 menggunakan socket untuk menghubungkan Apache dengan PHP-FPM yang berada dalam satu server yang sama. Ketika Apache dengan PHP-FPM berada di server terpisah maka Anda harus menggunakan koneksi TCP/IP, tetapi metode tersebut tidak dibahas dalam artikel ini

2. Modifikasi Konfigurasi PHP

Tanpa langkah-langkah berikut sebenarnya penginstalan PHP sudah bisa digunakan, namun terkadang kita perlu melakukan beberapa modifikasi untuk menyesuaikan dengan kebutuhan program PHP yang nantinya akan kita buat

modifikasi cgi. fix_pathinfo

Modifikasi bagian

  phpinfo();
?>
_5 sangat penting untuk alasan keamanan. Yang perlu kita lakukan hanyalah membuka file
  phpinfo();
?>
6 dan mengubahnya

;cgi.fix_pathinfo=1

menjadi

cgi.fix_pathinfo=0

kemudian restart layanan PHP-FPM dengan perintah

$ sudo systemctl restart php7.0-fpm.service

Modifikasi ini sangat penting untuk mencegah PHP mengeksekusi file dengan nama yang paling mirip ketika file dengan nama yang sama persis tidak ditemukan

Instalasi modul MySQL

Ketika Anda ingin menggunakan PHP untuk memproses RDBMS MySQL atau MariaDB, maka Anda perlu mengaktifkan modul PHP MySQL dengan menjalankan perintah

$ sudo apt install php-mysql

maka Anda perlu me-restart layanan PHP-FPM dengan perintah

$ sudo systemctl restart php7.0-fpm.service

Untuk memastikan modul

  phpinfo();
?>
_7 aktif, buat file di direktori root server, misalnya
  phpinfo();
?>
8 dengan isinya

kemudian akses file tersebut menggunakan web browser, misalnya dengan mengakses

  phpinfo();
?>
9 atau
;cgi.fix_pathinfo=1
0. Jangan lupa, Anda perlu mengganti
;cgi.fix_pathinfo=1
1,
;cgi.fix_pathinfo=1
2, dan
;cgi.fix_pathinfo=1
3 dalam skrip agar sesuai dengan konfigurasi server Anda. Ketika output dari skrip adalah

Connection success.

maka instalasi anda berhasil, namun jika tidak maka berarti ada masalah pada proses instalasi yang anda lakukan

Pencarian dan Pemasangan Berbagai Modul PHP

Untuk meningkatkan fungsionalitas PHP, Anda dapat menambahkan beberapa modul tambahan ke PHP. Untuk menemukan modul yang tersedia di repositori, gunakan perintah

$ sudo a2enmod actions fastcgi cgid alias
_0

Bila ingin pencarian yang lebih spesifik, gabungkan dengan perintah grep, misalnya ingin mencari modul PHP yang berhubungan dengan zip, maka bisa menggunakan perintah

$ sudo a2enmod actions fastcgi cgid alias
_1

Contoh output dari perintah tersebut adalah

$ sudo a2enmod actions fastcgi cgid alias
_2

Ketika Anda telah memutuskan modul apa yang perlu Anda instal, misalnya

;cgi.fix_pathinfo=1
4, maka gunakan perintah
;cgi.fix_pathinfo=1
5 untuk menginstal modul PHP. Berikut adalah contoh perintah untuk memasang modul
;cgi.fix_pathinfo=1
4

$ sudo a2enmod actions fastcgi cgid alias
_3

Kemudian restart layanan PHP-FPM dengan perintah

$ sudo systemctl restart php7.0-fpm.service

Menyembunyikan Versi PHP di HTTP Header

Jika Anda tidak ingin versi PHP Anda muncul di HTTP Header, misalnya untuk alasan keamanan, maka Anda dapat memodifikasi file

  phpinfo();
?>
6 dan
;cgi.fix_pathinfo=1
8. Pastikan variabel
;cgi.fix_pathinfo=1
9 di kedua file adalah
cgi.fix_pathinfo=0
0 seperti ini

$ sudo a2enmod actions fastcgi cgid alias
_5

Kemudian restart layanan PHP-FPM dengan perintah

$ sudo systemctl restart php7.0-fpm.service

Mengganti Indeks Direktori Default

Ketika Anda memiliki dua file indeks, misalnya

cgi.fix_pathinfo=0
1 dan
cgi.fix_pathinfo=0
2, di direktori yang sama, maka yang dijalankan Apache adalah file
cgi.fix_pathinfo=0
1. Jika Anda ingin mengubah urutan prioritas indeks file, maka Anda dapat mengaturnya melalui file
cgi.fix_pathinfo=0
4