Cara menggunakan docker-compose php 5.6 apache

XAMPP memudahkan pengembangan website pada komputer lokal. Seiring lahirnya versi terbaru PHP dan MySQL membuat XAMPP tidak fleksibel lagi digunakan. Makanya di Linux banyak dipakai Docker untuk menjalankan PHP-MySQL. Artikel ini berisi cara menggunakan Docker untuk LAMP stack. Apa itu LAMP stack? Yuk ikuti penjelasannya.

XAMPP adalah

XAMPP adalah paket program sumber terbuka gratis (open source) yang memungkinkan sobat menginstal lingkungan server web Apache dengan dukungan PHP dan MySQL sesuai namanya yaitu XAMMP singkatan dari X-windows Apache MySQL PHP Perl. XAMPP ini awalnya dirancang untuk memungkinkan pengembangan web pada mesin Windows, jadi dengan menginstal XAMPP sobat secara otomatis telah menginstal Apache dan kawan-kawannya.

Seiring berjalannya tahun, XAMPP dikembangkan untuk mesin Linux dan Mac OS dimana installernya dapat diunduh dari website resminya. Sebagai pengguna Linux, kali ini kita tidak berbicara bagaimana cara instal XAMPP di Linux dan menambahkan XAMPP Control Panel-nya akan tetapi memberikan informasi bagaimana cara mudah menggunakan LAMP stack di Linux.

Apache-MySQL-PHP (AMP) adalah kombinasi sempurna untuk programmer yang ingin memulai proyek website sendiri dimana XAMPP memberikan pilihan sempurna untuk menginstal semua itu. Satu hal yang membuat pamong XAMPP pudar dan tersingkirkan adalah ketidak mampuannya menangani multi version untuk PHP dan MySQL, jadi XAMPP hanya dapat menjalankan satu versi PHP dan satu versi MySQL saja. Itulah mengapa di websitenya banyak pilihan XAMPP karena di dalam sebuah paket XAMPP hanya memuat satu versi AMP saja. Sangat menjengkelkan ketika kita mendapat source code programmer lain yang dikembangkan dengan versi PHP yang berbeda dengan versi PHP yang kita gunakan.

Laragon sebagai alternative

Pada sistem operasi Windows, saat ini programmer web lebih menyukai Laragon karena fleksibilitasnya yang mampu menangani multi version PHP, MySQL dan web servernya adalah Apache. Keunggulan Laragon adalah kita dapat memilih versi PHP berapa yang akan kita jalankan, versi MySQL yang mana yang akan kita pakai.

Dengan Laragon, kita bisa memanggil proyek website atau app kita dengan nama http://app.test tidak menggunakan http://localhost/app dan ini adalah keren bukan?

Sayangnya, Laragon hanya dapat diinstal pada mesin Windows, Lalu bagaimana dengan Linux? Okay, sesungguhnya sobat Linux itu lebih keren? Kenapa, karena di Linux kita lebih banyak pilihan baik itu LAMP stack ataupun LEMP stack lebih populer menggunakan Docker.

Apa itu LAMP stack dan LEMP stack

Di dunia ini terdapat dua pemain utama yang menangani web server yaitu Apache dan Nginx. Ini diibaratkan sebagaimana Honda dan Yamaha untuk mesin motor, atau Intel dan AMD untuk otak mesin komputer. Menggunakan Apache atau Nginx sama saja, namun apabila terbiasa dengan Apache kami sarankan pakai saja sesuai dengan familiaritas sobat.

Jadi sampai sini kita bisa temukan istilah baru yaitu:

  1. LAMP Stack (Linux Apache MySQL PHP), merujuk istilah installer paket aplikasi untuk menginstal paket MySQL-PHP dengan web server Apache di Linux.
  2. LEMP Stack (Linux Nginx MySQL PHP), merujuk istilah installer paket aplikasi untuk menginstal paket MySQL-PHP dengan web server Nginx di Linux.

Di Linux sendiri XAMPP tidak begitu populer karena sangat ribet, oleh karena itu kita pakai Docker LAMP saja yang akan di bahas berikut ini.

Apa itu Docker

Docker adalah aplikasi yang memungkinkan pengembang (pembuat aplikasi) mengemas aplikasi dan pendukungnya ke dalam wadah—komponen standar (container). Jadi di dalam Docker kita dapat mengeksekusi atau menjalankan berbagai source code aplikasi dengan dan dependensi yang diperlukan tanpa terpengaruh dengan lingkungan lokal sistem operasi.

Cara Menggunakan Docker LAMP

Pastikan sobat sudah menginstal Docker Engine dan Docker Compose pada mesin Linux sobat, apabila belum terinstal dan bagaimana cara mengecek sudah terinstal atau belum silahkan lihat postingan berikut untuk menginstall:

Rekomendasi: Cara Install Docker di Linux untuk Pengembangan Website

Docker LAMP PHP 8

Dalam sebuah mesin Linux, kita dapat menginstal banyak Docker, misalnya docker A untuk LAMP dengan versi PHP 5.6 dan docker B untuk menginstal LAMP dengan versi PHP 8, dan lain sebagainya. Selanjutnya ada sebuah repository Github yang dapat kita pakai untuk menginstal LAMP stack menggunakan Docker dengan PHP 8.1 yaitu:

https://github.com/sprintcube/docker-compose-lamp

Repo tersebut menyediakan installer PHP dengan dukungan Redis, Apache, MySQL, phpMyAdmin. Apabila sobat sudah menginstal Docker Engine dan Docker Compose, langkah instalasinya cukup tiga tahap saja atau menggunakan tiga baris perintah di Terminal saja. Langkahnya yaitu:

  1. Melakukan perintah clone repository ke komputer kita
  2. Melakukan konfigurasi file .env sesuai kebutuhan
  3. Menjalankan Docker dengan perintah docker-compose up -d

Atau melalui Terminal ketikkan perintah berikut ini per baris, tanda double slash ( // ) merupakan komentar, lewati saja:

git clone https://github.com/sprintcube/docker-compose-lamp.git
cd docker-compose-lamp/
cp sample.env .env
// memodifikasi sample.env sesuai kebutuhan
docker-compose up -d
// kunjungi localhost

Apabila berhasil dan kita membuka http://localhost maka tampilannya akan seperti ini (tidak selamanya setiap docker memiliki tampilan ini karena bergantung dari orang yang membuat docker, kadang untuk mengakses localhost perlu diikuti port mapping-nya misal http://localhost:80 , sekali lagi baca doc dari file docker yang dikembangkan):

Cara menggunakan docker-compose php 5.6 apache

Pada bagian Quick Links kita dapat mengakses secara langsung phpinfo() dan phpMyAdmin, atau untuk Docker “Sprintcube” di atas kita bisa akses phpMyAdmin melalui http://localhost:8080 sesuai dengan dokumentasinya.

Docker LAMP PHP 5.6

Masih banyak aplikasi yang dikembangkan dengan menggunakan versi PHP 5.6, untuk itu kita bisa menggunakan Docker LAMP dari Git yang satu ini, langsung saja eksekusi:

git clone https://github.com/vpslabs/docker-lampp56
cd docker-lampp56
docker-compose up -d

Selanjutnya apabila sudah terinstal, kita bisa mengakses localhost melalui http://localhost:80 (localhost dengan halaman utama) dan phpMyAdmin melalui http://localhost:56 untuk user dan password database silahkan lihat dokumentasi Git yang bersangkutan.

Cara start dan stop docker

Untuk menjalankan docker atau memberhentikannya, cukup pergi ke lokasi dimana docker berada. Lalu klik kanan ruang kosong, pilih “Open in Terminal”

  • docker-compose up -d untuk menjalankan docker
  • docker-compose stop untuk menyetop docker
  • docker-compose down untuk membuang docker

Catatan Penting:

Apabila saat menjalankan docker-compose up terjadi peringatan seperti ini:

/usr/local/lib/python3.9/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,

Itu artinya versi kriptografi Python sudah deprecated, silahkan ketikkan perintah berikut ini sebagai solusi fix atas error yang terjadi ini dengan perintah:

pip3 install cryptography==3.4.6

Letakkan file sobat di dalam folder www atau public_html (letaknya di dalam docker, berada di home), jalankan dengan memanggil localhost diikuti nama foldernya untuk proyek yang ada di dalam folder www dari docker yang aktif, tidak perlu melakukan chown atau change ownership lagi terhadap file. Selesai