PHP-FPM (FastCGI Process Manager) adalah implementasi FastCGI alternatif untuk bahasa PHP. PHP-FPM merupakan interpreter PHP yang terpisah dari aplikasi web server. Setiap request atas script PHP yang masuk ke web server akan diteruskan (forward) ke FastCGI melalui socket atau koneksi TCP/IP. Pada artikel ini kita akan membahas langkah-langkah dalam membangun web server dengan PHP-FPM. Show
Sebelum mengikuti langkah-langkah dalam membangun web server dengan PHP-FPM dalam artikel ini, anda perlu melakukan instalasi web server Apache terlebih dahulu. Anda dapat mengikuti langkah yang telah saya tuliskan dalam artikel berikut Instalasi Web Server Apache pada Ubuntu 16.04Apache adalah salah satu web server yang sangat telah digunakan secara luas sejak dahulu. Walaupun kini telah banyak…medium.com 1. Instalasi PHP-FPMLangkah pertama adalah dengan melakukan instalasi $ sudo systemctl restart apache2.service 0 dan modul fastcgi apache dengan perintah:$ sudo apt update 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 script pada Gambar 1 ke dalam file $ sudo systemctl restart apache2.service 5 server anda, misalnya dalam file $ sudo systemctl restart apache2.service 6. Bila anda memiliki beberapa $ sudo systemctl restart apache2.service 5 maka script pada Gambar 1 perlu anda tambahkan pada semua $ sudo systemctl restart apache2.service 5 yang anda gunakan.Gambar 1. Konfigurasi PHP-FPM pada VirtualHostRestart service Apache untuk mengaktifkan konfigurasi tersebut dengan perintah $ sudo systemctl restart apache2.service Untuk mengecek apakah konfigurasi tersebut berhasil, buatlah sebuah file PHP berisi <?php dalam root directory (misalnya $ sudo systemctl restart apache2.service 9). Kemudian akseslah menggunakan web browser, misalnya dengan mengakses <?php 0 atau <?php 1.Perhatikan nilai <?php 2 pada Gambar 2. Bila nilainya adalah <?php 3, maka artinya proses instalasi PHP -FPM telah berhasil.
2. Modifikasi Konfigurasi PHP Tanpa langkah berikut, sebenarnya instalasi PHP tersebut telah dapat digunakan, namun kadang kita perlu melakukan beberapa modifikasi untuk menyesuaikan dengan kebutuhan program PHP yang nantinya kita buat. Modifikasi cgi.fix_pathinfoModifikasi bagian <?php 5 sangat penting dilakukan demi alasan keamanan. Yang perlu kita lakukan adalah membuka file <?php 6 dan mengubah;cgi.fix_pathinfo=1 menjadi cgi.fix_pathinfo=0 kemudian me-restart service PHP-FPM dengan perintah $ sudo systemctl restart php7.0-fpm.service Modifikasi ini sangat penting dilakukan untuk mencegah PHP mengeksekusi file dengan nama yang paling mirip bila file dengan nama yang sama persis tidak ditemukan. Instalasi MySQL moduleBila anda ingin menggunakan PHP untuk mengolah RDBMS MySQL atau MariaDB, maka anda perlu mengaktifkan PHP MySQL module dengan cara menjalankan perintah $ sudo apt install php-mysql kemudian anda perlu me-restart service PHP-FPM dengan perintah $ sudo systemctl restart php7.0-fpm.service Untuk memastikan bahwa modul <?php 7 telah aktif, buatlah sebuah file di root directory server, misalnya <?php 8 dengan isikemudian akses file tersebut menggunakan web browser, misalnya dengan mengakses <?php 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 pada script untuk disesuaikan dengan konfigurasi server anda. Bila output script tersebut adalahConnection success. maka instalasi anda berhasil, namun bila tidak maka berarti ada masalah dengan proses instalasi yang anda lakukan. Pencarian dan Instalasi Berbagai Modul PHPUntuk meningkatkan fungsionalitas dari PHP, anda dapat menambahkan beberapa modul tambahan ke dalam PHP. Untuk mencari modul-modul yang tersedia dalam repository, gunakanlah perintah $ sudo a2enmod actions fastcgi cgid alias 0Bila anda ingin pencarian yang lebih spesifik, kombinasikan dengan perintah grep, misalnya anda ingin mencari modul PHP yang berkaitan dengan zip, maka anda dapat menggunakan perintah $ sudo a2enmod actions fastcgi cgid alias 1Contoh output dari perintah tersebut adalah $ sudo a2enmod actions fastcgi cgid alias 2Bila anda sudah memutuskan modul apa yang perlu anda install, misalnya ;cgi.fix_pathinfo=1 4, maka gunakan perintah ;cgi.fix_pathinfo=1 5 untuk melakukan instalasi PHP modul tersebut. Berikut adalah contoh perintah untuk melakukan instalasi modul ;cgi.fix_pathinfo=1 4$ sudo a2enmod actions fastcgi cgid alias 3Kemudian restart service PHP-FPM dengan perintah $ sudo systemctl restart php7.0-fpm.service Menyembunyikan Versi PHP pada HTTP HeaderBila anda tidak menginginkan versi PHP anda tampil pada HTTP Header, demi alasan keamanan misalnya, maka anda dapat memodifikasi file <?php 6 dan ;cgi.fix_pathinfo=1 8. Pastikan variable ;cgi.fix_pathinfo=1 9 pada kedua file tersebut bernilai cgi.fix_pathinfo=0 0 seperti ini.$ sudo a2enmod actions fastcgi cgid alias 5Kemudian restart service PHP-FPM dengan perintah $ sudo systemctl restart php7.0-fpm.service Mengganti Default Directory IndexBila anda memiliki dua file index, misalnya cgi.fix_pathinfo=0 1 dan cgi.fix_pathinfo=0 2, dalam satu directory yang sama, maka yang dieksekusi oleh Apache adalah file cgi.fix_pathinfo=0 1. Bila anda ingin mengubah urutan prioritas file index, maka anda dapat mengaturnya melalui file cgi.fix_pathinfo=0 4. |