GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di Debian 9

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:

  1. Perbarui indeks paket dan tingkatkan paket sistem ke versi terbaru:

    sudo apt update && sudo apt upgrade
  2. Instal paket phpMyAdmin dari repositori default Debian dengan mengetik:

    sudo apt install phpmyadmin

    Pemasang akan meminta Anda memilih server web yang harus dikonfigurasi secara otomatis untuk menjalankan phpMyAdmin, pilih apache dengan menekan Space lalu Enter .

    Selanjutnya, Anda akan ditanya apakah akan menggunakan dbconfig-common untuk mengatur database, pilih Yes dan tekan Enter .

    Masukkan kata sandi untuk phpMyAdmin untuk mendaftar ke database, pilih OK dan tekan Enter .

    Konfirmasi kata sandi, pilih OK dan tekan Enter .

  3. 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:

CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
Kami menamai pengguna administratif 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.
Debian
  1. Cara Menginstal dan Mengamankan MongoDB di Debian 11

  2. Cara Menginstal dan Mengamankan MariaDB di Debian 11

  3. Instal phpMyAdmin di Debian 11 dengan Apache

  1. Cara Memasang dan Mengamankan phpMyAdmin di Debian 9

  2. Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di Ubuntu 18.04

  3. Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di CentOS 7

  1. Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di Debian 9

  2. Cara Menginstal dan Mengkonfigurasi Drupal dengan Apache di Debian 9

  3. Cara Memasang dan Mengamankan phpMyAdmin di Debian 11