phpmyadmin

Install phpMyAdmin di Nginx Ubuntu 20.10 Server

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

Configure phpmyadmin

Selanjutnya konfigurasi menggunakan dbconfig-common, pilih Yes

dbconfig

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

Pass phpmyadmin

Jika selanjutnya muncul error di bawah ini, maka pilih abort

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
phpMyAdmin

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 :

Minta Password

Gunakan user : adul
Password : katakunci

Leave a Comment

Your email address will not be published. Required fields are marked *