Install phpMyAdmin
Install phpMyAdmin

Install phpMyAdmin: Web Server Apache dan NGINX

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.

From Login phpMyAdmin
From 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.