Dwi Marta Marwatul Wardah
Latest posts by Dwi Marta Marwatul Wardah (see all)

Pengantar

Saat ini banyak sekali user yang menginginkan efektifitas dan fungsionalitas sistem  manajemen data seperti mysql, kebanyakan memang bisa jadi kurang nyaman ketika mengelola  mysql menggunakan command line.

PHPmyadmin hadir untuk mengatasi hal tersebut, karena melalui sistem ini user bisa memiliki ruang atau portal untuk mengelola database. Oleh karena itu dalam tutorial ini kita akan membahas tentang tutorial menginstall dan mengamankan phpmyadmin dengan aman untuk mengelola database pada sistem Ubuntu 18.04. 

Let’s go…

Prasyarat

Namun beberapa hal harus kamu penuhi dulu sob sebelum melakukan tutorial ini:

-       Server kamu memiliki akses user non-root dengan hak sudo.

-       Pastikan kamu sudah menginstall LAMP Stack di server Ubuntu 18.04

Jika sudah, maka kamu siap untuk menjalankan tutorial ini. Yuk cusss…

Langkah 1, Menginstal PHPmyadmin

Mulai dengan memperbarui indeks paket servermu lalu gunakan system apt untuk menginstalnya dalam sistem mu

$ sudo apt update
$ sudo apt install phpmyadmin php-mbstring php-gettext

Pada langkah ini kamu akan dimintai konfirmasi untuk mengkonfigurasi instalasi.

-       Nah untuk server pilihlah Apache2

-       Kemudian pilih [yes] ketika ditanya apakah akan menggunakan [dbconfig-common] untuk mengatur database

-       Lalu kamu akan diminta untuk memilih dan mengkonfirmasi kata sandi aplikasi Mysql untuk phpmyadmin

Proses instalasi menambahkan file konfigurasi Apache phpmyadmin pada direktori [/etec/apache2/conf-enabled/]

Kamu perlu mengaktifkan mbstring secara eksplisit dengan melakukan command

$ sudo phpenmod mbstring

kemudian mulai ulang apache agar perubahan dapat terdeteksi

$ sudo systemctl restart apache2

Sekarang phpmyadmin diinstal dan dikonfigurasi, namun sebelum kamu dapat masuk dan mulai berinteraksi dengan database mysql, kamu perlu memastikan bahwa user mysql mu memiliki hak privileges yang diperlukan untuk berinteraksi dengan program.

Langkah 2, Menyesuaikan Otentikasi dan Hak Privileges

Ketika kamu menginstall phpmyadmin pada server, maka secara otomatis membuat user database yaitu phpmyadmin yang melakukan proses dasar tertentu pada program. Jadi sebaiknya kamu masuk sebagai pengguna mysql-root atau user yang ditujukan untuk mengelola database melalui phpmyadmin. 

Mengkonfigurasi Akses Kata Sandi Untuk Akun Root Mysql

Dalam sistem operasi server Ubuntu yang menjalankan mysql 5.7, root user mysql diatur untuk mengotentikasi menggunakan plugin auth_socket secara otomatis daripada mengotentikasi dengan kata sandi. Sehingga memungkinkan beberapa keamanan dalam berbagai hal, tapi bisa jadi akan sedikit mempersulit kamu ketika program eksternal memerlukan izin untuk mengakses.

Untuk masuk pada phpmyadmin sebagai root mysql mu, kamu harus mengubah autentikasi dari [auth_socket] ke [mysql_native_password] lakukan dengan menggunakan command berikut

$ sudo mysql

Lalu perksa metode autentikasi yang mana yang kamu gunakan, jalankan dengan command berikut

Mysql> SELECT user,authentication_strng,plugin,host FROM mysql.user;

nanti akan keluar gambar seperti ini

Untuk mengautentikasi dengan kata sandi, jalankan command ALTER USER, dan pastikan kamu memilih kata sandi yang kuat:

Mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password_yang_kuat’;

Lalu jalankan command FLUSH PRIVILEGES untuk memuat ulang server dan menerapkan perubahan baru

Mysql> SELECT user,autehentication_string,plugin,host FROM mysql.user;

Mengkonfigurasi Akses Kata Sandi Untuk Penggunaan MySQL

Untuk mengakses shell mysql gunakan command berikut untuk memulai

$ sudo mysql

Oiya jika kamu mengaktifkan otentikasi kata sandi, maka kamu harus menggunakan command lain untuk mengakses shell mysql

$ mysql –u root –p

Dan berlanjut pada pembuatan user dan password pada command ini

Mysql> CREATE USER ‘root’@’localhost’ IDENTIFIED BY ‘password_yang_kuat’;

Nah kemudian kamu bisa menggunakan user mu untuk semua kebutuhan dalam database serta dapat menambah, mengubah, menghapus user dengan command ini

Mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ WITH GRANT OPTION;

Setelah semuanya selesai keluarlah dari shell dengan command

Mysql> exit

Sekarang kamu sudah bisa mengakses antar muka web dari phpmyadmin, dengan mengunjungi domain server dengan nama domain atau ip mu dan kata sandi yang sudah di konfigurasi.

Langkah 3, Mengamankan Instance PHPmyadmin

Karena sifatnya umum, oleh karena itu phpmyadmin ini mudah untuk diserang. Sehingga perlu pengamanan untuk mencegah yang tidak diinginkan. Salah satu cara yang paling mudah adalah dengan penempatan gateway pada setiap aplikasi. Dengan menggunakan .htaccess yang berfungsi meng autentikasi dan otorisasi bawaan apache 

Terlebih dahulu kamu harus mengaktifkan penggunaan .htacess Untuk melakukan ini, kamu harus terlebih dahulu mengaktifkan penggunaan .htacess dengan mengedit file konfigurasi Apache mu.

Jalankan command berikut ini:

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Kemudian akan muncul kotak dialog maka tambahkan AllowOverride All, lebih jelasnya ada pada gambar berikut:

Setelah itu simpan dan keluar dari file, untuk menerapkan perubahan yang kamu buat, restart

 apache dengan command berikut

$ sudo systemctl restart apache2

Seorang kamu sudah mengaktifkan htaccess untuk aplikasi mu dan membuatnya benar-benar

 menerapkan keamanan .

Agar berhasil kamu harus membuat file dalam direktori aplikasi. Kamu dapat membuat file 

yang diperlukan dan membuka editor teks dengan hak akses root

$ sudo nano /usr/share/phpmyadmin/.htaccess

Setelah itu akan muncul kotak dialog kemudian masukkan beberapa informasi seperti dibawah ini

masukkan informasiseperti pada gambar berikut

Penjelasan dari masing-masing informasi ini yaitu:

  • AuthType Basic: Baris ini menentukan tipe otentikasi yang Kamu terapkan. Jenis ini akan menerapkan otentikasi kata sandi menggunakan file kata sandi.
  • AuthName: Ini mengatur pesan untuk kotak dialog otentikasi. Kamu harus menyimpan generik ini sehingga pengguna yang tidak sah tidak akan mendapatkan informasi apapun tentang apa yang dilindungi.
  • AuthUserFile: Ini mengatur lokasi file kata sandi yang akan digunakan untuk otentikasi. Ini harus di luar direktori yang sedang dilayani. Kami akan segera membuat file ini.
  • Require valid-user: Ini menentukan bahwa hanya pengguna yang diautentikasi yang akan diberikan akses ke sumber ini. Inilah yang sebenarnya menghentikan pengguna yang tidak sah untuk masuk. (Sumber:digitalocean.com)

Setelah itu simpan lalu keluar dari file

Lokasi yang kamu pilih untuk file yaitu /etc/phpmyadmin/.htpasswd, nah sekarang kamu dapat membuat file dengan memberikan user awal dengan htpasswd, lebih jelasnya seperti command dibawah ini:

$ sudo htpasswd –c /etc/phpmyadmin/.htpasswd dwimarta

Nanti kamu akan diminta kata sandi untuk user yang kamu buat. Dan kalau kamu ingin menambah user lagi kamu bisa melakukan command yang sama tapi tanpa [-c]

$ sudo htpasswd /etc/phpmyadmin/.htpasswd marta

Dan selanjutnya prosesnya sama seperti membuat akun sebelumnya

Nah ketika kamu mengakses subdirektori phpMyAdmin, kamu akan diminta akun dan kata sandi tambahan yg baru saja dikonfigurasi. Setelah otentikasi Apache, Kamu akan dibawa ke halaman otentikasi phpMyAdmin biasa untuk memasukkan kredensial MySQL Kamu.

Kesimpulan/Penutup

Setelah semua ini kamu sudah bisa menggunakan phpmyadmin untuk mengelola database mu lewat web.

Selamat mencoba …

Apakah artikel ini membantu, Sob?

Berikan rating buat artikel ini!

Rata-rata rating 5 / 5. Dari total vote 1

Pertamax, Sob! Jadilah pertama yang memberi vote artikel ini!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?