Sitemap

Web Server

8 min readDec 2, 2025

--

Web server adalah layanan yang bertugas menyajikan halaman web kepada pengguna melalui protokol HTTP/HTTPS. Proses instalasi dan konfigurasinya mencakup pengaturan direktori, virtual host, serta penyesuaian keamanan agar layanan berjalan stabil. Kajian ini membahas langkah dasar yang dilakukan hingga web server dapat berfungsi dengan benar tanpa error. Diharapkan penjelasan ini membantu memahami peran dan proses kerja web server secara ringkas.

Nama Anggota Kelompok:

Tujuan Praktikum : Mahasiswa diharapkan mampu melakukan konfigurasi web server lengkap dengan virtual host dan penerapan SSL. Selain itu, mahasiswa memahami arsitektur web server serta cara kerja protokol HTTP dan HTTPS. Kegiatan pembelajaran mencakup instalasi dan konfigurasi Apache HTTP Server maupun Nginx, termasuk pembuatan serta pengelolaan banyak virtual host untuk berbagai domain. Mahasiswa juga mempraktikkan penerapan sertifikat SSL untuk koneksi HTTPS yang aman, konfigurasi keamanan serta optimasi performa web server, pengujian dan troubleshooting layanan, hingga melakukan deployment aplikasi web sederhana dengan penyesuaian konfigurasi server yang tepat.

Landasan Teori : Web server adalah layanan yang berfungsi untuk menerima permintaan dari klien melalui protokol HTTP atau HTTPS dan kemudian mengirimkan kembali respons berupa halaman web, file, atau data. Sistem ini bekerja menggunakan arsitektur client–server, di mana browser atau aplikasi klien melakukan request, sementara server memprosesnya dan menyediakan sumber daya yang diminta. Tanpa web server, proses akses website tidak dapat berjalan.

Dalam implementasinya, web server seperti Apache dan Nginx menjadi pilihan populer karena stabil, fleksibel, dan mendukung berbagai kebutuhan. Keduanya mampu mengelola multiple virtual hosts sehingga satu server dapat melayani beberapa domain sekaligus. Selain itu, penggunaan protokol HTTPS melalui sertifikat SSL/TLS memberikan lapisan keamanan tambahan dengan cara mengenkripsi data yang dikirim antara klien dan server.

Untuk menjaga performa dan keamanan, konfigurasi seperti access control, optimasi resource, dan monitoring sangat diperlukan. Pengelolaan struktur direktori, pengaturan permission, hingga troubleshooting juga menjadi bagian penting dalam manajemen web server. Melalui pemahaman terhadap konsep dasar ini, mahasiswa dapat mengonfigurasi dan mengoperasikan web server secara efektif dalam lingkungan praktikum maupun implementasi nyata.

Instalasi Web Server Apache2

Press enter or click to view image in full size

Perintah sudo apt install apache2 -y digunakan untuk menginstal web server Apache2 pada sistem operasi berbasis Debian/Ubuntu.

  • sudo memberikan hak akses administrator agar instalasi dapat dijalankan.
  • apt install apache2 memerintahkan sistem untuk mendownload dan memasang paket Apache2 beserta dependensinya.
  • -y berfungsi untuk mengonfirmasi semua pertanyaan instalasi secara otomatis, sehingga proses berjalan tanpa perlu persetujuan manual.

Secara singkat, kode ini digunakan untuk memasang Apache2 dengan cepat dan otomatis.

Perintah apache2 -v berfungsi untuk menampilkan informasi versi dari Apache2 yang terpasang pada sistem. Melalui perintah ini, administrator dapat memastikan bahwa instalasi berjalan dengan benar sekaligus mengetahui versi server web yang digunakan, termasuk detail komponen pendukung seperti modul SSL. Informasi ini penting untuk keperluan kompatibilitas, keamanan, dan penyesuaian konfigurasi server.

Press enter or click to view image in full size
sudo systemctl start apache2
sudo systemctl status apache2

Perintah sudo systemctl start apache2 digunakan untuk menjalankan atau memulai layanan Apache2 pada sistem, sehingga web server bisa aktif dan mulai menerima permintaan dari klien. Sementara itu, sudo systemctl status apache2 berfungsi untuk mengecek kondisi layanan Apache2, apakah sedang berjalan, berhenti, atau mengalami error. Dengan melihat status ini, administrator dapat mengetahui informasi detail mengenai proses, log singkat, serta memastikan bahwa server web beroperasi dengan normal tanpa gangguan.

Perintah curl -I http://localhost digunakan untuk mengecek respon header dari web server yang berjalan di mesin lokal. Dengan opsi -I (HEAD request), curl hanya meminta header tanpa mengambil seluruh isi halaman, sehingga administrator dapat memastikan apakah server merespons dengan benar, melihat status kode HTTP (seperti 200 OK), jenis server, dan informasi penting lainnya. Ini berguna untuk melakukan pengecekan cepat terhadap kondisi web server tanpa membuka browser.

seltelah itu masukkan kode berikut:

sudo a2enmod rewrite   
sudo a2enmod ssl
sudo a2enmod headers
sudo a2enmod deflate

Keempat perintah tersebut berfungsi untuk mengaktifkan modul-modul penting di Apache2 agar server memiliki kemampuan yang lebih lengkap dan optimal:

  • sudo a2enmod rewrite
    Menghidupkan modul rewrite yang memungkinkan pengaturan ulang URL, pembuatan URL yang lebih rapi, serta dukungan aturan di dalam file .htaccess.
  • sudo a2enmod ssl
    Mengaktifkan modul SSL, sehingga Apache dapat menangani koneksi terenkripsi menggunakan protokol HTTPS.
  • sudo a2enmod headers
    Mengenable modul headers yang digunakan untuk mengelola atau memodifikasi header HTTP, termasuk pengaturan keamanan dan kebijakan caching.
  • sudo a2enmod deflate
    Mengaktifkan modul deflate untuk melakukan kompresi konten sebelum dikirim ke pengguna, sehingga akses menjadi lebih cepat dan penggunaan bandwidth berkurang.
Press enter or click to view image in full size

Perintah apache2ctl -M digunakan untuk menampilkan daftar modul yang sedang aktif (loaded modules) pada Apache2. Dengan menjalankan perintah ini, administrator dapat melihat modul apa saja yang sudah dimuat oleh server, seperti rewrite, ssl, headers, atau modul-modul lainnya.

Virtual Host

Perintah sudo mkdir -p /var/www/www.wkwk.local dan sudo mkdir -p /var/www/mail.wkwk.local digunakan untuk membuat direktori khusus yang akan menjadi document root bagi masing-masing Virtual Host. Folder pertama disiapkan untuk domain utama www.wkwk.local, sedangkan folder kedua digunakan untuk subdomain mail.wkwk.local. Opsi -p memastikan folder dapat dibuat beserta struktur direktori yang diperlukan tanpa menimbulkan error jika foldernya sudah ada. Tahap ini penting agar setiap domain atau subdomain memiliki tempat penyimpanan file web yang terpisah, sehingga konfigurasi lebih terorganisir, aman, dan mudah dikelola pada server Apache.

Press enter or click to view image in full size
echo "<h1>Maung WWW</h1>" | sudo tee /var/www/www.wkwk.local/index.html
echo "<h1>Maung MAIL</h1>" | sudo tee /var/www/mail.wkwk.local/index.html

Perintah pertama akan membuat teks HTML <h1>Maung WWW</h1> dan menyimpannya ke dalam file /var/www/www.wkwk.local/index.html, sehingga ketika diakses melalui browser, domain www.wkwkw.local akan menampilkan tulisan tersebut. Perintah kedua melakukan hal serupa untuk subdomain mail.wkwk.local, menampilkan teks <h1>Maung MAIL</h1>.

Get Zuhdansani’s stories in your inbox

Join Medium for free to get updates from this writer.

Dengan cara ini, setiap Virtual Host memiliki halaman utama yang terpisah dan siap diuji melalui browser. Hal ini memudahkan identifikasi domain atau subdomain yang sedang dikonfigurasi serta memastikan konfigurasi Virtual Host berjalan dengan

  • echo "<h1> DNAS Membeku MAIL</h1>" | sudo tee /var/www/mail.uyaw.local/index.html
    Membuat file index.html untuk domain/subdomain mail.dnas.local.

Perintah ls -la /etc/apache2/ digunakan untuk menampilkan seluruh isi direktori konfigurasi Apache beserta detailnya, termasuk izin akses, pemilik file, dan file tersembunyi. Direktori ini berisi komponen penting seperti apache2.conf, ports.conf, serta folder sites-available dan sites-enabled yang mengatur virtual host. Dengan melihat daftar ini, kita dapat memastikan bahwa file konfigurasi sudah berada pada tempat yang benar dan siap digunakan oleh Apache.

erintah sudo chown -R $USER:$USER /var/www/www.wkwk.local dan sudo chown -R $USER:$USER /var/www/mail.wkwk.local digunakan untuk mengubah kepemilikan folder web agar menjadi milik user yang sedang login. Dengan cara ini, kamu bisa mengedit, membuat, atau menghapus file di dalam direktori tersebut tanpa harus selalu memakai hak akses root. Opsi -R membuat perubahan berlaku secara rekursif, sehingga seluruh file dan subfolder ikut berpindah kepemilikannya. Langkah ini biasanya dilakukan setelah membuat direktori untuk virtual host agar pengelolaan file website lebih mudah dan aman.

sudo nano /etc/apache2/sites-available/www.naped.local.conf

Perintah sudo nano /etc/apache2/sites-available/www.wkwk.local.conf digunakan untuk membuat atau mengedit file konfigurasi Virtual Host di Apache2 untuk domain www.wkwk.local

Isikan dengan kode berikut ini

Press enter or click to view image in full size

ServerName berfungsi menentukan nama domain yang menjadi identitas utama sebuah virtual host, misalnya www.wkwk.local. DocumentRoot menunjukkan lokasi direktori yang berisi file-file situs yang akan ditampilkan oleh server. Sementara itu, blok <Directory> digunakan untuk mengatur bagaimana Apache memperlakukan folder tersebut, termasuk aturan akses, izin, dan perilaku direktori saat diakses.

sudo nano /etc/apache2/sites-available/www.naped.local.conf

Perintah sudo nano /etc/apache2/sites-available/www.wkwk.local.conf digunakan untuk membuat atau mengedit file konfigurasi Virtual Host di Apache2 untuk domain www.wkwk.local

Isikan dengan kode berikut ini

Press enter or click to view image in full size

ServerName berfungsi menentukan nama domain yang menjadi identitas utama sebuah virtual host, misalnya mail.wkwk.local. DocumentRoot menunjukkan lokasi direktori yang berisi file-file situs yang akan ditampilkan oleh server. Sementara itu, blok <Directory> digunakan untuk mengatur bagaimana Apache memperlakukan folder tersebut, termasuk aturan akses, izin, dan perilaku direktori saat diakses.

Press enter or click to view image in full size

Perintah sudo apache2ctl configtest digunakan untuk memeriksa apakah seluruh konfigurasi Apache sudah benar dan tidak ada kesalahan sintaks. Ketika dijalankan, Apache akan membaca semua file konfigurasi—mulai dari apache2.conf, ports.conf, hingga setiap virtual host di sites-available—lalu memberi tahu apakah semuanya valid. Jika tidak ada masalah, biasanya muncul pesan “Syntax OK”. Ini langkah aman sebelum melakukan reload atau restart Apache agar server tidak gagal berjalan karena kesalahan konfigurasi.

Kalau kalian ada kesalahan penlisan atau error. masukan pode berikut satu persatu.

sudo a2ensite www.naped.local.conf
sudo a2ensite mail.naped.local.conf
sudo systemctl reload apache2

Perintah-perintah itu dipakai untuk mengaktifkan virtual host yang sudah kamu buat, lalu memuat ulang Apache agar perubahan diterapkan.

  • sudo a2ensite www.naped.local.conf
    Mengaktifkan konfigurasi virtual host untuk domain www.naped.local dengan membuat symbolic link ke folder sites-enabled.
  • sudo a2ensite mail.naped.local.conf
    Sama seperti di atas, tetapi untuk domain mail.naped.local.
  • sudo systemctl reload apache2
    Memuat ulang Apache tanpa mematikan layanan, sehingga semua konfigurasi virtual host yang baru diaktifkan langsung diterapkan.

Singkatnya, tiga perintah ini membuat domain yang sudah dikonfigurasi menjadi aktif dan siap diakses.

Press enter or click to view image in full size

erintah apache2ctl -S dipakai untuk menampilkan peta lengkap konfigurasi virtual host yang sedang aktif di Apache. Dari outputnya, kamu bisa melihat

  • daftar VirtualHost beserta portnya
  • domain mana yang menjadi ServerName dan ServerAlias
  • file konfigurasi mana yang digunakan
  • urutan prioritas host
  • serta informasi IP/port yang sedang didengar oleh Apache

intinya kode ini seperti membuka peta jalan seluruh wilayah yang sedang dijalankan server, sehingga kamu bisa memastikan setiap domain sudah terhubung ke konfigurasi yang benar.

Kesimpulan

Dari rangkaian langkah yang telah dilakukan, dapat disimpulkan bahwa proses instalasi dan konfigurasi dasar Apache di server Ubuntu berhasil berjalan dengan baik. Apache diinstal dan diverifikasi versinya, kemudian layanan server dijalankan serta dipastikan aktif melalui systemctl dan pengujian akses menggunakan curl. Modul-modul penting seperti rewrite, ssl, headers, dan deflate juga berhasil diaktifkan untuk mendukung fungsi web server yang lebih lengkap. Setelah itu, struktur direktori untuk dua virtual host dibuat, lalu masing-masing diisi file uji untuk memastikan tampilan halaman dapat diakses. Pemeriksaan isi direktori konfigurasi Apache dilakukan untuk memastikan file dan struktur sudah sesuai, dan perubahan kepemilikan folder web dilakukan agar pengelolaan file situs dapat dilakukan oleh user tanpa hambatan. Secara keseluruhan, seluruh tahapan menunjukkan bahwa Apache telah terpasang, berjalan, dan siap dikembangkan lebih lanjut sebagai web server yang stabil.

Perintah pertama akan membuat teks HTML <h1>Selamat Datang di WWW</h1> dan menyimpannya ke dalam file /var/www/www.wkwk.local/index.html, sehingga ketika diakses melalui browser, domain www.wkwk.local akan menampilkan tulisan tersebut. Perintah kedua melakukan hal serupa untuk subdomain mail.wkwk.local, menampilkan teks <h1>Selamat Datang di MAIL</h1>.

Dengan cara ini, setiap Virtual Host memiliki halaman utama yang terpisah dan siap diuji melalui browser. Hal ini memudahkan identifikasi domain atau subdomain yang sedang dikonfigurasi serta memastikan konfigurasi Virtual Host berjalan dengan benar.

--

--

Zuhdansani
Zuhdansani

Menulis tentang pendidikan, teknologi, dan dinamika mahasiswa.