Install LAMP Stack dengan Docker dan Docker Compose

Install LAMP Stack dengan Docker dan Docker Compose

LAMP adalah singkatan dari Linux, Apache, MariaDB (MySQL), dan PHP, yaitu stack web server yang paling banyak digunakan untuk menjalankan aplikasi web berbasis PHP. Dengan Docker dan Docker Compose, instalasi LAMP menjadi lebih cepat, konsisten, dan mudah dikelola tanpa harus melakukan konfigurasi manual di sistem operasi.

Pendekatan ini sangat ideal untuk DevOps Engineer, Web Developer, dan Administrator Server yang ingin membangun environment development maupun production di VPS atau cloud server.

Keunggulan LAMP Menggunakan Docker

Menggunakan Docker untuk LAMP Stack memberikan beberapa keuntungan utama:

  • Isolasi environment antar aplikasi

  • Instalasi cepat dan konsisten

  • Mudah dipindahkan ke server lain

  • Tidak mengotori sistem host

  • Cocok untuk CI/CD dan deployment modern

Install Docker di Ubuntu

Langkah pertama adalah menginstall Docker Engine di Ubuntu.

Menambahkan GPG Key Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Menambahkan Repository Docker

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Install Docker Engine

sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y

Install Docker Compose

Docker Compose digunakan untuk menjalankan multi-container application seperti LAMP Stack.

wget https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-linux-x86_64 -O /usr/bin/docker-compose chmod +x /usr/bin/docker-compose

Verifikasi instalasi:

docker-compose --version

Konfigurasi Docker Compose untuk LAMP Stack

Membuat Direktori Project

mkdir -p lamp/www cd lamp

Membuat File docker-compose.yml

nano docker-compose.yml

Konfigurasi docker-compose.yml

version: '3.7' services: php-httpd: image: php:7.4-apache ports: - "80:80" volumes: - ./www:/var/www/html mariadb: image: mariadb:10.6.8 volumes: - vol-mariadb:/var/lib/mysql environment: MYSQL_ALLOW_EMPTY_PASSWORD: "no" MYSQL_ROOT_PASSWORD: "secret" MYSQL_USER: "myuser" MYSQL_PASSWORD: "mypass" MYSQL_DATABASE: "mydb" phpmyadmin: image: phpmyadmin/phpmyadmin links: - mariadb:db ports: - "8181:80" volumes: vol-mariadb:

Penjelasan Konfigurasi Docker Compose

Konfigurasi di atas akan:

  • Menjalankan Apache dan PHP 7.4 menggunakan image resmi

  • Menghubungkan folder www ke /var/www/html

  • Menjalankan MariaDB 10.6 dengan persistent volume

  • Membuat database dan user secara otomatis

  • Menyediakan phpMyAdmin untuk manajemen database berbasis web

Membuat File PHP untuk Pengujian

Buat file index.php di folder www.

echo "<?php phpinfo(); ?>" > www/index.php

Menjalankan LAMP Stack dengan Docker Compose

Jalankan perintah berikut untuk membangun dan menjalankan container.

docker-compose up -d

Cek status container:

docker ps

Jika berhasil, container Apache, MariaDB, dan phpMyAdmin akan berjalan dalam kondisi aktif.

Pengujian Web Server dan PHP

Akses melalui browser:

http://IP-Server

Jika halaman PHP Information tampil, berarti Apache dan PHP berjalan dengan baik.

Pengujian phpMyAdmin

Akses phpMyAdmin melalui browser:

http://IP-Server:8181

Login menggunakan:

  • Username: myuser

  • Password: mypass

  • Database: mydb

Kesimpulan

Menginstall LAMP Stack dengan Docker dan Docker Compose adalah solusi modern untuk membangun web server yang cepat, scalable, dan mudah dikelola. Pendekatan ini sangat cocok untuk cloud server, VPS, DevOps workflow, dan environment production-ready.

Dengan satu file docker-compose, seluruh stack Apache, MariaDB, PHP, dan phpMyAdmin dapat dijalankan secara otomatis dan konsisten di berbagai server. Artikel ini dapat menjadi fondasi untuk topik lanjutan seperti Docker Security, Reverse Proxy, SSL HTTPS, dan CI/CD Deployment.