Web Server (Apache / Nginx)


🧭 1. Pengantar Web Server

https://images.openai.com/static-rsc-4/ryyYwJ05UPk3D-ZCz73-Siuyqakh4OrWhazQSkcQFU48vzGSxcPYy_1Rv5SPRH_tI9FnXsoJjxmUykTeb_4xqdyQ9vbX3oWH5-58b0v5XvCN0q2SjIqV_cRhdMr3O8bKfCw94E1dXX4cSfP5A-dHEhRCAsQWz1uwtgeSUtpDinDpUn_CGye-m2576_FUAukE?purpose=fullsize
https://images.openai.com/static-rsc-4/hPaPsASWDw-RJ2bfT2v521IKrjImJKOahvf8c7VfDLftMSczDyFL9pswEgjB5D5lP_6t60Ku6_4Kk3VuTIeHy_Ns9PrCWIzr3bzxETyLSfSnfWZBbMeKcwIGB54c0H23_N4GTzJM15L18ru9lHFtkNBJFiU65Te9pBTvsrXjzdTEvTo-wMkoL6ZUQVB4BA0j?purpose=fullsize

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

https://images.openai.com/static-rsc-4/ryyYwJ05UPk3D-ZCz73-Siuyqakh4OrWhazQSkcQFU48vzGSxcPYy_1Rv5SPRH_tI9FnXsoJjxmUykTeb_4xqdyQ9vbX3oWH5-58b0v5XvCN0q2SjIqV_cRhdMr3O8bKfCw94E1dXX4cSfP5A-dHEhRCAsQWz1uwtgeSUtpDinDpUn_CGye-m2576_FUAukE?purpose=fullsize
https://images.openai.com/static-rsc-4/rHCUG0sB5kq02XhmEML1AtmEN1oJnNsuOmUHmxupjpfVvhdojjer9uy8uWaAp9vtFBihz0v4MDK7Ynz80kvkMesdV88pARPgItxEiFPzC7pm-5HYoll5H4Cr924iIED-of-NCfc3ScFMDm2PNolZx_J2VF-cMmsEAf-ZKLrkQMKHNifX368vxNOUs6s1I9KM?purpose=fullsize
https://images.openai.com/static-rsc-4/9R4zYiC9EzhPE40Bl19XWfMZ3TS4O-hWavL6tB4QZTeoG4muQ49NxGCbDQUrDE4u9LTyO79YJvKma1vGLQhRNML54ZDUnlKULJWNnqavpr-1EHI2ypkRKnjw2djPrgpucKS-Eu9MR6G4dmqetx8qnycI9XOP1uO7P76zJfYILwFnnsqSN29pmP1seFpdklR-?purpose=fullsize

6

πŸ“Œ Alur:

  1. User membuka browser
  2. Request dikirim ke server
  3. Server memproses
  4. 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 ServerKarakteristikKelebihan
Apache HTTP ServerProcess-basedStabil, fleksibel
NginxEvent-drivenCepat, ringan

🧠 Narasi:

Apache lebih fleksibel dan mudah dikonfigurasi, sedangkan Nginx unggul dalam performa dan efisiensi.


πŸ—οΈ 4. Arsitektur Apache vs Nginx

https://images.openai.com/static-rsc-4/ynntu8QKzI3eWh-BCmdg8F5RYCBZRH2UWtgbPtHER61Mip_vsirvALl85uEaX-hLwIDtsoPiiYoksG0WWE2dvUDJ8YNH4_S2uqSvfU9HFTwog-92oBpQB6TqAQGSlnQ4kdxr6FPQFQnCIGneB4tEfDCgLOAV2dlABJttN09a2x_GhPpIeHOZX8vre-X0kV3i?purpose=fullsize
https://images.openai.com/static-rsc-4/QC7cksUAaFhKoTQbhmZukYQIUdqu8okqpNuM1KkMVngxI_PnDztSRT9mUQvDuon_jfvEyXrBdZDGmxsYP3ntgJIpzQ7hV-tXiz8dKC151VfXj17xSPiJBWqyS_biVUIvS9VwOJiurZXd0EhiD6G95xsFrvTOVnZBwQn2aAtpousBuUcJwUo-ZGlLCZHBiYaN?purpose=fullsize
https://images.openai.com/static-rsc-4/mgT33_FG6sRrrznb1DhngzxBWEvwHIHthdHosLmJ0j40Ewzlu6Bjzh2qVgqg6clu0p8yv_S6eVauUgVRHgo5TT6No1ldGsUyhhyRoqhSxTSwS3rDdDphvbpvG7x3MDGuIgCKtVnilgtBB8BfIsXAMDS_q2nY1ElrCi3XB8dxdzPNFgHBBMYfO7WwC8HBhl-U?purpose=fullsize

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:

http://localhost

🧠 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

https://images.openai.com/static-rsc-4/8j4RZPyCyqoQcaRIZVa5cbyVAQaL0geLhsv6qGITmcM6qbQi3kVWKoVtVwo2vfK5xRA-4YFBZW5n2IS06k-KHGTurCgSJmfMgIjQEegDfcYYHCQNQXoAKiK0DBy07gEpO6YS5CDUiarbQMQJ6tQvMcCeDODyhj65Ec_Si9dd0ibWzs14nJIHMezXyLo-uNsa?purpose=fullsize
https://images.openai.com/static-rsc-4/Zz_NSblCQ1kvier3J0vm9EylAOR47k0ryRDi6--IA1EwZGTm400fEwXt4X-UosPo4m8A2wbm6iAUbPPN8qYNoK6-_A1ndW8mSsM0NS7vLq9RPf4XtvVWbeY1WWcEe2jlH4c7VLLZ4Lk_VeHDZLYM_xE6iqj8jyuS1a9mAtCxF_mZGnlMH6FSnWM6Vj8Cn27Z?purpose=fullsize
https://images.openai.com/static-rsc-4/Pz37c5IdiqC3HNkmdI0EGlDiV_-Lokakkx6Tcx3LC3k1wfuTNz3CehmBnX5YzRPrb6p5T_VRw-KQXhi8_65OYBAh4lSg-jXPjdXD6xzOdSu3hk-eWMqAz5NZn3RdVKFmUF88vR-Fcqg4rL0zFeWuX9i_rhmJ19wLg8M1pGXeS58lcHPDVomOkvo00CN_hWEI?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/0x2Fx-fg3EGGPbVwteOz-KhMyAXuh7GtUS5W4WRlVuvGYFZZkRwGaPozmCiPqgO6dZoJAf3dsIugWQYI77kekkKAa07AG7T2GYEqevkxzti6s4qPuj_vnuuU8BWQ5ExOyGTgYFQJfsaeijzysgtBKgghfYiKPX6vVC4Plds_uA54u_8qFOblYxzE5SJ2HkwA?purpose=fullsize
https://images.openai.com/static-rsc-4/mo4iTTRSupX8swaML9dUcRhBljf6szGnb3Mbb5PDEyO3K6AaB0RRpC1CG1BbIWPVnFrjUdbeIlalb28JNWpR1qS-wJWVOD2JiqRSLktOhCjadfCF62PLcxDgjGLEfMKUehUp-Wn365BDkvCvRJs0sOyD2nIgSm1Kz170S9xav1ghGbcGl5Gz59PejcJEfMD7?purpose=fullsize
https://images.openai.com/static-rsc-4/wHZVVk6hJNLsFo9B6quBBeCRgGaI8tGqYStdRRkLqvOG21BRP7nmqV4NhKfybIo-XDpj-iJMsuwGtxefEok6MbFi7xn_0wSXyrBsktZMQLwoTuOgGheXGNlMRNsfCF8ih9ouXHZAL0UIGWtaibuZ-SlDHCWps3ZCNMtmNXwl-L7DOK01YnVZheZR387zLf_R?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/MesylHq89txV_Jr080QHYtivlto9BHg75sNfK9DUK3gNLX8NO7IG3MJayPcmqwuoKSTaCiBgU63-DUFmNKlxlNW8iSPr62a13lss0riQcfbfY6NBkeuMS74vSylsUomagk-ZcjC7RZ29MXJ2vGDuBsSM_Emw1z3hm5PyF0GkJQlK4FRHtZbYquF0n6z0agr0?purpose=fullsize
https://images.openai.com/static-rsc-4/HOKjeQMnWkPc9sCcOiKQkV9IijMn6ySW5PgmVNgS_dFOVNZkjZ4LzRjxDLLe8CZIQAV4VC2NHIyJu48fkT31xNEzDuNpAlMsJV0b0Zm1vY7Q2VWocE4tfg5V0-8NQedvrSNXu4VUzD5hHT6cOADSA4_027tRTP9ISmmhEEKXgivcPHqwdEi9_Abl5oszMSHA?purpose=fullsize
https://images.openai.com/static-rsc-4/qiUxSSNw2ZD4HS_ICIbPSrJ_KkjR2OihtktKkHtKWo1aJliDWuU0u17bvZSZYrmJOu3ByeuOlh_wNy38RB1sQdwyEYFrsZqP3Bq3Jt8K0gTEsP9w-LuRBIUY3Kdb7VerUKW4ay5I-uXepYB2y4K2GOhy6EzmyrVABA45YdC0p59_3eYQzqjjWDqw8tVc24VC?purpose=fullsize

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

https://images.openai.com/static-rsc-4/iQkvDv3zpmm6dARfpZZdklDoi02gxIDVOCGDKbFvs6QhBSJ-04UWgumrtW-hZU4kfngX7F6ZxIAnGkKt0yO_ywd_6aRRw0TP5oOrWYqljwi3sImJdQdL4O4iBnxt1hv3c2X0Vl1rrBCceutSLuBHB86deVBJDT98lRgYJqltZqiHRg9fiNfR6WIDQdrN_uHW?purpose=fullsize
https://images.openai.com/static-rsc-4/o-5biCVekZWIXUxiPLuJvLnpla2h4JAWXCAVHoSLdKYyIgKrJLMbwTfcl5GkgGhvwic3EjDRUIiDxaAhRC5DXuBaynN-OpA9CXRozx_tl-wirMffmChTiGnOpa3Ad449wZMUjG0KdlUjL0o_8TIC6Cq8alJgYpzmXZbiic42n0g50sg9MZVZg4_KlsxDRy-V?purpose=fullsize
https://images.openai.com/static-rsc-4/VJk5XufEd8viIDmdqiKkc_nBMUtaTQIeaMZMdXCv9QSXRP-ez_5qS9xZaq8mNZm3Ssc0YN6wuscIHbGR0RwjGUJoH8yZx-dptWKkheQlz3gtN9Ob0Xc4TEtaAohsf5rjxin3P9KXvqXiRBFvhxMFnJ1O4hs-zhWtGYEFTM0OwdVwE33Jc2_1eO1Yp1Ely03H?purpose=fullsize

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

MasalahSolusi
Server tidak jalanCek systemctl
Port 80 errorCek port conflict
Website tidak tampilCek file index
Permission errorCek 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

TopikInti
Web ServerPenyedia web
ApacheFleksibel
NginxCepat
Virtual HostMulti domain
HTTPSKeamanan

🎯 15. Latihan / Evaluasi

  1. Apa itu web server?
  2. Jelaskan perbedaan Apache dan Nginx!
  3. Apa fungsi virtual host?
  4. Mengapa HTTPS penting?
  5. Sebutkan lokasi file web server!

πŸš€ Penutup

Web server adalah inti layanan internet modern. Tanpa web server:

  • Website tidak bisa diakses
  • Aplikasi web tidak berjalan