Senin, 25 Mei 2026

Implementasi Web Server Lokal dan Konfigurasi Jaringan pada Linux Menggunakan Python HTTP Server

 

DISUSUN OLEH : 

1. Bintang Renaldy Pratama 25051204026 

2. Muchammad Achsan Ikhtaru 25051204028 

3. Klement Ezra Suhartanto 25051204082 

4. Muhammad Nayaka Romero 25051204213 



BAB I PENDAHULUAN 

1.1 Latar Belakang 

Pemahaman tentang arsitektur client-server dan manajemen jaringan merupakan fondasi krusial dalam infrastruktur teknologi informasi. Salah satu implementasi dasarnya adalah penyediaan layanan web server yang bertugas melayani dan merespons permintaan (request) dari klien melalui sebuah jaringan lokal maupun internet. Seringkali, proses instalasi web server konvensional (seperti Apache atau Nginx) pada sistem operasi Linux membutuhkan konfigurasi yang kompleks dan rentan terhadap galat (error) pada tingkat sistem. Untuk keperluan pengujian, pengembangan awal, serta demonstrasi fungsionalitas jaringan yang minim resiko, pemanfaatan modul bawaan bahasa pemrograman seperti http.server dari Python menawarkan solusi yang sangat efisien dan praktis. Modul ini memungkinkan pengguna untuk langsung mengubah direktori aktif menjadi web server fungsional tanpa proses instalasi pihak ketiga. Oleh karena itu, praktikum ini dilaksanakan untuk mensimulasikan penyediaan layanan web server sederhana, melakukan konfigurasi dan identifikasi jaringan (IP Address), serta membuktikan keberhasilan konektivitas jaringan secara langsung melalui akses lintas perangkat (cross-device) menggunakan smartphone sebagai client. 

1.2 Rumusan Masalah 

1. Bagaimana cara membuat dokumen web (HTML) dasar dan menjalankan web server lokal secara instan menggunakan modul bawaan Python di lingkungan Linux? 

2. Bagaimana cara mengidentifikasi alamat IP (Internet Protocol) dari antarmuka jaringan komputer server menggunakan Command Line Interface (CLI)? 

3. Bagaimana cara memvalidasi keberhasilan konfigurasi jaringan dengan mengakses layanan web server tersebut menggunakan perangkat klien (smartphone)? 

1.3 Tujuan Praktikum 

Dengan dilakukannya praktikum ini, diharapkan : 

1. Mengimplementasikan Layanan Web Server: Mahasiswa mampu membuat file indeks HTML sederhana dan mengeksekusi web server lokal menggunakan perintah modul Python (python3 -m http.server) tanpa memerlukan konfigurasi software pihak ketiga yang rumit. 

2. Menguasai Manajemen Jaringan Dasar: Mahasiswa mampu menggunakan perintah CLI Linux (seperti ip a) untuk mencari, mengetahui, dan memahami letak alamat IP dari komputer server pada jaringan lokal (wlan0 atau eth0). 

3. Memvalidasi Konektivitas Jaringan: Mahasiswa mampu melakukan pengujian koneksi (cross-device testing) untuk membuktikan bahwa web server telah berjalan dan jaringan terhubung dengan baik, dengan cara mengakses alamat IP dan port (8080) server melalui browser pada perangkat seluler. 


BAB II LANDASAN TEORI 

2.1 Sistem Operasi dan Command Line Interface 

Sistem operasi Linux merupakan sistem operasi sumber terbuka (open-source) yang beroperasi di bawah lisensi GNU General Public License (GPL). Linux telah menjadi standar industri dalam infrastruktur server modern karena memiliki tingkat stabilitas, keamanan, dan efisiensi manajemen sumber daya yang sangat tinggi. Interaksi administrator dengan kernel Linux umumnya dilakukan melalui Command Line Interface (CLI) dibandingkan dengan Graphical User Interface (GUI). CLI adalah antarmuka berbasis teks yang memungkinkan pengguna memberikan instruksi langsung ke sistem operasi. Penggunaan CLI membutuhkan alokasi memori yang jauh lebih kecil dan mengeksekusi perintah secara lebih cepat dan presisi. 

2.2 Linux 

 Linux adalah sebuah sistem operasi bertipe Unix yang bersifat open-source (sumber terbuka) dan disebarluaskan secara gratis dibawah lisensi GNU General Public License (GPL). Dikembangkan pertama kali oleh seorang mahasiswa Universitas Helsinki bernama Linus Torvalds pada tahun 1991, Linux awalnya dibuat sebagai proyek hobi yang terinspirasi dari Minix, sebuah sistem Unix kecil. Keunikan utama Linux terletak pada sifatnya yang terbuka, yang memungkinkan para pengembang di seluruh dunia untuk ikut serta berkontribusi, memodifikasi, dan mendistribusikan ulang kode sumbernya secara bebas. Hal inilah yang memicu pertumbuhan Linux menjadi salah satu sistem operasi paling stabil, aman, dan paling banyak digunakan di dunia saat ini, mulai dari perangkat embedded (tertanam), ponsel pintar (Android), hingga superkomputer dan peladen (server) skala besar. 

2.3 Setting Jaringan, Koneksi, Web Server 

Dalam implementasi arsitektur layanan digital, pemahaman mengenai konfigurasi antarmuka jaringan dan web server merupakan Pondasi utama agar komunikasi antarperangkat berbasis alamat Internet Protocol (IP) dapat berjalan lancar. Pada lingkungan pengujian berbasis mesin virtual (Virtual Machine), pengaturan mode jaringan seperti Network Address Translation (NAT) yang mengisolasi koneksi secara privat, atau Bridged Adapter yang menjembatani IP tamu secara sejajar dengan jaringan antarmuka fisik, sangat menentukan keberhasilan perutean (routing) paket data. Validasi terhadap topologi ini diuji menggunakan protokol ICMP melalui perintah ping untuk memastikan konektivitas end-to-end telah terbentuk, yang selanjutnya menjadi jalan masuk bagi lalu lintas web server agar mampu merespons permintaan HTTP/HTTPS dari klien di jaringan lokal maupun publik. 


BAB III 

 METODOLOGI PRAKTIKUM 

3.1 Lingkungan Uji Coba 

        Pada praktikum ini, kami mempelajari dan mengimplementasikan bagaimana cara untuk mengkonfigurasi jaringan dengan membuat web server melalui localhost di Linux menggunakan Command Line Interface (CLI). Dalam pelaksanaan praktikum konfigurasi jaringan dan web server ini, perangkat keras dan perangkat lunak yang digunakan adalah sebagai berikut: 

3.1.1 Perangkat Keras (Hardware) 

1. Laptop Berguna sebagai host yang dikonfigurasi sebagai web server lokal 

2. Smartphone Berfungsi sebagai client untuk menguji konektivitas dan merespons layanan di server. 

3. Jaringan Lokal (Local Network) Disini kami menggunakan Tethering sebagai media transmisi yang menghubungkan perangkat server dan client dalam satu segmentasi jaringan yang sama. 

3.1.2 Perangkat Lunak (Software) 

1. Sistem Operasi Linux Sistem Operasi Linux adalah sebagai lingkungan kerja utama untuk mengeksekusi instruksi, pada praktikum ini menggunakan distro Linux yaitu Kali Linux. 

2. Command Line Interface Antarmuka utama untuk menjalankan perintah dasar Linux. 

3. Python Versi 3 Bahasa pemrograman yang built-in module, digunakan untuk menjalankan web server. 

4. Web Browser Web Browser bertujuan untuk mengakses alamat server 

3.2 Prosedur Pengujian 

        Praktikum ini dilaksanakan melalui empat tahapan utama, mulai dari persiapan file hingga pengujian lintas perangkat. Berikut adalah prosedur kerjanya: 

a. Tahap 1 (Persiapan) : Menyalakan mesin virtual Linux, Membuat directory khusus, membuat file berbentuk HTML dengan memasukan kode “echo "Praktikum Berhasil - [Isi Nama Kamu]" > index.html”

b. Tahap 2 (Mencari IP) : Buka terminal baru, kemudian lakukan perintah “ip a” untuk melihat ip komputer. 

c. Tahap 3 (Web Server) : Dalam terminal pertama jalankan perintah “python3 -m http.server 8080” 

d. Tahap 4 (Pengujian) : Dalam jaringan yang sama salah satu device bisa membuka web server dengan memasukan “http://{Ip dari tahap ke 2}:8080”, maka akan muncul tulisan Praktikum Berhasil - [Isi Nama Kamu]. 


 BAB IV 

 HASIL DAN PEMBAHASAN 

 4.1 Hasil 

        Berdasarkan serangkaian langkah kerja yang telah dilakukan, praktikum ini menghasilkan output sebagai berikut: 

gambar 1.1 (Membuat file html) 


gambar 1.2 (Melihat IP) 


gambar 1.3 (Membuka web server) 


gambar 1.4 (Output jika ada yang masuk ke web server yang terbuka) 


gambar 1.5 (Membuka web server di Handphone) 

4.2 Pembahasan 

        Dalam praktikum ini, implementasi arsitektur client-server sederhana berhasil dilakukan melalui jaringan lokal (LAN/WLAN) tanpa menggunakan software web server konvensional seperti Apache. Berikut adalah analisis teknis dari setiap prosesnya: 

1. Operasi File System melalui CLI Perintah mkdir (make directory) dan cd (change directory) merupakan interaksi dasar dengan OS untuk manajemen file. Penggunaan tanda redirect (>) pada perintah echo berfungsi untuk meneruskan standard output (teks yang dicetak) langsung ke dalam sebuah file bernama index.html. Pemilihan nama index.html sangat penting karena secara default, setiap web server akan mencari file dengan nama ini sebagai halaman utama (beranda) saat sebuah direktori diakses. 

2. Pengalamatan Jaringan (IP Address) Perintah ip a memberikan visibilitas terhadap parameter jaringan fisik dan logis perangkat. Agar komputer (sebagai server) dan smartphone (sebagai client) dapat saling berkomunikasi, keduanya mutlak harus berada dalam satu segmen jaringan lokal yang sama (misalnya terhubung pada Wi-Fi atau hotspot tethering yang sama). Jika berbeda jaringan tanpa adanya routing publik (internet), maka alamat IP lokal 192.168.x.x tidak akan bisa saling menjangkau (Unreachable). 

3. Modul http.server pada Python Alih-alih mengkonfigurasi server yang kompleks, praktikum ini memanfaatkan built-in library Python 3 yakni http.server. Perintah python3 -m memanggil modul tersebut sebagai skrip (aplikasi). Parameter 0.0.0.0 pada output terminal berarti server mendengarkan (listening) pada semua antarmuka IPv4 yang ada di komputer, sehingga dapat diakses dari perangkat luar. Pemilihan angka 8080 (sebagai port non-standar) dilakukan untuk menghindari bentrok dengan port default HTTP (80) yang mungkin membutuhkan hak akses administrator (Root/Sudo). 

4. Proses Request dan Response (Client-Server Model) Ketika browser di smartphone memuat URL, browser mengirimkan HTTP GET Request ke alamat IP dan port tujuan. Komputer server menerima permintaan ini, mencari file index.html di dalam direktori kerja saat ini, kemudian mengirimkan isi file tersebut (HTTP Response) kembali ke smartphone. Browser smartphone lalu menerjemahkan (rendering) tag HTML menjadi teks berukuran besar, yang membuktikan bahwa komunikasi dua arah telah sukses terjadi. 


BAB V 

 PENUTUP 

5.1 Kesimpulan 

        Berdasarkan serangkaian langkah praktikum mengenai konfigurasi jaringan dan inisialisasi web server lokal yang telah dilaksanakan, dapat ditarik beberapa kesimpulan sebagai berikut: 
1. Efisiensi Implementasi Web Server: Pembuatan web server lokal pada lingkungan Linux tidak selalu membutuhkan instalasi perangkat lunak khusus seperti Apache atau Nginx. Penggunaan built-in module http.server dari bahasa pemrograman Python 3 melalui Command Line Interface (CLI) terbukti sangat efektif, ringkas, dan minim galat (error) untuk kebutuhan simulasi dan pengujian sistem dasar. 
2. Identifikasi Identitas Jaringan: Perintah CLI ip a merupakan metode fundamental dan presisi untuk mengetahui alamat IPv4 localhost dari antarmuka jaringan yang sedang aktif (seperti wlan0 dan eth0). Alamat IP ini menjadi titik koordinat wajib agar komputer server dapat dijangkau oleh perangkat lain di dalam jaringan yang sama. 
3. Validasi Arsitektur Client-Server: Keberhasilan akses halaman index.html dari perangkat smartphone (client) menuju komputer (server) melalui IP Address dan port 8080 membuktikan bahwa komunikasi data dua arah dalam satu segmen jaringan lokal telah berjalan dengan sempurna. Hal ini juga memvalidasi bahwa konsep dasar penyediaan layanan (services) dalam sistem operasi telah berhasil diimplementasikan. 

 5.2 Saran

        Untuk pengembangan dan penyempurnaan pada pelaksanaan praktikum selanjutnya, terdapat beberapa saran teknis yang dapat dipertimbangkan: 

1. Eksplorasi Lingkungan Produksi (Production): Meskipun modul http.server milik Python sangat praktis untuk demonstrasi, penggunaannya tidak disarankan untuk aplikasi nyata di internet (production level) karena keterbatasan fitur keamanan dan skalabilitas. Praktikum lanjutan sebaiknya mulai mengenalkan instalasi web server sesungguhnya seperti Nginx atau Apache HTTP Server. 
2. Pengkondisian Jaringan Akses: Saat melakukan demonstrasi cross-device, pastikan jaringan lokal yang digunakan (misalnya Wi-Fi kampus atau cafe) tidak menerapkan fitur AP/Client Isolation. Fitur tersebut dapat memblokir komunikasi antar perangkat klien sehingga smartphone tidak bisa mengakses IP komputer server. Sebagai solusi paling aman, gunakan Mobile Hotspot (Tethering) pribadi. 
3. Integrasi dengan Pengujian Keamanan (Vulnerability Scanning): Web server yang telah berjalan pada port 8080 ini merupakan target yang sangat ideal untuk dilanjutkan ke praktikum ke-3 (Ethical Hacking). Disarankan untuk tidak mematikan server ini, melainkan memindainya (scanning) menggunakan tools Nmap untuk melihat bagaimana aplikasi pemindai membaca keberadaan port yang terbuka pada jaringan lokal. 


DAFTAR PUSTAKA 

 
Kurose, J. F., & Ross, K. W. (2021). Computer Networking: A Top-Down Approach (8th ed.). Pearson. Python Software Foundation. (2026). http.server — HTTP servers. Python 3 Documentation. Diakses         dari https://docs.python.org/3/library/http.server.html

Tidak ada komentar:

Posting Komentar