Jump to content

Web Server: Difference between revisions

From Wiki
Created page with "'''Server Web''' (bahasa Inggris: ''Web Server'') adalah perangkat lunak yang berfungsi untuk menerima permintaan melalui protokol HTTP atau HTTPS dari klien (seperti peramban web) dan mengirimkan kembali respon berupa halaman web, dokumen, atau data lainnya. Server web dapat berjalan pada berbagai sistem operasi, termasuk distribusi Linux seperti Debian dan CentOS. == Perangkat Lunak Server Web == Terdapat beberapa perangkat lunak server web yang tersedia, dengan karak..."
 
No edit summary
 
Line 1: Line 1:
[[File:Infografis web server.png|thumb]]
'''Server Web''' (bahasa Inggris: ''Web Server'') adalah perangkat lunak yang berfungsi untuk menerima permintaan melalui protokol HTTP atau HTTPS dari klien (seperti peramban web) dan mengirimkan kembali respon berupa halaman web, dokumen, atau data lainnya. Server web dapat berjalan pada berbagai sistem operasi, termasuk distribusi Linux seperti Debian dan CentOS.
'''Server Web''' (bahasa Inggris: ''Web Server'') adalah perangkat lunak yang berfungsi untuk menerima permintaan melalui protokol HTTP atau HTTPS dari klien (seperti peramban web) dan mengirimkan kembali respon berupa halaman web, dokumen, atau data lainnya. Server web dapat berjalan pada berbagai sistem operasi, termasuk distribusi Linux seperti Debian dan CentOS.



Latest revision as of 13:31, 12 December 2025

Server Web (bahasa Inggris: Web Server) adalah perangkat lunak yang berfungsi untuk menerima permintaan melalui protokol HTTP atau HTTPS dari klien (seperti peramban web) dan mengirimkan kembali respon berupa halaman web, dokumen, atau data lainnya. Server web dapat berjalan pada berbagai sistem operasi, termasuk distribusi Linux seperti Debian dan CentOS.

Perangkat Lunak Server Web

Terdapat beberapa perangkat lunak server web yang tersedia, dengan karakteristik dan fitur yang berbeda:

  • Apache HTTP Server: Apache merupakan server web yang banyak digunakan dan tersedia secara baku dalam repositori distribusi Linux seperti Debian (paket apache2) dan CentOS (paket httpd). Apache bersifat modular, memungkinkan penambahan fitur melalui modul eksternal yang dimuat saat inisialisasi.
  • Nginx: Merupakan alternatif utama bagi Apache. Nginx tersedia dalam paket berbeda dengan serangkaian fitur yang bervariasi, seperti nginx-light, nginx-full, atau nginx-extras.
  • Lighttpd: Alternatif lain yang juga dapat digunakan sebagai server web.

Fitur dan Konfigurasi

Konfigurasi server web melibatkan pengaturan berbagai parameter untuk mengelola cara server menangani permintaan.

Modul Pemrosesan

Apache menggunakan Multi-Processing Modules (MPM) untuk menangani pemrosesan paralel dari permintaan yang masuk. Beberapa jenis MPM meliputi:

  • Prefork: Menggunakan kumpulan proses yang dibuat terlebih dahulu. Ini adalah MPM baku ketika modul PHP (libapache2-mod-php) dipasang.
  • Worker: Menggunakan thread atau proses ringan.
  • Event: Menggunakan thread dan menyerahkan koneksi tidak aktif (keep-alive) ke manajemen thread terdedikasi. MPM ini dapat digunakan bersama php-fpm.

Host Virtual (Virtual Host)

Host virtual memungkinkan satu server fisik untuk melayani beberapa situs web atau domain sekaligus. Terdapat dua metode konfigurasi:

  • Berbasis IP: Memerlukan alamat IP yang berbeda untuk setiap situs.
  • Berbasis Nama: Memungkinkan banyak situs berjalan pada satu alamat IP. Server membedakan situs berdasarkan nama host yang dikirim oleh klien.

Konfigurasi host virtual disimpan dalam direktori tertentu (misalnya /etc/apache2/sites-available/ pada Debian) dan diaktifkan menggunakan perintah administratif. Ekstensi Server Name Indication (SNI) memungkinkan penggunaan sertifikat SSL yang berbeda untuk host virtual berbasis nama pada alamat IP yang sama.

Konfigurasi Direktori dan Akses

Administrator dapat mengontrol perilaku server pada tingkat direktori menggunakan blok konfigurasi atau berkas .htaccess. Beberapa direktif umum meliputi:

  • DocumentRoot: Menentukan lokasi penyimpanan berkas situs web.
  • DirectoryIndex: Menentukan berkas yang disajikan secara otomatis (misalnya index.php atau index.html) saat direktori diminta.
  • Options: Mengaktifkan fitur seperti Indexes (menampilkan daftar isi direktori jika tidak ada berkas indeks) atau FollowSymlinks.
  • Pembatasan Akses: Akses dapat dibatasi berdasarkan alamat IP klien menggunakan direktif Require ip atau kombinasi Order, Allow, dan Deny pada versi lama.
  • Otentikasi: Server dapat dikonfigurasi untuk meminta nama pengguna dan kata sandi sebelum memberikan akses ke direktori tertentu menggunakan modul mod_auth.

Keamanan

Keamanan server web mencakup enkripsi komunikasi dan perlindungan terhadap serangan.

SSL/TLS (HTTPS)

Untuk mengamankan transmisi data, server web menggunakan protokol SSL/TLS. Apache menyediakan modul mod_ssl untuk dukungan HTTPS. Sertifikat digital diperlukan untuk mengaktifkan fitur ini, yang dapat diperoleh dari Certification Authority (CA) tepercaya atau dibuat sendiri (self-signed).

Firewall Aplikasi Web

Web Application Firewall (WAF) seperti ModSecurity dapat dipasang untuk mendeteksi dan mencegah serangan pada tingkat aplikasi, seperti SQL Injection dan Cross-site Scripting (XSS). ModSecurity bekerja dengan memantau lalu lintas HTTP dan menerapkan aturan keamanan. Selain itu, administrator jaringan harus mengonfigurasi firewall sistem (seperti firewalld atau iptables) untuk mengizinkan lalu lintas pada port 80 (HTTP) dan 443 (HTTPS).

Pemantauan dan Log

Server web mencatat aktivitas dalam berkas log akses dan log kesalahan. Format log dapat disesuaikan untuk menyertakan informasi spesifik, seperti nama host virtual. Alat penganalisis log, seperti AWStats, dapat digunakan untuk memproses data log dan menyajikan statistik penggunaan server, seperti jumlah kunjungan dan informasi klien.

Integrasi Aplikasi

Server web sering diintegrasikan dengan perangkat lunak lain untuk menjalankan situs web dinamis.

  • Bahasa Pemrograman: Dukungan untuk bahasa seperti PHP dapat ditambahkan melalui modul (misalnya libapache2-mod-php).
  • Basis Data: Server web sering terhubung dengan sistem basis data seperti MySQL atau MariaDB untuk penyimpanan data aplikasi. Aplikasi manajemen basis data berbasis web, seperti phpMyAdmin, juga dapat dijalankan di atas server web.