Jakhoster.blog

Home
  • aapanel
  • AlmaLinux
  • Artikel
  • Cloud Computing
  • Directadmin
  • Docker
  • Linux Server
  • Networking
  • VPS
  • Website Security
  • Linux Server

    Implementasi Linux Hardening untuk VPS Hosting Multidomain dengan NGINX dan PHP-FPM: Studi Kasus Produksi

    Wisnu Ardianto 24 May 2026

    Daftar Isi

    • 1 Memahami Tantangan Hosting Multidomain di Linux
    • 2 Pengenalan Arsitektur
    • 3 Langkah 1: Memperbarui Sistem
    • 4 Langkah 2: Mengonfigurasi Firewall dengan UFW
    • 5 Langkah 3: Menginstal dan Mengonfigurasi Fail2Ban
    • 6 Langkah 4: Mengoptimalkan Konfigurasi NGINX
    • 7 Langkah 5: Mengatur PHP-FPM untuk Performa Optimal
    • 8 Langkah 6: Memantau Log dengan Journalctl dan Logwatch
    • 9 Langkah 7: Implementasi Backup dan Restore
    • 10 Langkah 8: Tips Terakhir dan Kesalahan Umum

    Memahami Tantangan Hosting Multidomain di Linux

    Dalam lingkungan produksi, terutama ketika mengelola VPS hosting untuk banyak domain, tantangan utama yang sering dihadapi adalah pengelolaan beban server, keamanan, dan performa. Misalnya, dalam sebuah kasus nyata di perusahaan kami, kami menghadapi masalah performa yang signifikan saat traffic meningkat secara tiba-tiba. Setiap domain harus dilayani dengan cepat, sementara juga harus mempertahankan keamanan tinggi dari serangan seperti brute force atau malware. Karena itu, kami memutuskan untuk melakukan hardening Linux pada server yang menjalankan NGINX dan PHP-FPM.

    Pengenalan Arsitektur

    Sebelum kita mulai, mari kita tinjau arsitektur yang akan kita gunakan. Kami menggunakan VPS yang menjalankan Ubuntu 22.04 LTS dengan NGINX sebagai web server dan PHP-FPM untuk memproses skrip PHP. Database menggunakan MariaDB. Kami juga akan menggunakan beberapa alat untuk pemantauan dan keamanan seperti fail2ban dan logwatch.

    Langkah 1: Memperbarui Sistem

    Pertama-tama, pastikan semua paket di sistem Anda diperbarui. Ini adalah langkah penting untuk memastikan bahwa Anda memiliki semua patch keamanan terbaru. Gunakan perintah berikut:

    sudo apt update && sudo apt upgrade -y

    Perintah ini melakukan dua hal: pertamanya, apt update meminta informasi terbaru dari repositori, dan keduanya apt upgrade -y akan menginstal semua pembaruan yang tersedia tanpa meminta konfirmasi. Menjalankan perintah ini secara teratur akan sangat membantu dalam menjaga keamanan sistem Anda.

    Langkah 2: Mengonfigurasi Firewall dengan UFW

    Setelah sistem diperbarui, kita perlu mengonfigurasi firewall. UFW (Uncomplicated Firewall) adalah alat yang bagus untuk memulai. Pertama, kita perlu mengaktifkan UFW dan menambahkan aturan untuk membolehkan trafik SSH dan HTTP/HTTPS:

    sudo ufw allow OpenSSH
    sudo ufw allow 'Nginx Full'
    sudo ufw enable

    Perintah di atas pertama-tama mengizinkan koneksi untuk SSH, yang penting untuk mengelola server secara remote, dan aturan kedua untuk mengizinkan trafik menuju NGINX. Setelah itu, kita mengaktifkan firewall dengan ufw enable.

    Langkah 3: Menginstal dan Mengonfigurasi Fail2Ban

    Fail2Ban adalah alat yang dapat membantu melindungi server dari serangan brute force dengan memblokir alamat IP yang gagal login setelah sejumlah percobaan tertentu. Instalasi dapat dilakukan dengan:

    sudo apt install fail2ban

    Setelah terinstal, kita perlu mengkonfigurasi fail2ban. Buat salinan konfigurasi default:

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

    Selanjutnya, buka file konfigurasi tersebut dan ubah pengaturan sesuai kebutuhan Anda:

    sudo nano /etc/fail2ban/jail.local

    Cari bagian [sshd] dan ubah enabled menjadi true. Anda juga dapat menambahkan pengaturan untuk NGINX:

    [nginx-http-auth]
    enabled = true
    port = http,https
    filter = nginx-http-auth
    logpath = /var/log/nginx/error.log
    maxretry = 3
    bantime = 86400

    Pengaturan ini akan memblokir alamat IP yang melakukan lebih dari 3 kali percobaan gagal dalam 24 jam.

    Langkah 4: Mengoptimalkan Konfigurasi NGINX

    Setelah keamanan dasar diterapkan, kita perlu memastikan bahwa NGINX dioptimalkan untuk performa. Pertama, kita akan mengubah pengaturan di /etc/nginx/nginx.conf:

    worker_processes auto;
    worker_connections 1024;

    Dengan mengatur worker_processes ke auto, sistem akan menyesuaikan jumlah proses worker sesuai dengan jumlah core CPU tersedia, sementara worker_connections menentukan jumlah koneksi per proses worker.

    Kemudian, tambahkan gzip compression untuk mempercepat pengiriman konten:

    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    Dengan mengaktifkan gzip, kita bisa mengurangi ukuran data yang dikirim ke klien, sehingga mempercepat waktu loading.

    Langkah 5: Mengatur PHP-FPM untuk Performa Optimal

    Berikutnya, kita akan mengoptimalkan pengaturan PHP-FPM. Buka file konfigurasi PHP-FPM:

    sudo nano /etc/php/7.4/fpm/pool.d/www.conf

    Ubah pengaturan berikut:

    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 5
    pm.min_spare_servers = 5
    pm.max_spare_servers = 10

    Pengaturan ini mengizinkan PHP-FPM untuk mengelola proses PHP dengan lebih efisien berdasarkan traffic yang meningkat. Anda dapat menyesuaikan pengaturan max_children berdasarkan sumber daya server Anda.

    Langkah 6: Memantau Log dengan Journalctl dan Logwatch

    Pemantauan log sangat penting dalam menjaga kesehatan server. Gunakan journalctl untuk melihat log sistem dan NGINX:

    journalctl -u nginx.service

    Selain itu, Anda dapat menggunakan Logwatch untuk mendapatkan ringkasan harian dari aktivitas server:

    sudo apt install logwatch

    Setelah instalasi, Anda dapat menjalankan Logwatch dengan:

    logwatch --detail high --mailto your-email@example.com --range yesterday

    Ini akan mengirimkan laporan via email dengan detail tinggi tentang aktivitas server kemarin.

    Langkah 7: Implementasi Backup dan Restore

    Kami tidak dapat membahas keamanan tanpa menyentuh backup. Skenario terburuk adalah ketika kita kehilangan data. Gunakan rsync untuk melakukan backup:

    rsync -av --delete /var/www/html /path/to/backup/

    Perintah ini akan mengcopy semua file dari direktori web dan melakukan sinkronisasi dengan lokasi backup. Opsi --delete memastikan bahwa file yang dihapus di sumber juga dihapus di backup.

    Langkah 8: Tips Terakhir dan Kesalahan Umum

    Saat mengonfigurasi server, ada beberapa kesalahan umum yang perlu dihindari:

    • Melebih-lebihkan batas max_children di PHP-FPM, yang dapat menyebabkan kehabisan memori.
    • Melupakan untuk mengamankan file konfigurasi seperti config.php dengan izin yang tepat.
    • Tidak memantau log secara teratur, yang dapat menyebabkan ketidakpastian di kemudian hari.

    Secara umum, implementasi keamanan hardening ini adalah langkah penting untuk memastikan server produksi yang aman dan optimal. Dengan mengikuti langkah-langkah di atas, Anda meningkatkan ketahanan sistem dari serangan dan memastikan bahwa semua domain di server dapat berfungsi dengan baik meski di tengah lalu lintas yang padat.

    Untuk memperdalam pemahaman Anda mengenai pengaturan server yang efektif, kami sarankan Anda membaca artikel “Linux Server untuk Infrastruktur Website Modern“.

    Infrastruktur Kelas Enterprise

    Butuh Komputasi Tinggi untuk Website Anda?

    Dapatkan performa server tangguh tanpa kendala dengan teknologi NVMe Gen 4 dan jaminan kelancaran uptime 99% dari Jakhoster.

    Lihat Layanan Cloud Konsultasi Gratis

    Artikel Terkait untuk Anda

    Panduan Lengkap Linux Web Hosting untuk VPS dan Hosting

    Panduan Lengkap Linux Web Hosting untuk VPS dan Hosting

    21 May 2026
    Panduan Komprehensif untuk Men-deploy Dedicated Linux Server dalam Lingkungan Produksi

    Panduan Men-deploy Dedicated Server untuk Produksi

    18 May 2026

    Web Hosting Indonesia Terbaik Yang Layak Untuk Dipertimbangkan

    23 Aug 2021

    Tentang Jakhoster

    Jakhoster adalah platform penyedia layanan web hosting dan server virtualization terisolasi yang dikelola oleh PT Mitra Digital Bersinergi. Berfokus pada penyediaan infrastruktur tangguh berbasis NVMe storage berkecepatan tinggi, kami berkomitmen membantu ribuan pelaku bisnis, pengembang web, dan institusi di Indonesia untuk mengamankan aset digital mereka melalui solusi Cloud VM dan Enterprise Backup Storage yang aman, stabil, dan andal.

    Layanan Utama

    • Cloud VPS Indonesia
    • Dedicated VPS Indonesia
    • Hosting Murah Indonesia
    • Mail Hosting Indonesia
    • Domain Pricing
    • Dedicated Server Indonesia
    • Backup Storage
    • SSL Domain Validation
    • SSL Wildcard
    • SSL Extended Validation
    • License cPanel
    • License DirectAdmin
    • License WHMCS
    • License LiteSpeed
    • License CloudLinux
    • License Softaculous

    Hubungi Kami

    Punya pertanyaan mengenai infrastruktur server atau butuh penawaran kustom? Tim technical support kami siap membantu Anda 24/7.

    +62 818-1114-343 (WhatsApp)
  • aapanel
  • AlmaLinux
  • Artikel
  • Cloud Computing
  • Directadmin
  • Docker
  • Linux Server
  • Networking
  • VPS
  • Website Security
  • © 2026 PT Mitra Digital Bersinergi. All rights reserved.
    Powered by Jakhoster Engine Node