Hallo Teman-Teman Semua, Bagaimana Nih Kabarnya? Semoga Selalu Diberikan Kesehatan Dan Kelancaran Dalam Setiap Aktivitasnya. Baiklah, Pada Artikel Kali Ini Kita Akan Membahas Materi Baru Yang Berkaitan Dengan Jaringan Komputer Dan Administrasi Server, Yaitu Konfigurasi Web Server Menggunakan Docker.

Dalam Perkembangan Teknologi Saat Ini, Web Server Menjadi Salah Satu Komponen Penting Dalam Membangun Dan Menjalankan Sebuah Website. Web Server Berfungsi Untuk Menerima Permintaan Dari Client Melalui Protokol HTTP Atau HTTPS, Kemudian Mengirimkan Halaman Web Atau Konten Yang Diminta Kepada Client. Beberapa Contoh Software Web Server Yang Banyak Digunakan Adalah Apache Dan Nginx. Pada Umumnya, Web Server Dapat Diinstal Dan Dikonfigurasi Secara Langsung Pada Sistem Operasi Server. Namun, Seiring Dengan Perkembangan Teknologi Virtualisasi, Kita Dapat Memanfaatkan Docker Untuk Menjalankan Web Server Di Dalam Sebuah Container. Dengan Menggunakan Docker, Proses Instalasi, Konfigurasi, Dan Pengelolaan Aplikasi Server Dapat Dilakukan Dengan Lebih Praktis.

Docker Merupakan Platform Yang Memungkinkan Kita Untuk Menjalankan Aplikasi Di Dalam Lingkungan Terisolasi Yang Disebut Container. Container Memungkinkan Aplikasi Beserta Kebutuhannya Dijalankan Dalam Lingkungan Yang Lebih Konsisten, Sehingga Mempermudah Proses Pengembangan, Pengujian, Dan Penerapan Aplikasi. Dalam Praktiknya, Docker Dapat Digunakan Untuk Menjalankan Berbagai Layanan, Seperti Web Server, Database Server, Dan Aplikasi Berbasis Web. Pada Tutorial Kali Ini, Kita Akan Berfokus Pada Pembuatan Web Server Menggunakan Docker Yang Dijalankan Pada Sistem Operasi Ubuntu Server. Melalui Tutorial Ini, Kita Akan Mempelajari Bagaimana Cara Menyiapkan Ubuntu Server, Menginstal Docker, Menjalankan Container Web Server, Mengatur Port, Dan Mengakses Halaman Website Melalui Web Browser Dari Komputer Client. Sebagai Contoh, Kita Dapat Menggunakan Web Server Apache Untuk Menampilkan Halaman Website Sederhana Yang Berjalan Di Dalam Container Docker.

Tutorial Ini Cocok Untuk Teman-Teman Yang Sedang Mempelajari Jaringan Komputer, Administrasi Server, Sistem Operasi Linux, Teknologi Container, Maupun Pengembangan Aplikasi Web. Dengan Mengikuti Langkah-Langkah Yang Dijelaskan, Diharapkan Teman-Teman Dapat Memahami Konsep Dasar Docker Sekaligus Mempraktikkan Cara Menjalankan Web Server Pada Ubuntu Server.

Apa Itu Web Server?

Web Server Adalah Perangkat Lunak Yang Bertugas Menerima Permintaan Dari Client Dan Mengirimkan Respons Berupa Halaman Web Atau Konten Lainnya Melalui Jaringan. Ketika Pengguna Membuka Sebuah Website Melalui Browser, Browser Akan Mengirimkan Permintaan Kepada Web Server Untuk Memperoleh Konten Yang Dibutuhkan. Sebagai Contoh, Ketika Kita Mengakses Alamat Website Melalui Browser, Web Server Akan Memproses Permintaan Tersebut Dan Mengirimkan Halaman HTML, CSS, Gambar, Atau File Lainnya Kepada Browser. Dengan Demikian, Pengguna Dapat Melihat Dan Berinteraksi Dengan Halaman Website Yang Disediakan Oleh Server.

Apa Itu Docker?

Docker Adalah Platform Untuk Membuat, Menjalankan, Dan Mengelola Aplikasi Menggunakan Container. Container Memungkinkan Aplikasi Berjalan Dalam Lingkungan Yang Terisolasi Tanpa Harus Menginstal Seluruh Kebutuhan Aplikasi Secara Langsung Pada Sistem Operasi Host. Dengan Docker, Kita Dapat Menjalankan Web Server Seperti Apache Atau Nginx Menggunakan Image Yang Tersedia. Setelah Container Berjalan, Kita Dapat Mengatur Port Agar Layanan Web Server Dapat Diakses Dari Komputer Client Melalui Jaringan. Salah Satu Keuntungan Menggunakan Docker Adalah Kemudahan Dalam Menjalankan Dan Mengelola Layanan Server. Selain Itu, Docker Juga Mempermudah Proses Pengujian Karena Container Dapat Dihentikan, Dijalankan Kembali, Atau Dihapus Sesuai Kebutuhan.

Apa Yang Akan Kita Pelajari?

Pada Tutorial Ini, Kita Akan Membahas Beberapa Tahapan Dalam Membuat Web Server Menggunakan Docker, Yaitu:

  1. Menyiapkan Ubuntu Server Sebagai Host Docker.
  2. Memperbarui Paket Sistem Operasi Ubuntu.
  3. Menginstal Docker Pada Ubuntu Server.
  4. Memeriksa Status Dan Versi Docker.
  5. Mengunduh Image Web Server Apache.
  6. Membuat Dan Menjalankan Container Web Server.
  7. Mengatur Port Container Agar Dapat Diakses Melalui Jaringan.
  8. Membuat Halaman Website Sederhana.
  9. Mengakses Web Server Melalui Browser Dari Komputer Client.
  10. Melakukan Pengujian Untuk Memastikan Web Server Berjalan Dengan Baik.

Peralatan Dan Bahan

Sebelum Kita Memulai Proses Instalasi Dan Konfigurasi Web Server Menggunakan Docker, Ada Beberapa Peralatan Dan Bahan Yang Perlu Kita Persiapkan Terlebih Dahulu, Yaitu:

  1. VirtualBox Atau Virtual Machine Digunakan Untuk Menjalankan Ubuntu Server Secara Virtual. VirtualBox Dapat Diunduh Melalui Website Resminya Di https://www.virtualbox.org/wiki/Downloads.
  2. ISO Ubuntu Server Digunakan Sebagai Sistem Operasi Untuk Menjalankan Docker Dan Container Web Server. File Instalasi Ubuntu Server Dapat Diunduh Melalui https://ubuntu.com/download/server.
  3. Docker Engine Digunakan Untuk Membuat Dan Menjalankan Container Web Server Pada Ubuntu Server. Panduan Instalasi Resminya Dapat Diakses Melalui https://docs.docker.com/engine/install/ubuntu/.
  4. Komputer Atau Laptop Client Digunakan Untuk Mengakses Dan Menguji Halaman Website Yang Dijalankan Pada Web Server.
  5. Koneksi Jaringan Digunakan Agar Komputer Client Dapat Berkomunikasi Dengan Ubuntu Server Yang Menjalankan Container Web Server.

Jika Semua Peralatan Dan Bahan Sudah Disiapkan, Selanjutnya Kita Dapat Memulai Tahap Instalasi Docker Pada Ubuntu Server. Setelah Docker Berhasil Diinstal, Kita Akan Melanjutkan Dengan Menjalankan Container Apache, Mengonfigurasi Port, Dan Menguji Akses Website Melalui Browser.

Langkah – Langkah Instalasi Docker

Pada Tutorial Kali Ini Kita Akan Membahas Langkah – Langkah Instalasi Dan Kongurasi Web Server Menggunakan Docker. Jadi Sebelum Memulai Proses Instalasi Web Server Pastikan Seluruh Peralatan Sudah Disiapkan Dan Sudah Terinstall Pada Komputer Kita Terlebih Dahulu. Setelah Itu Barulah Kita Masuk Ke Tahapan Instalasi Web Server Ini.

Gambar artikel

  • Langkah 2: Tambahkan juga sintak pada file reverse kita pada server DNS yang sudah kita buat sebelumnya

Gambar artikel

  • Langkah 3: Setelah host berhasil dibuat, lakukan pengecekan dengan menggunakan perintah “nslookup” pastikan IP Address dari host tersebut tampil ketika kita memasukkan perintah “nslookup”

Gambar artikel

  • Langkah 4: Lakukan juga pengecekan untuk host domain yang lainnya yang sudah kita daftarkan sebelumnya

Gambar artikel

  • Langkah 5: Pada sesi kali ini kita akan membuat arsitektur server kita seperti gambar dibawah ini. Akan tetapi pada kasus kali ini kita hanya akan membuat satu buah server Docker menggunakan apache

Gambar artikel

  • Langkah 6: Setelah pengaturan DNS selesai di atur, selanjutnya masuklah ke dalam server VM untuk docker kita. Lakukan login dengan menggunakan username dan password dari VM Docker kita

Gambar artikel

  • Langkah 7: Loginlah sebagai admin dengan menggunakan perintah “sudo su”

Gambar artikel

  • Langkah 8: Editlah file SSH sehingga kita dapat melakukan remote dari luar VM kita dengan perintah “nano /etc/ssh/sshd_config”. Kemudian editlah baris “PermitRootLogin yes”, “PubkeyAuthentication yes” dan “PasswordAuthentication yes”. Simpanlah pengaturan ini setelah kita selesai melakukan pengeditan terhadap file tersebut

Gambar artikel

  • Langkah 9: Aktifkan pengaturan dari ssh ini dengan perintah “enable”

Gambar artikel

  • Langkah 10: Restartlah pengaturan dari service ssh ini, kemudian pastikan service dari ssh ini aktif kembali

Gambar artikel

  • Langkah 11: Aturlah IP Address dari server docker kita jika ingin mengubahnya menjadi IP Static dengan mengedit file “/etc/netplan/50-cloud-init.yaml”. Pada kasus ini IP Server yang kita atur yaitu “192.168.100.150”. Jika kita ingin menggunakan IP yang didapatkan dari router secara otomatis maka kita tidak perlu mengatur IP Address ini secara static.

Gambar artikel

  • Langkah 12: Simpanlah pengaturan dari IP Address ini dengan perintah “netplan apply”

Gambar artikel

  • Langkah 13: Setelah network diatur, ceklah IP Address dari server kita ini terlebih dahulu dengan perintah “ip addr”

Gambar artikel

  • Langkah 14: Setelah itu lakukan proses remote server kita dari aplikasi remote seperti mobaXterm

Gambar artikel

  • Langkah 15: Login kembali sebagai root setelah kita berhasil masuk ke dalam server kita

Gambar artikel

  • Langkah 16: Aturlah hostname dari server ini terlebih dahulu menjadi “DockerServer”

Gambar artikel

  • Langkah 17: Aturlah file resolver dari server Docker ini untuk memastikan bahwa DNS sudah dapat digunakan untuk server ini dengan mengakses file “/etc/resolv.conf”

Gambar artikel

  • Langkah 18: Teslah nama domain kita dari server docker ini dengan menggunakan perintah “ping -c 5 jarmud.com”

Gambar artikel

  • Langkah 19: Testlah dengan nama lain sesuai dengan host yang kita daftarkan yaitu “ping -c 5 apache.jarmud.com”

Gambar artikel

  • Langkah 20: Testlah dengan nama lain sesuai dengan host yang kita daftarkan yaitu “ping -c 5 nginx.jarmud.com” meskipun kita tidak menggunakan nama dari host ini

Gambar artikel

  • Langkah 21: Ceklah informasi OS dari server yang kita install untuk docker ini

Gambar artikel

  • Langkah 22: Ceklah IP Address dari server kita terlebih dahulu

Gambar artikel

  • Langkah 23: Ceklah status dari server docker yang akan kita gunakan terlebih dahulu. Pastikan server kita sudah terkoneksi dengan internet sehingga kita dapat melakukan instalasi server docker ini

Gambar artikel

  • Langkah 24: Lakukan perintah “apt update” untuk memperbaharui repositori linux yang kita gunakan

Gambar artikel

  • Langkah 25: Installah beberapa paket sehingga kita dapat melakukan download paket server yang kita gunakan

Gambar artikel

  • Langkah 26: Tambahkan host untuk server kita terlebih dahulu

Gambar artikel

  • Langkah 27: Pastikan host yang sudah kita tambahkan pada server docker sudah tersedia pada file “/etc/hosts”

Gambar artikel

  • Langkah 28: Installah paket dari docker kita dengan menjalankan perintah “apt install docker.io” pada terminal server kita

Gambar artikel

  • Langkah 29: Aktifkan pengaturan dari docker kita dan ceklah status dari service docker yang kita install ini. Pastikan status dari service docker ini menjadi aktif

Gambar artikel

  • Langkah 30: Ceklah hasil dari docker yang kita install sebelumnya. Perintah ini digunakan untuk mengunduh dan menjalankan container uji coba resmi dari docker tersebut. Fungsi utama dari sintak ini adalah sebagai uji diagnostik cepat untuk mamastikan Docker Daemon aktif.

Gambar artikel

  • Langkah 31: Setelah docker berhasil diinstall maka kita perlu mengecek versi dari docker tersebut terlebih dahulu

Gambar artikel

  • Langkah 32: Selain kita mengecek versi dari docker tersebut, kita juga dapat mengecek info dari docker tersebut

Gambar artikel

  • Langkah 33: Kita akan membuat website sederhana terlebih dahulu. Jika kita sudah memiliki website PHP sendiri, kita dapat menggunakan file website tersebut sebagai pengganti contoh ini. Pertama – tama buatlah sebuah folder dengan nama “docker-php-apache” kemudian masuklah ke dalam folder tersebut dengan perintah “cd”

Gambar artikel

Tambahkan file “index.php” pada folder dari docker ini

<?php
$serverName = gethostname();
$serverTime = date("d-m-Y H:i:s");
?>

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Website PHP Docker</title>

    <style>
        body {
            font-family: Arial, sans-serif;
            background: #f1f5f9;
            margin: 0;
            padding: 40px 20px;
        }

        .container {
            max-width: 700px;
            margin: auto;
            background: white;
            padding: 30px;
            border-radius: 12px;
            box-shadow: 0 4px 15px #00000012;
        }

        h1 { color: #2563eb; }

        .info {
            background: #eff6ff;
            padding: 15px;
            border-radius: 8px;
            margin-top: 20px;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>Website PHP Berhasil Berjalan!</h1>

        <p>
            Selamat datang di modul pembelajaran Docker.
        </p>

        <p>
            Website ini berjalan menggunakan Apache dan PHP
            di dalam container Docker.
        </p>

        <div class="info">
            <p><strong>Nama container:</strong>
                <?= htmlspecialchars($serverName, ENT_QUOTES, 'UTF-8') ?>
            </p>

            <p><strong>Waktu server:</strong>
                <?= htmlspecialchars($serverTime, ENT_QUOTES, 'UTF-8') ?>
            </p>
        </div>
    </div>
</body>
</html>

Buatlah sebuah file dengan nama “Dockerfile” sebuah file teks polos (plain text) yang berisi serangkaian instruksi atau perintah berurutan yang digunakan untuk merakit (build) sebuah Docker image. Dockerfile adalah “buku resep” atau “cetak biru (blueprint)” otomatis untuk membuat container. Daripada harus menginstal PHP, Apache, dan mengatur konfigurasi server secara manual satu per satu di dalam komputer, kita cukup menuliskan instruksinya di dalam Dockerfile, lalu Docker akan membangun semuanya secara otomatis dan konsisten di lingkungan mana pun

FROM php:8.3-apache

COPY index.php /var/www/html/index.php

EXPOSE 80

Dalam skenario ini, proses dimulai dengan instruksi FROM php:8.3-apache yang berfungsi menetapkan fondasi utama aplikasi menggunakan base image resmi PHP versi 8.3 yang sudah terintegrasi langsung dengan web server Apache. Selanjutnya, perintah COPY index.php /var/www/html/index.php dijalankan untuk menyalin file index.php dari komputer lokal ke dalam direktori /var/www/html/ di dalam container, yaitu folder standar tempat Apache membaca kode program website. Proses pembuatan image ditutup dengan sintaks EXPOSE 80 yang berfungsi memberitahu sistem bahwa container tersebut akan mendengarkan lalu lintas jaringan pada port 80 (port standar HTTP), sehingga aplikasi web PHP tersebut dapat dihubungkan dan diakses melalui browser.

  • Langkah 34:  Perintah sudo docker build -t website-php-apache:1.0 . digunakan untuk merakit atau membangun sebuah Docker image baru secara otomatis berdasarkan instruksi yang ada di dalam Dockerfile. Awalan sudo berfungsi untuk menjalankan perintah dengan hak akses administrator (superuser) agar Docker daemon dapat berjalan dengan lancar di sistem Linux, yang kemudian diikuti oleh perintah utama docker build. Argumen -t website-php-apache:1.0 digunakan untuk melabeli atau memberi nama (tag) pada image yang sedang dibuat dengan nama website-php-apache serta versi 1.0 agar mudah dikenali dan dikelola. Terakhir, tanda titik (.) di bagian paling akhir perintah menunjukkan path atau direktori saat ini (current directory) tempat file Dockerfile dan file pendukung aplikasi (seperti index.php) berada, sehingga Docker tahu di mana lokasi file-file yang harus diproses untuk dijadikan satu kesatuan image siap pakai.

Gambar artikel

  • Langkah 35: Proses ini akan mengunduh image dasar jika belum tersedia, kemudian menyalin file PHP dan menghasilkan image baru. Sintak ini digunakan untuk melihat daftar seluruh Docker image yang saat ini sudah tersimpan secara lokal di dalam komputer atau server Anda.

Gambar artikel

  • Langkah 36: Sintak ini digunakan untuk Memeriksa apakah ada layanan/aplikasi di sistem operasi utama yang sedang menggunakan (mendengarkan/listen) pada port 80 (HTTP) atau port 443 (HTTPS). Sintak Ini merupakan bagian utama dari konfigurasi. Agar pengunjung cukup mengetik apache.jarmud.com tanpa menambahkan :8080, kita akan mempublikasikan Apache container melalui port HTTP standar, yaitu port 80 pada host Ubuntu

Gambar artikel

  • Langkah 37: Sintak Menampilkan daftar seluruh container Docker yang ada di sistem, baik yang sedang aktif (running) maupun yang sudah berhenti (exited/created). Pada output gambar 37, terlihat tabel container seperti hello-world yang statusnya sudah Exited (0) (karena container hello-world memang langsung mati setelah selesai menampilkan pesan)

Gambar artikel

  • Langkah 38: Sintak ini digunakan Menghapus (remove) container Docker yang sudah tidak digunakan berdasarkan nama atau ID-nya (dalam hal ini container bernama reverent_hypatia, blissful_johnson, dan angry_hypatia). Perintah ini membersihkan container yang biasanya sudah berstatus Exited agar tidak menumpuk di penyimpanan sistem

Gambar artikel

  • Langkah 39: Sintak ini digunakan untuk menjalankan sebuah container Docker baru secara langsung di latar belakang (background) berdasarkan image yang telah dibuat sebelumnya (website-php-apache:1.0).

Gambar artikel

  • Langkah 40: Sintak Menampilkan daftar seluruh container Docker yang ada di sistem, baik yang sedang aktif (running) maupun yang sudah berhenti (exited/created)

Gambar artikel

  • Langkah 41: Kemudian uji website dari server Ubuntu. Jika Apache berjalan normal, respons biasanya menampilkan status HTTP seperti 200 OK. Perintah ini mengirim header Host ke Apache. Ini berguna untuk pengujian lokal, meskipun belum membuktikan bahwa DNS dan jaringan dari client sudah berfungsi

Gambar artikel

  • Langkah 42: Sintak ini digunakan untuk melihat informasi IP dari host domain kita. Jika nama domain tidak menghasilkan alamat IP, periksa kembali record DNS dan resolver yang digunakan. Jika menghasilkan IP yang berbeda dari tujuan yang diharapkan, periksa konfigurasi record dan cache DNS

Gambar artikel

  • Langkah 43: Aturlah IP Address dari Komputer client kita sehingga kita dapat mengakses DNS pada komputer Client kita

Gambar artikel

  • Langkah 44: Lakukan pengetesan dengan menggunakan perintah “ping apache.jarmud.com” melalui terminal CMD dari Client kita

Gambar artikel

  • Langkah 45: Akseslah halaman browser dengan menggunakan nama dari domain kita. Jika tampilan websitenya muncul maka kita berhasil melakukan proses instalasi

Gambar artikel

Sekian Artikel Tentang “Tutorial Instalasi dan Konfigurasi Web Server Menggunakan Docker di Ubuntu Server”. Pada Artikel Selanjutnya Kita Akan Membahas Tentang bagaimana Menggunakan Server Yang Telah Kita Instal Ini.

Leave a Reply

Your email address will not be published. Required fields are marked *