Cara Install LEMP (Linux, Nginx, MariaDB, PHP-FPM) di Debian 9 Stretch


Karena Debian mendukung sebagian besar server web di seluruh dunia, dalam artikel ini kami akan menjelaskan cara menginstal LEMP (Linux + Nginx + MariaDB + PHP-FPM) tumpukan di Debian 9 Stretch sebagai alternatif dari LAMP (gunakan panduan ini untuk instal LAMP di Debian 9).

Selain itu, kami akan menunjukkan cara melakukan konfigurasi Nginx/PHP-FPM minimal sehingga administrator sistem baru pun dapat menyiapkan server web baru untuk menyiapkan halaman dinamis.

Untuk melakukan ini, kami akan memanfaatkan pembaruan terkini pada repositori resmi distribusi. Diasumsikan Anda telah menginstal Debian 9 pada bare metal, mesin virtual, atau VPS, atau telah mengupgrade dari Jessie.

Menginstal LEMP di Debian 9 Stretch

Anda mungkin bertanya-tanya mengapa kami menyebutkan PHP-FPM dan bukannya PHP sebagai bagian dari tumpukan LEMP. Berbeda dengan server web lainnya, Nginx tidak menyediakan dukungan asli untuk PHP.

Oleh karena itu, PHP-FPM (Fast Process Manager) digunakan untuk menangani permintaan halaman PHP. Anda dapat mempelajari lebih lanjut tentang PHP-FPM di situs resmi PHP.

Versi default disediakan di repositori Debian php7.0-fpm. Seperti yang mungkin bisa Anda tebak berdasarkan nama paketnya, versi ini bahkan dapat menangani permintaan ke halaman yang menyertakan kode PHP 7.

CATATAN: Jika Apache telah diinstal di kotak yang sama sebelumnya, pastikan sudah dihentikan dan dinonaktifkan sebelum melanjutkan.

Oleh karena itu, mari kita instal komponen tumpukan LEMP sebagai berikut:

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Ketika instalasi selesai, pertama-tama pastikan bahwa Nginx dan PHP-FPM berjalan dan diaktifkan untuk memulai saat boot:

systemctl status nginx php7.0-fpm

Jika menunjukkan bahwa salah satu atau kedua layanan tidak berjalan, lakukan.

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

Seperti halnya dengan setiap instalasi MariaDB atau MySQL, penting untuk menjalankan mysql_secure_installation untuk melakukan konfigurasi keamanan minimal dan mengatur kata sandi untuk akun root basis data.

mysql_secure_installation

Jika Anda tidak tahu cara melakukannya, Anda dapat merujuk ke langkah #4 di Cara Menginstal MariaDB 10 di Debian dan Ubuntu.

Mengonfigurasi Nginx untuk Menggunakan PHP-FPM di Debian 9

File konfigurasi utama Nginx adalah /etc/nginx/sites-available/default, dimana kita perlu melakukan perubahan berikut di dalam blok server:

  • Pastikan blok lokasi yang menangani permintaan PHP diaktifkan, kecuali blok yang direktif fastcgi_pass menunjuk ke NIC loopback.
  • Tambahkan index.php setelah direktif index untuk menunjukkan bahwa jika ditemukan, maka harus disajikan secara default sebelum index.html atau file lainnya.
  • Tambahkan direktif nama_server yang menunjuk ke alamat IP atau nama host server Anda. Ini akan menjadi 192.168.0.35 dalam kasus kita.
  • Selain itu, pastikan direktif root menunjuk ke lokasi penyimpanan file .php Anda (/var/www/html secara default) .

Setelah selesai, Anda dapat menggunakan perintah berikut untuk menguji kesalahan pada file konfigurasi.

nginx -t 

Pada titik ini, /etc/nginx/sites-available/default Anda akan terlihat seperti berikut dengan angka yang mengacu pada konfigurasi yang mewakili daftar di atas:

grep -Ev '#' /etc/nginx/sites-available/default

Menguji Nginx dan PHP-FPM di Debian 9

Untuk memastikan sekarang kita menggunakan Nginx sebagai server web, mari buat file bernama info.php di dalam /var/www/html dengan isinya sebagai berikut:

<?php
	phpinfo();
?>

Lalu buka http://192.168.0.35/info.php dan periksa bagian atas halaman di mana Anda akan melihat ini:

Terakhir, arahkan browser kita ke file booksandauthors.php yang kita buat di Stack Instal LAMP (Linux, Apache, MariaDB atau MySQL dan PHP) di Debian 9.

Seperti yang Anda lihat pada gambar berikut, file ini sekarang dilayani oleh Nginx:

CATATAN: Jika Anda melihat bahwa Nginx menyajikan file .php sebagai unduhan alih-alih mengeksekusinya, kosongkan cache browser Anda atau coba browser lain . Khususnya, jika Anda menggunakan Chrome, Anda mungkin ingin mengujinya dengan mode penyamaran.

Ringkasan

Pada artikel ini kami telah menjelaskan cara menginstal dan mengkonfigurasi Nginx untuk menyajikan halaman .php dinamis. Penting untuk dicatat bahwa setelah pengaturan awal ini ada pengaturan yang harus dipertimbangkan untuk mengamankan server web.

Anda dapat menemukan ringkasan dasarnya di Panduan Utama untuk Mengamankan, Memperkuat, dan Meningkatkan Kinerja Server Web Nginx.

Jika Anda mencari virtual hosting di Nginx, baca Cara Mengatur Virtual Host Berbasis Nama dan Berbasis IP di NGINX.

Seperti biasa, jangan ragu untuk memberi tahu kami jika Anda memiliki pertanyaan atau komentar tentang artikel ini.