phpMyAdmin adalah aplikasi berbasis PHP open-source gratis yang dirancang untuk menyederhanakan 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 menjelaskan langkah-langkah yang diperlukan untuk menginstal dan mengamankan phpMyAdmin di Debian 9 dengan server web Apache.
Prasyarat #
Pastikan Anda telah memenuhi persyaratan berikut sebelum melanjutkan dengan tutorial ini:
- Sudah menginstal LAMP (Linux, Apache, MySQL, dan PHP) di server Debian Anda.
 - Masuk sebagai pengguna dengan hak istimewa sudo.
 
Meskipun opsional, 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 Debian 9.
Menginstal phpMyAdmin #
Lakukan langkah-langkah berikut untuk menginstal phpMyAdmin di Debian 9:
-  
Perbarui indeks paket dan tingkatkan paket sistem ke versi terbaru:
sudo apt update && sudo apt upgrade -  
Instal paket phpMyAdmin dari repositori default Debian dengan mengetik:
sudo apt install phpmyadminPemasang akan meminta Anda memilih server web yang harus dikonfigurasi secara otomatis untuk menjalankan phpMyAdmin, pilih apache dengan menekan
SpacelaluEnter.
 Selanjutnya, Anda akan ditanya apakah akan menggunakan
dbconfig-commonuntuk mengatur database, pilihYesdan tekanEnter.
 Masukkan kata sandi untuk phpMyAdmin untuk mendaftar ke database, pilih
OKdan tekanEnter.
 Konfirmasi kata sandi, pilih
OKdan tekanEnter.
 -  
Setelah proses instalasi selesai, restart Apache agar perubahan diterapkan:
sudo systemctl restart apache2 
Membuat Pengguna MySQL Administratif #
 Dalam sistem Debian yang menjalankan MariaDB 10.1 (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:
Kami menamai pengguna administratifCREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
padmin . Anda dapat menggunakan nama apa pun yang Anda suka, pastikan untuk menetapkan 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 otentikasi 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.