PHPMyAdmin adalah sebuah aplikasi berbasis website yang digunakan untuk mengelola Database Management System untuk MySQL dan MariaDB. PHPMyAdmin memiliki fitur yang sangat lengkap untuk sebuah aplikasi pengelola DBMS. Karna aplikasi ini berbasis website, anda tinggal menggunakannya dengan mengakses alamat URL dari PHPMyAdmin yang telah anda konfigurasi kemudian anda dengan mudah mengelola Database anda di mana saja.
Untuk membuat sebuah Docker Container PHPMyAdmin caranya cukup mudah. Anda dapat mengakses Container resminya pada Docker Hub (https://hub.docker.com/_/phpmyadmin). Namun saya akan membuat tutorial menyesuaikan dengan Docker Container MySQL yang kita buat sebelumnya. Tahap-tahap yang akan kita lakukan untuk meng-install Docker Container PHPMyAdmin di mulai dari Instalasi Docker Container PHPMyAdmin dengan Docker Compose dan Konfigurasi Nginx untuk Docker Container PHPMyAdmin. Langsung saja kita mulai prosesnya.
1. Instalasi Docker Container PHPMyAdmin dengan Docker Compose
Untuk instalasi Docker Container sebenarnya cukup sederhana, anda tinggal menggunakan perintah sebagai berikut
docker run --name main-phpmyadmin -e PMA_PORT=3306 --link main-mysql:db --rm --net main-network -p 8080:80 phpmyadmin
Anda dapat menyesuaikan beberapa variabel di atas sesuai dengan konfigurasi anda. “PMA_PORT” adalah port dari MySQL atau MariaDB anda. “–link xxxx:db” adalah nama dari service atau Docker Container MySQL anda(Konfigurasi PHPMyAdmin lainnya dapat anda lihat di https://hub.docker.com/_/phpmyadmin). Anda dapat menyesuaikan port untuk mengakses PHPMyAdmin anda, pada contoh di atas, anda dapat mengakses PHPMyAdmin pada port “8080” anda. Kemudian pada perintah tersebut saya sertakan “–rm” artinya jika Container saya hentikan, maka Container akan terhapus secara langsung.
Setelah kita mengetahui cara pembuatan Container, mari kita ubah menjadi sebuah Docker Compose file. Langkah yang dapat anda lakukan adalah pertama-tama adalah masuk ke folder konfigurasi MySQL anda(Anda dapat melihat pada artikel Membuat Docker Container MySQL dengan Docker Volume tahap ke 2). Kemudian buat berkas baru Docker Compose dengan perintah
nano docker-compose-main-phpmyadmin.yml
Masukan konfigurasi yml sebagai berikut
version: '3.1'
services:
main-phpmyadmin:
image: phpmyadmin
ports:
- "8080:80"
environment:
PMA_PORT: 3306
PMA_HOST: main-mysql
# PMA_USER:
# PMA_PASSWORD:
networks:
default:
name: main-network
external: true
Variabel environment “PMA_USER” dan “PMA_PASSWORD” adalah variabel opsional. Jika anda mengisi 2 variabel tersebut maka ketika anda masuk ke Container PHPMyAdmin tersebut, anda langsung masuk ke dalam sistem PHPMyAdmin tanpa harus login terlebih dahulu. Kemudian, simpan berkas tersebut. Setelah selesai, coba jalan perinta Docker Compose pada berkas yang barusan anda buat
docker-compose -f docker-compose-main-phpmyadmin.yml up
Kemudian coba akses melalui melalui “host-anda:port“
Jika anda dapat masuk secara langsung pada PHPMyAdmin anda dan dapat mengakses, artinya anda telah berhasil menjalankan PHPMyAdmin anda. Selamat… Langkah selanjutnya kita akan membuat proxy pada Nginx agar dapat langsung di akses melalui alamat URL.
2. Konfigurasi Nginx untuk Docker Container PHPMyAdmin
Setelah Docker Container PHPMyAdmin sudah berhasil anda buat. Langkah selanjutnya adalah menambahkan Domain pada Nginx anda. Tambahkan server blok baru pada Nginx anda dengan. Jangan lupa tambahkan A Record(Anda dapat membaca mengenai hal ini pada artikel : Memasang SSL HTTPS Gratis dengan Nginx dan Let’s Encrypt Pada Ubuntu Server)
nano /etc/nginx/sites-available/pma.namadomainanda.com
Lakukan reverse proxy pada Nginx agar Docker Container PHPMyAdmin anda dapat anda akses melalui Sub Domain anda. Masukan server blok reverse proxy.
server {
listen 80;
server_name pma.namadomainanda.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
Setelah itu periksa konfigurasi Nginx.
nginx -t
Jika tidak ada kesalahan restart Nginx anda.
systemctl restart nginx
Sekarang coba akses sub domain baru yang telah anda konfigurasi pada server blok.
Jika sudah muncul, artinya PHPMyAdmin anda sudah dapat berjalan. Anda tinggal memasukkan username root dan password yang telah anda masukkan pada Docker Compose. Anda juga menambahkan sertifikat HTTPS pada Nginx server blok seperti pada artikel Memasang SSL HTTPS Gratis dengan Nginx dan Let’s Encrypt Pada Ubuntu Server. Atau anda menambahkan security tambahan pada Nginx agar tidak semua orang dapat langsung masuk pada server blok ini.