phpMyAdmin adalah alat administrasi sumber terbuka dan gratis untuk MySQL dan MariaDB. phpMyAdmin adalah alat berbasis web yang memungkinkan Anda mengelola database MySQL atau MariaDB dengan mudah. Anda dapat melakukan tugas administrasi seperti membuat, mengedit, atau menghapus database, mengimpor dan mengekspor cadangan database, menjalankan pencarian dan mengelola pengguna dan izin menggunakan phpMyAdmin.
Fitur
- Dukungan multi-bahasa.
- Impor data dari CSV dan SQL.
- Menyediakan grafik langsung untuk memantau aktivitas server MySQL seperti koneksi, proses, penggunaan CPU/memori, dll.
- Menelusuri secara global dalam database atau subsetnya.
- Antarmuka web yang sederhana dan mudah digunakan.
- Ekspor data ke berbagai format seperti, CSV, SQL, XML, PDF, Word, Excel, LaTeX, dan lainnya.
Dalam tutorial ini, kami akan menjelaskan cara menginstal dan mengamankan phpMyAdmin di server Ubuntu 18.04.
Persyaratan
- Server yang menjalankan Ubuntu 18.04.
- Pengguna non-root dengan hak istimewa sudo.
Instal phpMyAdmin
Sebelum memulai, Anda perlu menginstal Apache dan MySQL ke server Anda. Anda dapat menginstalnya dengan perintah berikut:
sudo apt-get install apache2 mysql-server -y
Secara default, phpMyAdmin tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu menambahkan repositori PHP pihak ketiga ke sistem Anda.
Anda dapat menambahkannya hanya dengan menjalankan perintah berikut:
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
Setelah repositori ditambahkan, instal phpMyAdmin dengan menjalankan perintah berikut:
sudo apt-get install phpmyadmin php-mbstring php-gettext -y
Selama instalasi, Anda akan diminta untuk memilih server web seperti yang ditunjukkan di bawah ini:
Pilih Apache dan klik OK tombol. Anda akan diarahkan ke halaman berikut:
Sekarang, klik Ya tombol. Anda akan melihat halaman berikut:
Di sini, berikan kata sandi aplikasi MySQL Anda untuk phpMyAdmin dan klik tombol OK tombol.
Setelah phpMyAdmin terinstal, aktifkan ekstensi mbstring PHP dengan perintah berikut:
sudo phpenmod mbstring
Selanjutnya, restart layanan Apache untuk menerapkan perubahan:
sudo systemctl restart apache2
Konfigurasikan Otentikasi Pengguna
phpMyAdmin secara otomatis membuat pengguna database bernama phpmyadmin dengan sandi administratif yang Anda tetapkan selama penginstalan. Namun, disarankan untuk membuat pengguna terpisah untuk mengelola database melalui antarmuka web phpMyAdmin. Di MariaDB versi terbaru, pengguna MySQL root disetel untuk mengautentikasi menggunakan plugin auth_socket secara default. Jadi, jika Anda ingin masuk ke phpMyAdmin sebagai pengguna MySQL root Anda, Anda perlu mengganti metode otentikasinya dari auth_socket ke mysql_native_password.
Pertama, masuk ke shell MySQL dengan perintah berikut:
sudo mysql
Selanjutnya, periksa metode otentikasi pengguna MySQL dengan perintah berikut:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Keluaran:
+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.01 sec)
Pada output di atas, Anda akan melihat bahwa pengguna root menggunakan plugin auth_socket.
Anda dapat mengonfigurasi akun root untuk mengautentikasi dengan kata sandi dengan menjalankan perintah berikut:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Selanjutnya, siram hak istimewa dengan perintah berikut:
mysql> FLUSH PRIVILEGES;
Sekarang, periksa metode otentikasi dengan menjalankan perintah berikut:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Keluaran:
+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.01 sec)
Selanjutnya, buat pengguna terpisah dengan nama phpmyadminuser untuk terhubung ke phpMyAdmin.
Pertama, masuk ke shell MySQL:
mysql -u root -p
Masukkan kata sandi root Anda, lalu buat pengguna dengan perintah berikut:
MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';
Selanjutnya, berikan hak istimewa yang sesuai untuk phpmyadminuser dengan perintah berikut:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;
Terakhir, keluar dari shell MySQL dengan perintah berikut:
MariaDB [(none)]> exit;
Sekarang, buka browser web Anda dan ketik URL http://your-server-ip/phpmyadmin. Anda akan diarahkan ke halaman berikut:
Di sini, berikan nama pengguna dan kata sandi Anda. Kemudian, klik tombol Buka tombol. Anda akan melihat dasbor PhpMyAdmin di halaman berikut:
PhpMyAdmin Aman
phpMyAdmin sekarang diinstal dan dikonfigurasi. Namun, disarankan untuk mengamankan instance phpMyAdmin Anda untuk mencegah akses yang tidak sah. Anda dapat mengamankan phpMyAdmin dengan menggunakan fungsi otentikasi dan otorisasi .htaccess bawaan Apache.
Untuk melakukannya, pertama-tama aktifkan penggunaan file .htaccess override dengan mengedit file phpmyadmin.conf:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Lakukan perubahan berikut:
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All
Simpan dan tutup file. Kemudian, restart layanan Apache untuk menerapkan perubahan:
sudo systemctl restart apache2
Selanjutnya, buat file .htaccess di dalam direktori phpmyadmin:
sudo nano /usr/share/phpmyadmin/.htaccess
Tambahkan baris berikut:
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
Simpan dan tutup file. Kemudian, buat pengguna bernama admin dengan utilitas htpasswd:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin
Keluaran:
New password: Re-type new password: Adding password for user admin
Instance phpMyAdmin Anda sekarang diamankan dengan lapisan otentikasi tambahan.
Sekarang, buka browser web Anda dan ketik URL http://your-server-ip/phpmyadmin. Anda akan diarahkan ke nama akun dan kata sandi tambahan yang baru saja Anda konfigurasikan seperti yang ditunjukkan di bawah ini:
Sekarang, berikan nama pengguna dan sandi Anda, lalu klik Log Dalam tombol. Anda harus diarahkan ke halaman otentikasi phpMyAdmin biasa.
Tautan
- phpMyAdmin