Tujuan Pembelajaran Web Server
Tujuan Umum:
Peserta didik memahami konsep dan fungsi Web Server, serta mampu menginstal, mengkonfigurasi, dan mengelola layanan web server untuk menyajikan konten web dalam jaringan.
Tujuan Khusus:
Setelah mempelajari materi Web Server, peserta didik diharapkan mampu:
- Menjelaskan pengertian dan fungsi Web Server dalam jaringan komputer.
- Mengidentifikasi jenis-jenis Web Server populer seperti Apache, Nginx, dan IIS.
- Menginstal layanan Web Server pada sistem operasi jaringan (Linux/Windows Server).
- Mengkonfigurasi Web Server agar dapat menyajikan halaman web statis/dinamis.
- Menempatkan file HTML ke direktori web server agar bisa diakses oleh client.
- Melakukan pengujian akses web server dari client melalui browser.
- Mengelola keamanan dasar Web Server (misalnya izin akses, port, firewall).
- Melakukan troubleshooting jika web server tidak dapat diakses.
Tujuan Pembelajaran DNS Server
Tujuan Umum:
Peserta didik memahami konsep dan fungsi DNS (Domain Name System) Server, serta mampu menginstal, mengkonfigurasi, dan mengelola layanan DNS dalam jaringan.
Tujuan Khusus:
Setelah mempelajari materi DNS Server, peserta didik diharapkan mampu:
- Menjelaskan pengertian dan fungsi DNS Server dalam jaringan.
- Menjelaskan cara kerja DNS dalam menerjemahkan nama domain menjadi alamat IP.
- Mengidentifikasi jenis-jenis DNS record (A, CNAME, MX, PTR, dll).
- Menginstal layanan DNS Server (misalnya Bind9 di Linux atau DNS Role di Windows Server).
- Mengkonfigurasi zona forward dan reverse DNS.
- Menambahkan entri domain lokal dan menguji hasilnya dari sisi client.
- Menghubungkan DNS Server dengan Web Server agar domain dapat diakses via nama.
- Melakukan troubleshooting jika DNS tidak dapat meresolusi domain dengan benar.
WEB SERVER
Web server adalah perangkat lunak (software) atau perangkat keras (hardware) yang berfungsi untuk menerima permintaan (request) dari klien melalui protokol HTTP (Hypertext Transfer Protocol), lalu merespons permintaan tersebut dengan mengirimkan konten, seperti halaman HTML, gambar, video, atau data lainnya.
Sumber : https://www.youtube.com/watch?v=oUoKlVp42Og
Jenis Web Server
- Software Web Server
- Aplikasi yang berjalan di komputer dan melayani permintaan dari klien (browser).
- Contoh: Apache, Nginx, Microsoft IIS, LiteSpeed.
- Hardware Web Server
- Komputer fisik yang menjalankan software web server dan memiliki koneksi internet untuk melayani permintaan pengguna dari berbagai lokasi.
Cara Kerja Web Server
- Client Request: Pengguna mengetikkan URL di browser (misalnya, https://example.com).
- DNS Resolution: URL diubah menjadi alamat IP oleh DNS (Domain Name System).
- Connection Establishment: Browser terhubung ke server melalui protokol HTTP/HTTPS.
- Request Sent: Browser mengirimkan permintaan HTTP ke web server (misalnya, GET /index.html).
- Server Response: Web server memproses permintaan dan mengirimkan file HTML yang diminta.
- Rendering: Browser merender halaman yang dikirim oleh web server untuk ditampilkan ke pengguna.
Komponen Penting
- HTTP Server – Menangani permintaan HTTP (misalnya Apache, Nginx).
- Aplikasi Web – Script atau kode server-side (seperti PHP, Python, Node.js) untuk menghasilkan konten dinamis.
- Database – Menyimpan dan menyediakan data dinamis (MySQL, PostgreSQL, MongoDB).
- File System – Menyimpan file statis seperti gambar, CSS, JS.
Contoh Software Web Server Populer
Web Server |
Kelebihan |
Kekurangan |
Apache |
Konfigurasi fleksibel, dukungan luas |
Performa lebih rendah dibanding Nginx |
Nginx |
Ringan dan cepat, cocok untuk trafik tinggi |
Konfigurasi awal agak teknikal |
Microsoft IIS |
Integrasi mudah dengan Windows Server |
Tidak sefleksibel di lingkungan non-Windows |
LiteSpeed |
Cepat, dukungan caching dan HTTP/3 |
Berbayar (versi enterprise) |
Fitur Umum Web Server
- Hosting file statis (HTML, CSS, JS, gambar).
- Pemrosesan permintaan dinamis menggunakan backend seperti PHP, Python, atau Node.js.
- Logging aktivitas pengguna.
- Security: SSL/TLS untuk HTTPS, firewall, rate limiting.
- Load balancing: Menyebarkan permintaan ke beberapa server untuk kinerja optimal.
Keamanan Web Server
- Menggunakan HTTPS (SSL/TLS) untuk enkripsi data.
- Membatasi akses dengan firewall.
- Melakukan update rutin untuk menutup celah keamanan.
- Menggunakan metode autentikasi dan otorisasi.
Penggunaan Web Server
Web server digunakan dalam berbagai skenario, seperti:
- Hosting website (blog, e-commerce, dll).
- Menyediakan REST API.
- Aplikasi berbasis cloud.
- Layanan streaming.
Fungsi utama dari web server adalah melayani permintaan dari klien (biasanya browser) dan mengirimkan respon berupa konten web. Berikut penjelasan lengkapnya:
Fungsi Utama Web Server
- Menerima Permintaan (Request) dari Klien
Web server menerima permintaan HTTP/HTTPS dari browser pengguna (klien), seperti permintaan untuk membuka halaman web atau mengambil gambar.
- Mengirimkan Respon ke Klien
Setelah memproses permintaan, web server mengirimkan file yang diminta (HTML, gambar, CSS, dll) atau hasil dari script dinamis ke klien dalam bentuk respon HTTP.
- Menjalankan Script Server-Side
Jika klien meminta halaman dinamis (misalnya index.php), web server akan mengeksekusi skrip tersebut menggunakan interpreter (seperti PHP, Python, Node.js), lalu mengirim hasilnya ke browser.
- Mengatur Akses ke Sumber Daya
Web server mengelola siapa yang boleh mengakses halaman atau file tertentu melalui pengaturan otorisasi dan autentikasi (misalnya, login area admin).
- Logging dan Analisis
Web server mencatat log semua permintaan yang masuk, termasuk alamat IP pengguna, waktu akses, dan halaman yang diminta. Ini berguna untuk analisis trafik dan keamanan.
- Pengaturan File Statis
Melayani file statis seperti gambar, CSS, JavaScript, atau dokumen PDF tanpa pemrosesan tambahan.
- Keamanan dan Enkripsi
Web server bisa menggunakan HTTPS (SSL/TLS) untuk mengenkripsi data antara klien dan server, serta menyediakan fitur keamanan lain seperti rate limiting dan filtering.
- Load Balancing (dalam skala besar)
Web server dapat membagi beban ke banyak server lain untuk menjaga performa dan ketersediaan layanan saat lalu lintas tinggi.
Contoh Web Server di Linux
- Apache HTTP Server (Apache)
- Paling populer dan banyak digunakan di Linux.
- Open-source, sangat fleksibel dan mendukung banyak modul.
- Lokasi default file website: /var/www/html/
- Nginx
- Ringan, cepat, dan efisien dalam menangani banyak koneksi.
- Cocok untuk server dengan trafik tinggi.
- Sering digunakan sebagai reverse proxy atau load balancer juga.
- Lighttpd
- Web server ringan dan cepat.
- Cocok untuk resource server yang terbatas.
- Caddy
- Konfigurasi otomatis SSL (HTTPS).
- Mudah digunakan dan cocok untuk developer modern.
- OpenLiteSpeed
- Versi open-source dari LiteSpeed.
- Cepat, dukungan caching dan HTTP/3.
Contoh Web Server di Windows
- Microsoft IIS (Internet Information Services)
- Web server resmi dari Microsoft.
- Terintegrasi penuh dengan sistem Windows dan .NET framework.
- Mudah dikonfigurasi melalui GUI.
- Apache untuk Windows
- Apache juga bisa dijalankan di Windows (meskipun lebih umum di Linux).
- Nginx untuk Windows
- Nginx bisa dijalankan di Windows, tetapi performanya biasanya lebih baik di Linux.
- XAMPP
- Paket bundling Apache, MySQL, PHP, dan Perl.
- Cocok untuk pengembangan lokal di Windows.
- WampServer
- Alternatif XAMPP, khusus untuk Windows.
- Menggunakan Apache dan MySQL, serta menyediakan GUI kontrol.
Ringkasan Tabel
OS |
Web Server |
Keterangan |
Linux |
Apache, Nginx, Lighttpd |
Digunakan untuk hosting profesional |
Windows |
IIS, Apache (Win), XAMPP |
Cocok untuk server berbasis Windows dan lokal dev |
Berikut adalah kelebihan dan kekurangan dari web server secara umum, lalu diikuti dengan perbandingan kelebihan/kekurangan dari beberapa web server populer:
Kelebihan Web Server (Secara Umum)
- Akses Informasi 24/7
- Web server memungkinkan akses konten atau layanan kapan saja.
- Terpusat
- Semua konten dan aplikasi tersimpan di satu tempat, mudah dikelola dan diperbarui.
- Skalabilitas
- Dapat ditingkatkan kapasitasnya untuk menangani lebih banyak pengguna (misalnya dengan load balancing).
- Interaktif dan Dinamis
- Mendukung bahasa pemrograman server-side untuk menghasilkan halaman yang dinamis (misalnya PHP, Python, Node.js).
- Integrasi Mudah
- Bisa terhubung ke database, API, dan sistem lain untuk fungsionalitas kompleks.
Kekurangan Web Server (Secara Umum)
- Biaya dan Sumber Daya
- Perlu biaya untuk server fisik atau cloud, serta sumber daya (bandwidth, storage).
- Keamanan
- Rentan terhadap serangan (DDoS, SQL injection, brute force, dsb) jika tidak dikonfigurasi dengan baik.
- Downtime
- Jika web server gagal atau overload, layanan bisa tidak dapat diakses.
- Kompleksitas Konfigurasi
- Mengelola dan mengamankan web server (terutama skala besar) bisa rumit dan butuh keahlian teknis.
- Ketergantungan Internet
- Pengguna tidak bisa mengakses konten tanpa koneksi internet (untuk server publik).
Kelebihan & Kekurangan Web Server Populer
Web Server |
Kelebihan |
Kekurangan |
Apache |
Sangat fleksibel, dukungan luas, open-source |
Konsumsi resource tinggi pada trafik besar |
Nginx |
Ringan, sangat cepat, cocok untuk reverse proxy |
Konfigurasi awal lebih teknikal |
IIS (Windows) |
Integrasi bagus dengan Windows & .NET |
Hanya tersedia untuk sistem Windows |
LiteSpeed |
Performa tinggi, mendukung caching & HTTP/3 |
Versi penuh berbayar |
Lighttpd |
Ringan dan cepat untuk sistem kecil |
Kurang cocok untuk aplikasi kompleks |
DNS Server (Domain Name System Server)
Pengertian DNS Server
DNS (Domain Name System) Server adalah sistem yang bertugas menerjemahkan (resolving) nama domain (seperti www.google.com) menjadi alamat IP (seperti 142.250.190.78) yang dapat dimengerti oleh komputer agar perangkat bisa terhubung ke server yang tepat di internet.
Sumber : https://www.youtube.com/watch?v=2tBYH2yX9tI
Fungsi DNS Server
- Menerjemahkan Nama Domain ke IP
- Fungsi utama: mengubah nama domain menjadi IP address agar komputer bisa mengakses lokasi yang tepat.
- Mempermudah Pengguna
- Manusia hanya perlu mengingat nama domain (mudah dibaca), bukan deretan angka IP.
- Menangani Permintaan Resolusi Nama
- DNS server menangani ribuan permintaan per detik untuk mengarahkan pengguna ke situs yang diminta.
- Caching (Penyimpanan Sementara)
- DNS server menyimpan hasil permintaan sebelumnya agar bisa diakses lebih cepat.
- Redundansi dan Load Balancing
- Bisa digunakan untuk mendistribusikan beban trafik ke server-server berbeda berdasarkan lokasi geografis pengguna.
- Pemeliharaan Struktur Internet
- DNS merupakan bagian vital dari infrastruktur internet; tanpa DNS, pengguna harus mengetik alamat IP secara manual.
Cara Kerja DNS Server
Proses ini dikenal sebagai DNS Resolution. Berikut langkah-langkah detailnya:
- User Request
- Pengguna mengetikkan alamat seperti www.openai.com di browser.
- Browser Cek Cache
- Browser mengecek apakah alamat IP dari domain tersebut sudah tersimpan (cached).
- Jika ada → digunakan langsung. Jika tidak → lanjut ke langkah berikut.
- Permintaan Dikirim ke DNS Resolver (Recursive Resolver)
- Ini adalah server milik ISP (Internet Service Provider) atau penyedia DNS (misalnya Google DNS 8.8.8.8).
- Resolver bertugas mencari IP yang cocok.
- Resolver Hubungi Root DNS Server
- Ada 13 root server utama (dengan banyak salinan) di dunia. Mereka tidak tahu IP domain, tapi tahu server TLD yang perlu ditanya.
- Root Server Arahkan ke TLD Server
- Misalnya, untuk www.openai.com, root server akan arahkan ke TLD server .com.
- TLD Server Arahkan ke Authoritative DNS
- Server ini punya informasi lengkap tentang domain openai.com, termasuk alamat IP-nya.
- Authoritative DNS Memberikan IP Address
- Misalnya 104.18.7.218.
- DNS Resolver Kirim IP ke Browser
- Resolver mengirim jawaban ke browser dan menyimpan hasilnya sementara (caching).
- Browser Mengakses Website
- Menggunakan IP yang diperoleh, browser membuka website www.openai.com.
Jenis-Jenis DNS Server
Jenis DNS Server |
Fungsi |
Recursive Resolver |
Menerima permintaan dari klien dan bertugas menemukan jawaban lengkap |
Root DNS Server |
Puncak hirarki DNS, tahu alamat TLD (.com, .org, .id, dll) |
TLD DNS Server |
Menyimpan informasi domain berdasarkan ekstensi seperti .com |
Authoritative DNS |
Menyimpan catatan DNS lengkap domain tertentu (A, CNAME, MX, dll) |
Catatan DNS Penting
- A Record: Mengarah ke alamat IPv4.
- AAAA Record: Mengarah ke alamat IPv6.
- CNAME Record: Alias nama domain ke nama domain lain.
- MX Record: Menentukan mail server.
- NS Record: Menunjukkan server DNS yang authoritative.
- TXT Record: Informasi teks, biasanya untuk verifikasi (termasuk SPF untuk email).
Keamanan DNS (Modern DNS Security)
Fitur |
Penjelasan |
DNSSEC |
Menggunakan tanda tangan digital untuk memastikan jawaban DNS tidak dimodifikasi |
DoH (DNS over HTTPS) |
Mengenkripsi permintaan DNS melalui protokol HTTPS |
DoT (DNS over TLS) |
Mengenkripsi permintaan DNS menggunakan protokol TLS |
DNS Filtering/Firewall |
Mencegah akses ke domain berbahaya atau berisi malware/phishing |
Kelebihan DNS Server
- Mudah Digunakan: Pengguna hanya perlu mengetik nama domain.
- Terdistribusi & Tangguh: DNS bekerja dalam sistem terdistribusi secara global.
- Caching Cepat: Mempercepat akses karena menyimpan hasil sebelumnya.
- Load Balancing: Bisa mengarahkan trafik ke server yang paling dekat.
- Skalabel: Bisa menangani milyaran permintaan per hari.
Kekurangan DNS Server
- Rentan Diserang
- Seperti DNS spoofing, cache poisoning, DDoS ke server DNS.
- Ketergantungan pada Pihak Ketiga
- Bila server DNS pihak ketiga down, akses ke situs bisa terganggu.
- Kebocoran Privasi
- Tanpa enkripsi (DoH/DoT), ISP atau pihak lain bisa melihat situs yang kamu kunjungi.
- Waktu Propagasi DNS
- Perubahan DNS (misalnya mengganti IP domain) bisa butuh waktu (1–48 jam) untuk menyebar ke seluruh dunia.
Contoh DNS Server Publik Populer
Nama |
IP Address |
Keterangan |
Google Public DNS |
8.8.8.8, 8.8.4.4 |
Cepat dan stabil |
Cloudflare DNS |
1.1.1.1, 1.0.0.1 |
Fokus pada privasi pengguna |
OpenDNS (Cisco) |
208.67.222.222 |
Dapat dikustomisasi dan aman |
Quad9 |
9.9.9.9 |
Menyaring domain berbahaya |