π§ 1. Pengantar Web Server
7
π Definisi
Web server adalah software yang bertugas menerima request dari client (browser) dan mengirimkan response berupa halaman web (HTML, CSS, JS, dll).
π― Fungsi:
- Menyajikan website
- Mengelola request HTTP/HTTPS
- Menjalankan aplikasi web
π§ Narasi:
Setiap kali kamu membuka website, sebenarnya kamu sedang βberkomunikasiβ dengan web server yang mengirimkan isi halaman tersebut.
π 2. Cara Kerja Web Server
6
π Alur:
- User membuka browser
- Request dikirim ke server
- Server memproses
- Server mengirim response
π§ Narasi:
Proses ini terjadi sangat cepat (dalam milidetik), tetapi melibatkan banyak komponen seperti DNS, jaringan, dan server.
βοΈ 3. Jenis Web Server Populer
π Tabel Perbandingan
| Web Server | Karakteristik | Kelebihan |
|---|---|---|
| Apache HTTP Server | Process-based | Stabil, fleksibel |
| Nginx | Event-driven | Cepat, ringan |
π§ Narasi:
Apache lebih fleksibel dan mudah dikonfigurasi, sedangkan Nginx unggul dalam performa dan efisiensi.
ποΈ 4. Arsitektur Apache vs Nginx
7
π Perbedaan:
- Apache β menggunakan banyak thread/process
- Nginx β menggunakan event-driven (lebih efisien)
π§ Narasi:
Nginx mampu menangani ribuan koneksi sekaligus dengan resource lebih kecil dibanding Apache.
π» 5. Instalasi Apache Web Server
π Perintah:
sudo apt update
sudo apt install apache2
π Cek status:
sudo systemctl status apache2
π Akses:
π§ Narasi:
Setelah instalasi, Apache langsung dapat digunakan untuk menampilkan halaman web sederhana.
π» 6. Instalasi Nginx
π Perintah:
sudo apt update
sudo apt install nginx
π Cek:
sudo systemctl status nginx
π§ Narasi:
Nginx sering digunakan untuk website dengan traffic tinggi karena performanya.
π 7. Struktur Direktori Web Server
6
π Lokasi penting:
/var/www/htmlβ file website/etc/apache2β konfigurasi Apache/etc/nginxβ konfigurasi Nginx
π§ Narasi:
Semua file website disimpan di web root. Server akan membaca file dari sini.
π 8. Virtual Host (Hosting Banyak Website)
6
π Konsep:
Satu server bisa menampung banyak domain
π Contoh Apache:
sudo nano /etc/apache2/sites-available/site1.conf
π§ Narasi:
Virtual host memungkinkan efisiensi karena satu server bisa digunakan untuk banyak website.
π 9. Konfigurasi HTTPS (SSL/TLS)
6
π Tools:
- Let’s Encrypt
π Perintah:
sudo apt install certbot
sudo certbot --apache
π§ Narasi:
HTTPS penting untuk keamanan data antara client dan server.
π 10. Monitoring & Log Web Server
6
π Lokasi Log:
- Apache:
/var/log/apache2/ - Nginx:
/var/log/nginx/
π§ Narasi:
Log membantu admin menganalisis traffic dan mendeteksi error.
π§ͺ 11. Studi Kasus Praktikum
π― Kasus:
Deploy website sederhana
π Langkah:
sudo apt install nginx
cd /var/www/html
echo "<h1>Hello Server</h1>" > index.html
π Akses:
http://ip_server
π§ Narasi:
Ini adalah langkah awal membuat server hosting sederhana.
β οΈ 12. Troubleshooting Web Server
| Masalah | Solusi |
|---|---|
| Server tidak jalan | Cek systemctl |
| Port 80 error | Cek port conflict |
| Website tidak tampil | Cek file index |
| Permission error | Cek chmod |
π§ Narasi:
Masalah web server biasanya terkait konfigurasi atau permission.
π 13. Keamanan Web Server
π Praktik:
- Gunakan HTTPS
- Nonaktifkan directory listing
- Update server
π§ Narasi:
Web server adalah target utama hacker, sehingga harus diamankan dengan baik.
π 14. Ringkasan Materi
| Topik | Inti |
|---|---|
| Web Server | Penyedia web |
| Apache | Fleksibel |
| Nginx | Cepat |
| Virtual Host | Multi domain |
| HTTPS | Keamanan |
π― 15. Latihan / Evaluasi
- Apa itu web server?
- Jelaskan perbedaan Apache dan Nginx!
- Apa fungsi virtual host?
- Mengapa HTTPS penting?
- Sebutkan lokasi file web server!
π Penutup
Web server adalah inti layanan internet modern. Tanpa web server:
- Website tidak bisa diakses
- Aplikasi web tidak berjalan