Setelah install MySQL, selanjutnya kita bisa manage MySQL menggunakan phpMyadmin . Berikut ini beberapa tahap dalam Install phpMyAdmin di Nginx Ubuntu 20.10 Server.
Baca Juga : Instalasi MySQL Server di Ubuntu 20.10
Prasyarat
Sebelum melakukan instalasi di Linux Ubuntu, biasanya saya selalu melakukan update dan upgrade dulu dengan perintah :
sudo apt update
sudo apt upgrade
Langkah 1 : Instalasi phpmyadmin
Install phpMyAdmin dengan perintah :
sudo apt install phpmyadmin
Kemudian akan muncul pertanyaan, apakah menggunakan Apache atau Lighttpd. Karena kita menggunakan Nginx, maka tidak perlu memilih, langsung OK saja

Selanjutnya konfigurasi menggunakan dbconfig-common, pilih Yes

Selanjutnya akan ditanya password untuk user phpmyadmin MySQL. Kosongkan saja, phpMyAdmin akan generate secara acak. Password ini tidak kita perlukan.

Jika selanjutnya muncul error di bawah ini, maka pilih abort

Kemudian login ke mysql menggunakan perintah
mysql -u root -p
Selanjutnya disable komponen Validate Password dengan perintah :
mysql> UNINSTALL COMPONENT "file://component_validate_password";
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
Ulangi kembali instalasi phpmyadmin dengan perintah berikut :
sudo apt install phpmyadmin
Jika sudah selesai, kita aktifkan kembali komponen Validate Password dengan cara masuk ke MySQL sebagai root dan jalankan perintah berikut :
mysql> INSTALL COMPONENT "file://component_validate_password";
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
Selanjutnya buat symbolic link sebagai berikut :
sudo ln -s /usr/share/phpmyadmin /var/www/html/mysqlsembunyi
Sekarang phpmyAdmin dapat diakses melalui :
http://namaserver_atau_IPaddress/mysqlsembunyi

Langkah 2 : Melindungi phpMyAdmin
Selain nama folder-nya yang di bedakan dari biasa, agar lebih aman, diberi password lagi saat akan akses ke directory yang sudah disembunyikan tsb.
Untuk membuat password yang terenkripsi, jalankan perintah berikut :
$ openssl passwd -6 -salt uyah katakunci
$6$uyah$HabR0H1wfnMbckEGUwug01fyy4WedoxhhRu6dTWidMg.nrXGGuhtb/VigWaZLjGFFqS0.U7.VcQV/oUASBOxH.
Copy hasil enkripsi diatas. Lalu buat file untuk authentikasi sebagai berikut
sudo nano /etc/nginx/pma_pass
Isikan nama dan password yang dienkripsi , misalnya nama user nya adalah adul, maka isi dari pma_pass tersebut adalah sebagai berikut :
adul:$6$uyah$HabR0H1wfnMbckEGUwug01fyy4WedoxhhRu6dTWidMg.nrXGGuhtb/VigWaZLjGFFqS0.U7.VcQV/oUASBOxH.
Simpan lalu keluar. Selanjutnya edit konfigurasi Nginx. Karena belum dibuat server block, maka kita akan edit yang default nya saja dengan perintah
sudo nano /etc/nginx/sites-available/default
Tambahkan isi
location / {
#First attempt to serve request as file, then
#as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ^~ /mysqlsembunyi/ {
auth_basic "Admin PMA Login";
auth_basic_user_file /etc/nginx/pma_pass;
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
location ~ /.ht {
deny all;
}
Lalu check konfigurasi Nginx dengan perintah berikut
sudo nginx -t
Jika tidak ada error, maka restart Nginx dengan perintah
sudo systemctl reload nginx
Silahkan akses ke
http://namaserver_atau_IPaddress/mysqlsembunyi
Maka akan muncul permintaan password :

Gunakan user : adul
Password : katakunci