phpMyAdmin adalah aplikasi PHP open-source yang dirancang untuk menangani administrasi server MySQL dan MariaDB melalui antarmuka berbasis web.
phpMyAdmin memungkinkan Anda untuk mengelola database MySQL, akun pengguna dan hak istimewa, mengeksekusi pernyataan SQL, mengimpor dan mengekspor data dalam berbagai format data dan banyak lagi.
Tutorial ini mencakup langkah-langkah yang diperlukan untuk menginstal dan mengamankan phpMyAdmin dengan Apache di Ubuntu 18.04.
Prasyarat #
Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan tutorial ini:
- Sudah menginstal LAMP (Linux, Apache, MySQL, dan PHP) di server Ubuntu Anda.
- Masuk sebagai pengguna dengan hak istimewa sudo.
Meskipun tidak perlu, disarankan untuk mengakses instalasi phpMyAdmin Anda melalui HTTPS. Jika domain Anda belum dilindungi oleh SSL, Anda dapat mengikuti panduan ini dan mengamankan Apache Anda dengan Let's Encrypt di Ubuntu 18.04.
Menginstal phpMyAdmin #
Untuk menginstal phpMyAdmin di server Ubuntu 18.04 Anda, ikuti langkah-langkah berikut:
-
Perbarui indeks paket dan tingkatkan paket sistem ke versi terbaru:
sudo apt update && sudo apt upgrade
-
Instal paket phpMyAdmin dari repositori default Ubuntu dengan perintah berikut:
sudo apt install phpmyadmin
Pemasang akan meminta Anda untuk memilih server web yang harus dikonfigurasi secara otomatis untuk menjalankan phpMyAdmin, pilih apache dengan menekan
Space
laluEnter
.Selanjutnya, Anda akan ditanya apakah akan menggunakan
dbconfig-common
untuk mengatur database, pilihYes
dan tekanEnter
.Masukkan kata sandi untuk phpMyAdmin untuk mendaftar ke database, pilih
OK
dan tekanEnter
.Anda akan diminta untuk mengkonfirmasi kata sandi, masukkan kata sandi yang sama, pilih
OK
dan tekanEnter
. -
Setelah proses instalasi selesai, restart Apache agar perubahan diterapkan:
sudo systemctl restart apache2
Buat Pengguna MySQL Administratif #
Dalam sistem Ubuntu yang menjalankan MySQL 5.7 (dan yang lebih baru), pengguna root diatur untuk menggunakan auth_socket
metode otentikasi secara default.
auth_socket
plugin mengotentikasi pengguna yang terhubung dari localhost melalui file soket Unix. Ini berarti Anda tidak dapat mengautentikasi sebagai root dengan memberikan kata sandi.
Alih-alih mengubah metode otentikasi untuk root pengguna MySQL , kami akan membuat pengguna MySQL administratif baru. Pengguna ini akan memiliki hak istimewa yang sama dengan pengguna root dan akan disetel untuk menggunakan mysql_native_password
metode otentikasi.
Kami akan menggunakan pengguna ini untuk masuk ke dasbor phpMyAdmin dan melakukan tugas administratif sebelumnya di server MySQL atau MariaDB kami.
Mulailah dengan masuk ke server MySQL sebagai pengguna root:
sudo mysql
Dari dalam shell MySQL, jalankan perintah berikut yang akan membuat pengguna administratif baru dan memberikan izin yang sesuai:
CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
Dalam contoh kami, kami menamai pengguna administratif padmin
. Anda dapat menggunakan nama apa pun yang Anda suka, pastikan untuk menyetel kata sandi yang kuat.
Mengakses phpMyAdmin #
Untuk mengakses antarmuka phpMyAdmin buka browser favorit Anda dan ketik nama domain server Anda atau alamat IP publik diikuti dengan /phpmyadmin
:
https://your_domain_or_ip_address/phpmyadmin
Masukkan kredensial login pengguna administratif yang Anda buat sebelumnya dan klik Go
.
Setelah Anda masuk, Anda akan melihat dasbor phpMyAdmin, yang akan terlihat seperti ini:
Mengamankan phpMyAdmin #
Untuk menambahkan lapisan keamanan ekstra, kami akan melindungi direktori phpMyAdmin dengan sandi dengan menyiapkan autentikasi dasar.
Pertama kita akan membuat file kata sandi dengan pengguna menggunakan htpasswd
alat yang disertakan dengan paket Apache. Kami akan menyimpan .htpasswd
file di /etc/phpmyadmin
direktori:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin
Dalam contoh ini kami membuat pengguna bernama padmin
. Anda dapat memilih nama pengguna apa saja, tidak harus sama dengan pengguna MySQL administratif.
Perintah di atas akan meminta Anda untuk memasukkan dan mengonfirmasi kata sandi pengguna.
New password:
Re-type new password:
Adding password for user padmin
Jika Anda ingin menambahkan pengguna tambahan, Anda dapat menggunakan perintah yang sama tanpa -c
bendera:
sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2
Langkah selanjutnya adalah mengkonfigurasi Apache untuk memproteksi password direktori phpMyAdmin dan menggunakan .htpasswd
berkas.
Untuk melakukannya buka phpmyadmin.conf
file yang secara otomatis dibuat selama instalasi phpMyAdmin:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Dan edit / sisipkan baris berikut yang disorot dengan warna kuning:
/etc/apache2/conf-available/phpmyadmin.conf<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 dan tutup file dan mulai ulang Apache agar perubahan diterapkan:
sudo systemctl restart apache2
Sekarang, saat mengakses phpMyAdmin Anda, Anda akan diminta untuk memasukkan kredensial login dari pengguna yang Anda buat sebelumnya:
https://your_domain_or_ip_address/phpmyadmin
Setelah memasukkan otentikasi dasar, Anda akan dibawa ke halaman login phpMyAdmin di mana Anda harus memasukkan kredensial login pengguna administratif MySQL Anda.
Ini juga merupakan ide yang baik untuk mengubah/phpmyadmin
alias untuk sesuatu yang lebih unik dan aman.