phpMyAdmin adalah alat open source berbasis PHP untuk mengelola server MySQL dan MariaDB melalui antarmuka berbasis web.

phpMyAdmin memungkinkan Anda untuk berinteraksi dengan database MySQL, mengelola akun dan hak istimewa pengguna, menjalankan pernyataan SQL, mengimpor dan mengekspor data dalam berbagai format data dan banyak lagi.

Dalam tutorial ini, kita akan membahas langkah-langkah yang diperlukan untuk menginstal dan mengamankan phpMyAdmin dengan Apache pada Ubuntu 18.04.

Prasyarat

Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan dengan tutorial ini:

Instal phpMyAdmin

Untuk menginstal phpMyAdmin pada sistem Ubuntu 18.04, lakukan langkah-langkah berikut:

    1. Perbarui Index paket repository dan lakukan upgrade
      sudo apt update && sudo apt upgrade
    2. Install phpMyAdmin dari repositori resmi Ubuntu menggunakan perintah berikut
      sudo apt install phpmyadmin

      Installer akan meminta Anda untuk memilih server web yang akan dikonfigurasi secara otomatis untuk menjalankan phpMyAdmin, pilih apache dengan menekan tombol spasi dan kemudian Enter.

      Konfigurasi web server phpmyadmin
      Konfigurasi web server phpmyadmin

      Selanjutnya, Anda akan ditanya apakah akan menggunakan dbconfig-common untuk mengatur database, pilih Yes dan tekan Enter.
      Konfigurasi web server phpmyadmin 2
      Masukkan kata sandi untuk phpMyAdmin untuk mendaftar dengan database, pilih OK dan tekan Enter.

      Konfigurasi web server phpmyadmin 3

      You will be prompted to confirm the password, enter the same password, select OK and press Enter.
      Konfigurasi web server phpmyadmin 4

    3. Once the installation process is complete, restart Apache for changes to take effect:
      sudo systemctl restart apache2

Buat User Administratif MySQL

Dalam sistem Ubuntu yang menjalankan MySQL 5.7 (dan yang lebih baru), pengguna root secara default diatur untuk menggunakan metode otentikasi auth_socket untuk log in ke MySQL.

Plugin auth_socket secara otomatis akan mengotentikasi pengguna yang terhubung dari localhost melalui file socket Unix. Metode ini memungkinkan Anda log in secara otomatis dari localhost, namun tidak dapat mengakses MySQL dari jaringan luar sebagai root.

Alih-alih mengubah metode otentikasi untuk root MySQL, kita akan membuat user administratif baru. User baru ini akan memiliki hak yang sama dengan pengguna root dan akan diatur untuk menggunakan metode otentikasi mysql_native_password.

Kita akan menggunakan user ini untuk masuk ke dasbor phpMyAdmin dan melakukan tugas administrasi di server MySQL atau MariaDB.

Mulai dengan masuk ke server MySQL sebagai pengguna root:

sudo mysql

Dari dalam shell MySQL, jalankan perintah berikut yang akan membuat user administratif baru dan memberikan izin yang sesuai:

CREATE USER 'pmauser'@'localhost' IDENTIFIED BY 'ganti-dengan-password';
GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'localhost' WITH GRANT OPTION;

Dalam contoh kami, kami memberi nama pmauser untuk pengguna baru. Anda dapat menggunakan nama apa pun yang Anda suka, pastikan juga untuk mengatur kata sandi yang kuat.

Mengakses phpMyAdmin

Untuk mengakses antarmuka phpMyAdmin buka browser dan ketikkan nama domain server Anda atau alamat IP publik diikuti oleh /phpmyadmin:

https://domain_atau_alamat_ip/phpmyadmin

Masukkan kredensial login pengguna administratif yang Anda buat sebelumnya dan klik Go.

phpmyadmin login

Setelah masuk, Anda akan melihat dasbor phpMyAdmin, yang akan terlihat seperti ini:

phpmyadmin interface di Ubuntu

Cara Mengamankan phpMyAdmin

Untuk lapisan keamanan tambahan, kita akan melindungi direktori phpMyAdmin dengan kata sandi.

Mulai dengan membuat file otentikasi baru menggunakan tool htpasswd. Kita akan menyimpan file .htpasswd di direktori /etc/phpMyAdmin:

sudo htpasswd -c /etc/phpMyAdmin/.htpasswd pmadmin

Dalam contoh ini kami membuat user dengan username pmadmin. Anda dapat memilih username apapun yang Anda inginkan.

Perintah di atas juga akan meminta Anda untuk memasukkan dan mengonfirmasi kata sandi user.

New password: 
Re-type new password: 
Adding password for user pmadmin

Kemudian, jika Anda perlu menambahkan pengguna tambahan, gunakan perintah yang sama tanpa tanda -c:

sudo htpasswd /etc/phpMyAdmin/.htpasswd adminlain

Langkah selanjutnya adalah mengkonfigurasi Apache agar dapat melindungi direktori phpMyAdmin dengan kata sandi dan menggunakan .htpasswd .

Untuk melindungi direktori phpMyAdmin dengan kata sandi, buka file phpMyAdmin.conf yang secara otomatis dibuat selama instalasi phpMyAdmin:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

Dan masukkan baris-baris berikut yang disorot dengan warna kuning:

<Directory /usr/share/phpmyadmin>
    Options  +FollowSymLinks +Multiviews +Indexes  # edit this line
    DirectoryIndex index.php

    AllowOverride None
    AuthType basic
    AuthName "Authentication Required"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

    <IfModule mod_php5.c>
    ...

Simpan file dan restart layanan Apache agar perubahan diterapkan:

sudo systemctl restart httpd

Saat mengakses phpMyAdmin, Anda akan diminta untuk memasukkan kredensial masuk pengguna yang sebelumnya Anda buat:

https://domain_atau_alamat_ip/phpmyadmin

phpmyadmin basic auth

Masukkan kredensial login, (dalam contoh artikel ini, pmadmin) dan klik sign in, Selanjutnya, masuk ke halaman login phpMyAdmin dan masuk dengan user yang telah Anda buat sebelumnya (dalam contoh artikel ini, nama user pmauser)

phpmyadmin login

 

Kesimpulan

Anda telah berhasil menginstal phpMyAdmin di server Ubuntu 18.04 Anda. Menggunakan phpMyAdmin dapat mempermudah Anda untuk membuat database, membuat user dan tabel dan melakukan berbagai operasi MySQL.