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-gettextPada 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 mbstringkemudian mulai ulang apache agar perubahan dapat terdeteksi
$ sudo systemctl restart apache2Sekarang 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 mysqlLalu perksa metode autentikasi yang mana yang kamu gunakan, jalankan dengan command berikut
Mysql> SELECT user,authentication_strng,plugin,host FROM mysql.user;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 mysqlOiya jika kamu mengaktifkan otentikasi kata sandi, maka kamu harus menggunakan command lain untuk mengakses shell mysql
$ mysql –u root –pDan 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> exitSekarang 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.confKemudian 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 apache2Seorang 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/.htaccessSetelah itu akan muncul kotak dialog kemudian masukkan beberapa informasi seperti dibawah ini
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 dwimartaNanti 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 martaDan 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 …