Cara Install LEMP di Server Debian 10


Tumpukan “LEMP” adalah campuran perangkat lunak sumber terbuka yang biasanya diinstal pada server Linux untuk menerapkan aplikasi dinamis. Istilah ini merupakan akronim yang mewakili sistem operasi Linux, server web Nginx, database MariaDB, dan pemrograman PHP.

Baca Juga: Cara Install LAMP di Server Debian 10

Meskipun tumpukan “LEMP ” ini biasanya berisi MySQL sebagai sistem manajemen basis data, beberapa distribusi Linux seperti Debian — menggunakan MariaDB sebagai pengganti MySQL.

Persyaratan

  1. Cara Install Server Minimal Debian 10 (Buster).

Dalam artikel ini, kami akan menjelaskan kepada Anda cara memasang dan menyiapkan lingkungan LEMP di server Debian 10, menggunakan MariaDB sebagai manajemen basis data platform.

Menginstal Server Web Nginx di Debian 10

Nginx adalah sumber terbuka dan lintas platform, ringan namun kuat dan mudah dikonfigurasikan HTTP dan server proxy terbalik, server proxy email, dan proxy TCP/UDP generik server, dengan arsitektur modular.

Beberapa fitur dasarnya termasuk menyajikan file statis dan indeks; dukungan yang dipercepat dengan caching server FastCGI, uwsgi, SCGI, dan Memcached, penyeimbangan beban dan toleransi kesalahan, SSL dan dukungan TLS SNI, dukungan untuk HTTP/2 dengan prioritas berbasis bobot dan ketergantungan.

Untuk menginstal paket Nginx, gunakan manajer paket apt Debian seperti yang ditunjukkan.

apt update 
apt install nginx 

Setelah instalasi Nginx selesai, penginstal akan mengaktifkan systemd untuk memulai layanan Nginx saat ini dan memungkinkannya untuk memulai secara otomatis saat boot sistem. Anda dapat memeriksa status Nginx menggunakan perintah systemctl berikut.

systemctl status nginx

Anda juga dapat menggunakan perintah penting berikut untuk memulai, memulai ulang, menghentikan, dan memuat ulang konfigurasi layanan Nginx di bawah systemd.

systemctl start nginx
systemctl restart nginx 
systemctl stop nginx
systemctl reload nginx 
systemctl status nginx 

Selanjutnya, jika Anda menjalankan firewall UFW (biasanya dinonaktifkan secara default), Anda perlu membuka port 80 (HTTP) dan 443 (HTTPS) untuk mengizinkan lalu lintas masuk di Nginx.

ufw allow 80
ufw allow 443
ufw status

Pada titik ini, Anda perlu menguji apakah Nginx sudah terpasang dengan benar, apakah sudah berjalan dan dapat melayani halaman web. Untuk melakukannya, buka browser web dan arahkan ke URL berikut untuk mengakses halaman web Nginx Debian Default.

http://SERVER_IP/
OR
http://localhost/

Menginstal MariaDB di Debian 10

Selanjutnya, Anda perlu menginstal sistem database untuk dapat menyimpan dan mengelola data situs web atau aplikasi web Anda. Debian 10 mendukung MariaDB secara default, sebagai pengganti MySQL.

Untuk menginstal MariaDB, jalankan perintah berikut.

apt install mariadb-server

Selanjutnya, periksa status layanan MariaDB karena layanan ini dimulai secara otomatis oleh systemd dan diaktifkan untuk memulai saat boot sistem, untuk memastikan bahwa layanan tersebut aktif dan berjalan, gunakan perintah berikut.

systemctl status mariadb

Untuk mengelola (memulai, memulai ulang, menghentikan, dan memuat ulang) layanan MariaDB pada systemd, Anda dapat menggunakan perintah berikut.

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

Selanjutnya, penerapan MariaDB tidak aman secara default. Anda perlu menjalankan skrip shell yang dikirimkan bersama paket, untuk memungkinkan Anda meningkatkan keamanan database.

mysql_secure_installation

Setelah menjalankan skrip, Anda akan dibawa melalui serangkaian pertanyaan berikut untuk mengubah pengaturan default instalasi MariaDB seperti yang ditunjukkan pada tangkapan layar berikut.

Menginstal PHP-FPM (Fast Process Manager) di Debian 10

Tidak seperti Apache dan server web lainnya, Nginx tidak menyediakan dukungan asli untuk PHP, karena menggunakan PHP-FPM untuk menangani permintaan halaman PHP. PHP-FPM adalah daemon FastCGI alternatif untuk PHP yang memungkinkan situs web menangani beban tinggi, dengan menggunakan proses pekerja untuk menangani permintaan.

Untuk menginstal PHP-FPM versi 7.3 dan modul PHP untuk berkomunikasi dengan sistem database MariaDB/MySQL, jalankan perintah berikut.

apt install php-fpm php-mysqli

Setelah PHP-FPM diinstal, penginstal akan mengaktifkan systemd untuk memulai layanan PHP-FPM untuk saat ini dan mengaktifkannya untuk memulai secara otomatis saat boot sistem. Untuk memeriksa apakah sudah aktif dan berjalan, jalankan perintah berikut.

systemctl status php-fpm

Anda juga dapat memulai, memulai ulang, menghentikan, dan memuat ulang konfigurasi layanan PHP-FPM di bawah systemd, sebagai berikut.

systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm

Selanjutnya, Anda perlu mengamankan PHP-FPM dengan melakukan beberapa perubahan pada file konfigurasi /etc/php/7.3/fpm/php.ini sebagai berikut.

vi /etc/php/7.3/fpm/php.ini

Carilah ;cgi.fix_pathinfo=1 uncomment dengan menghilangkan karakter ; di awal, atur nilainya menjadi 0. Hal ini mencegah Nginx mengizinkan file non-PHP dieksekusi sebagai PHP.

cgi.fix_pathinfo=0

Secara default, PHP-FPM dikonfigurasi untuk mendengarkan pada soxket UNIX, /run/php/php7.3-fpm.sock seperti yang didefinisikan dalam /etc /php/7.3/fpm/pool.d/www.conf file konfigurasi. Anda harus mengonfigurasi semua blok server Anda (atau host virtual) untuk menggunakan soket ini jika ingin memproses dan menyajikan halaman PHP.

Anda dapat menggunakan file konfigurasi blok server default Nginx /etc/nginx/sites-available/default untuk mengujinya.

vi /etc/nginx/sites-available/default 

Cari bagian berikut dan batalkan komentar untuk meneruskan skrip PHP ke server FastCGI seperti yang ditunjukkan pada tangkapan layar.

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

Selanjutnya, uji apakah struktur konfigurasi Nginx OK, menggunakan perintah berikut.

nginx -t

Jika konfigurasi Nginx OK, untuk menerapkan perubahan yang baru saja dilakukan, restart layanan php7.3-fpm dan nginx seperti berikut.

systemctl restart php7.2-fpm
systemctl restart nginx

Menguji Pemrosesan PHP-FPM di Nginx

Setelah mengonfigurasi PHP-FPM dan Nginx agar berfungsi bersama, Anda perlu menguji apakah dua layanan dapat memproses dan menyajikan halaman PHP ke klien. Untuk melakukannya, buat skrip PHP sederhana di DocumentRoot web Anda sebagai berikut.

echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

Terakhir, buka browser dan ketik alamat berikut untuk melihat konfigurasi PHP pada sistem seperti yang dihasilkan oleh fungsi phpinfo().

http://SERVER_IP/info.php
OR
http://localhost/info.php

Kesimpulan

Pada artikel ini, kami telah menunjukkan cara memasang dan mengonfigurasi tumpukan LEMP di Debian 10. Jika Anda memiliki pertanyaan atau masukan, silakan hubungi kami dan beri tahu kami melalui formulir komentar di bawah.