Cara Install phpMyAdmin di Ubuntu 20.04 Server

Manajemen database MySQL pada Ubuntu Server sebenarnya bisa dilakukan melalui command line interface. Namun sebagian besar pengguna tidak familiar dengan perintah-perintahnya. Bahkan kebanyakan user juga tidak memahami caranya jika menggunakan command line. Oleh karena itu kita perlu install phpMyAdmin di Ubuntu 20.04 server untuk mempermudah manajemen database kita.

phpMyAdmin merupakan aplikasi manajemen database yang berbasis web PHP. Untuk menginstall phpMyAdmin kita memerlukan web server agar bisa berjalan pada server kita. Selain itu, kita juga perlu menginstall beberapa prasyarat lainnya. Untuk itu sebelum melakukan instalasi phpMyAdmin silahkan lakukan prasyarat berikut.

Prasyarat:

Berikut ini adalah cara install phpMyAdmin di Ubuntu Server 20.04 dengan Nginx (LEMP).

1. Install phpMyAdmin Menggunakan APT

Perbarui database repositori:

$ sudo apt update

Install phpMyAdmin dengan perintah:

$ sudo apt -y install phpmyadmin

Akan muncul tampilan Configuring phpMyAdmin dengan 2 pilihan yaitu apache2 dan lighttpd. Jangan pilih keduanya karena kita menggunakan Nginx. Tekan TAB pada keyboard untuk mengarahkan ke pilihan OK. Tekan Enter.

Ppsi konfigurasi otomatis web phpmyadmin

Kemudian ada pertanyaan Configure database with dbconfig-common. Pilih Yes. Lalu isi password baru untuk administrator phpmyadmin. Lalu tekan Enter. Kemudian masukkan lagi password yang sama.

2. Ubah Hak Akses Direktori Konfigurasi phpMyAdmin

Ubah kepemilikan direktori /var/lib/phpmyadmin/ untuk www-data:

$ sudo chown www-data:www-data -R /var/lib/phpmyadmin/

Ubah juga file kepemilikan file konfigurasi:

$ sudo chown root:www-data /etc/phpmyadmin/config-db.php

3. Buat Link Simbolik Direktori Web phpMyAdmin ke Dokumen Root

Pada tutorial LEMP yang menjadi prasyarat sebelum melakukan tutorial di artikel ini kita telah melakukan konfigurasi server block untuk domain itkoding.com pada file /etc/nginx/sites-available/itkoding.com. Letak dokumen root pada konfigurasi tersebut ditunjukkan dengan parameter root /var/www/itkoding; yang artinya terletak pada direktori /var/www/itkoding.

Kita akan membuat link simbolik dari direktori web phpMyAdmin yaitu di /usr/share/phpmyadmin/ menuju dokumen root /var/www/itkoding.

$ sudo ln -s /usr/share/phpmyadmin /var/www/itkoding/phpmyadmin

Nah, sekarang kita bisa mengakses phpMyAdmin dari domain kita lalu diikuti dengan /phpmyadmin. Contohnya: itkoding.com/phpmyadmin.

Halaman login phpmyadmin di ubuntu

Gunakan username phpmyadmin dengan password adalah password yang kita masukkan saat instalasi phpmyadmin di langkah 1. Saya sarankan untuk tidak menggunakan username default phpmyadmin sebagai user administratornya. Sebaiknya buat username baru untuk manajemen database di phpmyadmin.

4. Membuat Username Baru untuk Administrator phpMyAdmin

Masuk ke mysql:

$ sudo mariadb

Buat user dan password baru:

mysql> CREATE USER 'adminbaruku'@'localhost' IDENTIFIED BY 'passwordbaruku';

Beri semua hak pada semua database untuk user tersebut pada mySQL:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'adminbaruku'@'localhost' WITH GRANT OPTION;

Lakukan flush:

mysql> FLUSH PRIVILEGES;

Tutup mySQL:

mysql> EXIT;

Sekarang kita telah memiliki user database baru yaitu adminbaruku dengan password adalah passwordbaruku. Silahkan sesuaikan dengan keinginan anda. Kita bisa login ke halaman phpMyAdmin dengan user dan password tersebut. Tentunya user tersebut mempunyai akses full terhadap database mulai dari membuat database, menghapus database, edit tabel, membuat user dan sebagainya.

Tampilan phpmyadmin setelah login

Kenapa kita tidak bisa login root phpmyadmin di Ubuntu Server 20.04?

Kita tidak bisa login sebagai root pada phpMyAdmin karena sejak versi MySQL 5.7 user root menggunakan auth_socket untuk otentikasi sebagai bentuk keamanan di database. Dengan fitur tersebut aplikasi yang mengakses database dengan remote login seperti phpMyAdmin tidak akan bisa mengakses user root.

auth_socket tidak menggunakan password melainkan menggunakan unix socket yang akan langsung login jika user di Ubuntu kita cocok dengan user pada database. Misalnya pada database pasti memiliki user root begitu juga pada Ubuntu pasti punya user root (sudoer). Tanpa login password mysql, kita bisa langsung mengakses root mysql dengan perintah sudo mysql.

Oleh karena itu, pada langkah ke-4 di atas kita menambahkan user baru sebagai ganti root untuk manajemen database di PMA. Sebenarnya ada cara untuk mengaktifkan akses root melalui PMA yaitu dengan menonaktifkan auth_socket. Namun hal itu berdampak buruk bagi keamanan server kita dan tidak disarankan.

Bagaimana jika kita tidak memiliki domain?

Kita hanya perlu membuat link simbolik di root dokumen server block default nginx. Jika anda mengikuti tutorial prasyarat instalasi LEMP maka root dokumen berada di /var/www/html. Kita hanya perlu membuat link simbolik di sana:

$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Nah, setelah itu PMA bisa kita akses melalui IP address anda dengan format url ip_address/phpmyadmin.

Rekomendasi

Sebaiknya kita membuat subdomain dan server block nginx tersendiri untuk web PMA agar tidak mempengaruhi website utama. Tentunya sangat disarankan untuk menggunakan HTTPS untuk halaman PMA. Tutorial HTTPS SSL dapat anda baca pada tulisan saya tentang instalasi SSL gratis Let’s Encrypt Nginx Ubuntu.

Jika ada masalah atau konfigurasi yang kurang jelas mari kita diskusikan di kolom komentar.

M. Hernawan
Web developer yang juga suka dengan dunia sysadmin. Pernah belajar Teknik Informatika di Indonesia.

Kirim Komentar