Windows Server 2025 / Memasang IIS dan menyajikan halaman HTML statis di lab
Pada Windows Server 2025, IIS dapat menyajikan halaman HTML setelah peran server web dan fitur konten statis dipasang. Atur jalur fisik, application pool, binding, dan izin baca, lalu periksa halaman pada WEB1 serta dari klien terpisah.
Siapkan server web terpisah
Internet Information Services (IIS) adalah server web Windows. Latihan ini menyajikan file statis: server mengembalikan HTML tanpa basis data atau kerangka aplikasi. PHP dan ASP.NET membutuhkan runtime serta konfigurasi penyebaran tambahan; jangan memasangnya hanya untuk contoh ini.
Siapkan WEB1 sebagai server anggota domain terpisah dengan Windows Server 2025 dan Desktop Experience pada jaringan lab terisolasi, bukan menambah peran ke DC1 atau FS1. Contoh memakai 172.24.50.30/24, DNS DC1 pada 172.24.50.10, dan keanggotaan ad.example.test. Pastikan alamat belum dipakai dan dialokasikan untuk server, jaringan serta DNS domain berfungsi, dan host memiliki sumber daya. Jangan menghubungkan lab ke jaringan produksi untuk mengatasi prasyarat tersebut.
Gunakan Windows PowerShell dengan hak administrator dan IIS Manager pada WEB1. Objek baru adalah LabSite, LabSitePool, C:\Sites\LabSite, dan port HTTP 8080. Tinjau situs, pool, folder, aturan, serta binding yang sudah ada. Jika nama atau tujuan telah digunakan, berhenti tanpa menggantinya. Pertahankan binding situs bawaan pada port 80 secara terpisah dan jangan publikasikan server ke Internet. HTTP di sini hanya membawa teks uji tanpa rahasia, bukan saluran terlindungi untuk kredensial.
Pasang IIS dan periksa fitur yang diperlukan
- Pada Server Manager pilih Manage → Add Roles and Features, instalasi berbasis peran, dan WEB1 sebagai tujuan. Periksa server sebelum melanjutkan.
- Pilih Web Server (IIS) dan alat manajemen yang diperlukan. Latihan ini memakai konsol lokal dengan Desktop Experience; Server Core memerlukan pendekatan administrasi lain.
- Pada Common HTTP Features periksa Static Content dan Default Document; pada Health and Diagnostics periksa HTTP Logging. Periksa pula IIS Management Console.
- Tinjau ringkasan dan pasang tanpa menambah runtime aplikasi yang tidak terkait halaman ini. Jangan memilih seluruh fitur hanya demi kemudahan.
- Periksa hasil dan kebutuhan restart. Jika diperlukan, rencanakan dan lakukan restart lalu periksa status sebelum lanjut. Buka IIS Manager melalui inetmgr.
Alternatif PowerShell dijalankan secara lokal pada WEB1. Jika IIS sudah ada, periksa dulu status fitur dan penggunaan situsnya. Install-WindowsFeature memerlukan hak administrator dan tidak memasang alat manajemen secara bawaan; karena itu IncludeManagementTools disertakan. Jalankan baris secara terpisah dan berhenti jika ada kesalahan. Pemasangan peran tidak otomatis mengatur jalur, izin, atau akses jaringan:
Install-WindowsFeature Web-Server -IncludeManagementTools
Get-WindowsFeature Web-Static-Content,Web-Default-Doc,Web-Http-Logging,Web-Mgmt-Console
Hasil yang diharapkan adalah pemasangan berhasil serta Get-WindowsFeature menampilkan Installed untuk Web-Static-Content, Web-Default-Doc, Web-Http-Logging, dan Web-Mgmt-Console. Periksa juga RestartNeeded. Status Available belum memenuhi prasyarat: kembali ke wizard untuk memasang fitur yang masih kurang secara khusus, lalu periksa lagi. Keberadaan konsol tidak membuktikan semua fitur penyajian halaman telah terpasang.
Buat halaman dan application pool khusus
Jika C:\Sites\LabSite sudah ada, berhenti dan identifikasi tujuannya tanpa menimpa file. Jika belum ada, buat folder lalu simpan dokumen lengkap berikut sebagai index.html dengan UTF-8. Di Notepad pilih All files saat menyimpan dan periksa melalui Explorer dengan ekstensi terlihat agar nama sebenarnya bukan index.html.txt. Contoh mempertahankan teks bahasa Inggris dan lang="en"; kalimatnya membantu mengenali situs yang menjawab:
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>LabSite</title></head>
<body><h1>Windows Server 2025 web server lab</h1><p>This page is served by LabSite on WEB1.</p></body>
</html>
- Di IIS Manager → Application Pools buat LabSitePool hanya jika nama itu belum dipakai. Jika sudah ada atau dipakai pekerjaan lain, berhenti tanpa menggantinya.
- Untuk situs yang hanya statis ini, pilih No Managed Code sebagai versi .NET CLR. Pilihan tersebut tidak memasang PHP atau runtime lain.
- Pada Advanced Settings pool, pastikan Identity = ApplicationPoolIdentity. Jangan menggantinya dengan administrator.
- Pada Properties → Security milik C:\Sites\LabSite, pilih WEB1 sebagai Locations dan tambahkan IIS AppPool\LabSitePool memakai Check Names. Jika nama tidak dikenali, periksa lokasi lokal serta nama dan keberadaan pool.
- Berikan Read & execute, List folder contents, dan Read untuk folder beserta file. Pertahankan SYSTEM dan izin administrator, tanpa memberi proses web hak menulis atau Full control.
Identitas application pool adalah akun virtual khusus pool, bukan pengguna yang perlu dibuat secara manual di domain. Application pool mengelompokkan aplikasi untuk proses pekerja IIS; pada contoh ini gunakan pool tersendiri. Hak menulis administrator penerbit berbeda dari hak baca proses web. Menyajikan halaman ini tidak membutuhkan hak administrator, menulis, atau Full control untuk pool. Jangan menyalin pemberian izin luas dari contoh umum. Pastikan izin baca berlaku hingga index.html dan tidak diblokir entri penolakan.
Atur situs dan identitas anonim
- Pada Sites → Add Website isikan LabSite, pilih LabSitePool, dan atur C:\Sites\LabSite sebagai physical path. Pastikan yang dipilih bukan pool lain yang dibuat otomatis.
- Gunakan tipe http, IP 172.24.50.30, port 8080, dan host name kosong. Pastikan IP dimiliki WEB1 dan kombinasi tersebut belum dipakai binding atau layanan lain.
- Pada LabSite → Authentication → Anonymous Authentication pastikan Enabled, pilih Edit, lalu Application pool identity. Terapkan hanya pada situs uji.
- Pada LabSite → Default Document pastikan Enabled dan index.html ada di daftar; tambahkan hanya jika belum ada. Jangan mengaktifkan Directory Browsing.
- Periksa binding, jalur, pool dan statusnya, kemudian mulai situs. Jika gagal, simpan pesan dan selesaikan konflik tanpa menghentikan situs lain.
Pengguna anonim bawaan IUSR berbeda dari identitas pool. Memilih identitas pool secara eksplisit dalam pengaturan autentikasi anonim menyelaraskan permintaan halaman ini dengan izin IIS AppPool\LabSitePool yang diberikan sebelumnya. Pastikan Anonymous Authentication di LabSite juga berstatus Enabled. Jangan mengatasi kesalahan autentikasi dengan memberi Everyone hak menulis atau mengubah seluruh konfigurasi server.
Pada browser WEB1 buka http://172.24.50.30:8080/index.html lalu http://172.24.50.30:8080/. Hasil yang diharapkan adalah judul terlihat Windows Server 2025 web server lab dan kalimat This page is served by LabSite on WEB1. Pastikan bukan halaman sambutan situs bawaan atau salinan lokal dengan file://. URL akar memerlukan index.html yang benar-benar ada dan tercantum sebagai default document. Referensi New-Website juga menjelaskan jalur, port, dan pool; jangan membuat situs kedua jika sudah mengikuti wizard.
Periksa akses klien dan diagnosis respons
Setelah memastikan profil Domain pada antarmuka lab WEB1, buka wf.msc → Inbound Rules → New Rule → Port → TCP dan local port 8080 → Allow the connection → hanya Domain. Beri nama Lab-IIS-HTTP-8080 jika belum ada. Kemudian pada Properties → Scope batasi remote IP addresses ke 172.24.50.0/24 dan periksa kembali port serta profil. Filter aturan firewall membedakan port lokal dari sumber jarak jauh. Profil yang tidak sesuai perlu diperiksa melalui DNS dan konektivitas domain, bukan dengan mengizinkan semua profil atau mematikan firewall. Tinjau juga aturan atau kebijakan lain yang mungkin mengizinkan cakupan lebih luas.
Pada CLIENT1 di subnet yang diizinkan, jalankan tes berikut lalu buka kedua URL dalam browser. TcpTestSucceeded: True berarti koneksi TCP ke port tersebut berhasil, bukan bahwa HTML, izin, atau situs sudah benar. Jika False, periksa jalur, profil, aturan, serta port yang mendengarkan; jangan langsung mengubah kredensial situs:
Test-NetConnection -ComputerName 172.24.50.30 -Port 8080
| Gejala | Hal yang diperiksa |
|---|---|
| Koneksi kehabisan waktu | Jalur jaringan, profil dan aturan firewall, port yang mendengarkan, serta cakupan akses. |
| 403.14 | File default document dan konfigurasinya; jangan mengaktifkan directory browsing untuk menyembunyikan masalah. |
| 401.3 | Identitas anonim yang berlaku dan izin baca NTFS pada folder serta file. |
| 404 | Jalur fisik, nama dan ekstensi file; periksa juga substatus sebelum menganggap semua 404 hanya disebabkan file hilang. |
| 503 | Status pool, rapid-fail protection, dan peristiwa; jangan mematikan perlindungan tersebut untuk menyembunyikan kegagalan. |
Di IIS Manager lihat LabSite → Advanced Settings untuk ID situs dan LabSite → Logging untuk lokasi log aktif. Cocokkan klien, URL, serta waktu dengan folder C:\inetpub\logs\LogFiles\W3SVC yang diikuti ID situs bila lokasi bawaan itu digunakan; periksa zona waktu format log. Diagnosis kesalahan HTTP IIS membedakan status dan substatus. Permintaan yang tidak mencapai IIS mungkin tidak tercatat di log tersebut. Pisahkan gangguan jaringan dari respons HTTP. Untuk pembersihan, simpan log yang diperlukan, hentikan lalu hapus hanya LabSite, dan pastikan LabSitePool tidak dipakai aplikasi lain sebelum menghapus pool serta aturan baru. Hapus folder hanya jika seluruh isinya file uji milik sendiri yang boleh dibuang. Pertahankan situs bawaan, aturan lain, dan peran yang digunakan bersama.




