phpMyAdmin adalah sebuah aplikasi web open source yang dirancang untuk mengelola MySQL database atau MariaDB database melalui antarmuka pengguna grafis.
phpMyAdmin memungkinkan pengguna untuk melakukan berbagai tugas administrasi database melalui web browser tanpa perlu menggunakan perintah SQL secara langsung di server lewat command line.
Dengan menggunakan phpMyAdmin, pengguna dapat membuat, mengedit, dan menghapus basis data, tabel, kolom, serta mengelola pengguna dan hak akses.
Apache
sudo apt install apache2 php8.3 libapache2-mod-php8.3 php8.3-cli php8.3-common php8.3-mbstring php8.3-gd php8.3-intl php8.3-xml php8.3-mysql php8.3-zip
Download phpMyAdmin
Download phpMyAdmin versi 5.2.3. Untuk phpMyAdmin versi lain atau yang terbaru download di phpmyadmin.net.
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.3/phpMyAdmin-5.2.3-all-languages.tar.gz -O phpmyadmin-v5.2.3.tar.gz
Mengekstrak file phpMyAdmin*.tar.gz.
tar xzvf phpmyadmin-v5.2.3.tar.gz
Memindahkan direktori hasil ekstrak ke /var/www/phpmyadmin.
cd phpMyAdmin-5.2.3-all-languages sudo mkdir /var/www/phpmyadmin sudo mv * /var/www/phpmyadmin/ sudo rm -r ../phpMyAdmin-5.2.3-all-languages/
Konfigurasi phpMyAdmin
Berpindah ke direktori phpmyadmin dan menduplikasi file contoh konfigurasi phpMyAdmin.
cd /var/www/phpmyadmin sudo cp config.sample.inc.php config.inc.php
Membuat direktori tmp untuk phpMyAdmin.
sudo mkdir tmp
Mengubah user dan group direktori phpmyadmin.
sudo chown -R www-data:www-data /var/www/phpmyadmin
sudo find /var/www/phpmyadmin -type d -exec chmod 775 {} \;
sudo find /var/www/phpmyadmin -type f -exec chmod 664 {} \;
Generate random string dengan menggunakan openssl. String yang dihasilkan akan dimasukkan sebagai nilai dari variabel opsi blowfish_secret.
openssl rand -base64 64
Contoh hasil generate random string. Salin string yang dihasilkan.
UHXZEoPdA+2TIvdQxWRGXh/LoIFa4lK/OikjYorP12xTgZaU948u7sgLOrpruPFpsAyUwMzfR0OB6xqz3YRtJw==
Membuka file konfigurasi config.inc.php.
sudo nano config.inc.php
Paste random string pada variabel blowfish_secret.
$cfg['blowfish_secret'] = 'UHXZEoPdA+2TIvdQxWRGXh/LoIFa4lK/OikjYorP12xTgZaU948u7sgLOrpruPFpsAyUwMzfR0OB6xqz3YRtJw==';
Menonaktifkan akses user root database dengan menambahkan AllowRoot false di bawah opsi AllowPassword.
$cfg['Servers'][$i]['AllowNoPassword'] = false; $cfg['Servers'][$i]['AllowRoot'] = false; $cfg['TempDir'] = '/tmp/phpmyadmin';
Kemudian Save dan Exit dari nano.
Konfigurasi Web Server Apache
URL untuk mengakses phpMyAdmin akan menggunakan IP address dan port misalnya 53000.
Membuat konfigurasi virtual host untuk phpMyAdmin.
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
Masukkan konfigurasi virtual host untuk phpMyAdmin. Ganti IP_SERVER dengan Public IP VPS.
Listen 53000
<VirtualHost *:53000>
ServerName IP_SERVER
DocumentRoot /var/www/phpmyadmin
ErrorLog /var/log/apache2/phpmyadmin_error.log
CustomLog /var/log/apache2/phpmyadmin_access.log combined
</VirtualHost>
Mengaktifkan konfigurasi virtual host phpmyadmin.conf, restart Apache service, dan menampilkan status Apache service.
sudo a2ensite phpmyadmin.conf sudo systemctl restart apache2 sudo systemctl status apache2
Akses http://IP_SERVER:53000, hasilnya halaman login phpMyAdmin.

Kesimpulan
Instalasi phpMyAdmin pada dasarnya adalah proses menghubungkan aplikasi PHP dengan web server. Apache menawarkan integrasi yang lebih sederhana melalui paket repositori dan dukungan otomatisnya.
Sementara NGINX memberikan performa lebih baik namun memerlukan konfigurasi manual pada server block .
Selalu ingat untuk mengamankan akses phpMyAdmin. Langkah minimum yang perlu kamu lakukan adalah mengaktifkan HTTPS menggunakan Certbot atau CloudFlare untuk mengenkripsi lalu lintas data, serta membatasi akses login hanya dari IP tertentu melalui konfigurasi firewall.
