GNU/Linux >> Belajar Linux >  >> Debian

Cara Memasang dan Mengamankan phpMyAdmin di Debian 11

phpMyAdmin adalah aplikasi gratis, open-source, dan berbasis web yang digunakan untuk mengelola database MySQL dan MariaDB dari antarmuka web. Membuat dan mengelola database dari antarmuka baris perintah sangat sulit bagi pengguna pemula. phpMyAdmin menyediakan cara yang lebih mudah untuk mengelola database MySQL, akun pengguna, dan hak istimewa, mengeksekusi pernyataan SQL, mengimpor dan mengekspor data melalui browser web.

Dalam posting ini, kami akan menunjukkan cara menginstal dan mengamankan alat administrasi database phpMyAdmin di Debian 11.

Prasyarat

  • Server yang menjalankan Debian 11.
  • Kata sandi root dikonfigurasi di server.

Memulai

Sebelum memulai, sebaiknya perbarui paket sistem Anda ke versi terbaru. Anda dapat memperbarui semua paket menggunakan perintah berikut:

apt-get update -y

Setelah sistem Anda diperbarui, Anda dapat melanjutkan ke langkah berikutnya.

Instal Server LAMP

phpMyAdmin adalah aplikasi berbasis PHP dan berjalan di server web. Jadi, Anda perlu menginstal server LAMP di server Anda. Anda dapat menginstalnya menggunakan perintah berikut:

apt-get install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -y

Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasi phpMyAdmin

Pertama, unduh versi terbaru phpMyAdmin dari situs resminya menggunakan perintah berikut:

wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip

Setelah unduhan selesai, unzip file yang diunduh dengan perintah berikut:

unzip phpMyAdmin-5.1.1-all-languages.zip

Selanjutnya, pindahkan direktori hasil ekstrak ke /usr/share dengan perintah berikut:

mv phpMyAdmin-5.1.1-all-languages /usr/share/phpmyadmin

Selanjutnya, buat direktori yang diperlukan dengan perintah berikut:

mkdir -p /var/lib/phpmyadmin/tmp

Selanjutnya, atur kepemilikan yang tepat ke direktori phpMyAdmin:

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

Selanjutnya, salin contoh file konfigurasi phpMyAdmin:

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Selanjutnya, instal pwgen dan buat kunci rahasia dengan perintah berikut:

apt-get install pwgen -y
pwgen -s 32 1

Keluaran:

pau9t1SG6lmaeCFxKqeeaY5N4erIa25K

Selanjutnya, edit file config.inc.php dan konfigurasikan:

nano /usr/share/phpmyadmin/config.inc.php

Tentukan kunci rahasia Anda dan batalkan komentar pada baris berikut:

$cfg['blowfish_secret'] = 'pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'password';

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Simpan dan tutup file setelah Anda selesai.

Buat Pengguna Admin phpMyAdmin

Selalu disarankan untuk membuat pengguna terpisah untuk mengelola database melalui phpMyAdmin.

Pertama, impor tabel phpMyAdmin ke database MariaDB menggunakan perintah berikut:

mysql < /usr/share/phpmyadmin/sql/create_tables.sql

Selanjutnya, sambungkan ke shell MariaDB dengan perintah berikut:

mysql

Setelah Anda terhubung, berikan semua hak istimewa yang diperlukan ke database phpmyadmin dengan perintah berikut:

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';

Selanjutnya, buat pengguna admin dengan perintah berikut:

MariaDB [(none)]> CREATE USER myadmin;

Selanjutnya, berikan semua hak istimewa kepada pengguna admin dengan perintah berikut:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB menggunakan perintah berikut:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Apache untuk phpMyAdmin

Selanjutnya, Anda perlu membuat file konfigurasi virtual host Apache untuk phpMyAdmin. Anda dapat membuatnya menggunakan perintah berikut:

nano /etc/apache2/conf-available/phpmyadmin.conf

Tambahkan baris berikut:

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Simpan dan tutup file setelah selesai kemudian aktifkan file konfigurasi phpMyAdmin dengan perintah berikut:

a2enconf phpmyadmin.conf

Selanjutnya, muat ulang layanan Apache untuk menerapkan perubahan:

systemctl reload apache2

Anda dapat memeriksa status layanan Apache menggunakan perintah berikut:

systemctl status apache2

Anda akan melihat output berikut:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-08-17 10:16:28 UTC; 2s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 45027 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 45031 (apache2)
      Tasks: 6 (limit: 2341)
     Memory: 14.6M
        CPU: 89ms
     CGroup: /system.slice/apache2.service
             ??45031 /usr/sbin/apache2 -k start
             ??45032 /usr/sbin/apache2 -k start
             ??45033 /usr/sbin/apache2 -k start
             ??45034 /usr/sbin/apache2 -k start
             ??45035 /usr/sbin/apache2 -k start
             ??45036 /usr/sbin/apache2 -k start

Aug 17 10:16:28 debian systemd[1]: Starting The Apache HTTP Server...

Akses phpMyAdmin

Pada titik ini, phpMyAdmin diinstal dan dikonfigurasi. Sekarang, buka browser web Anda dan akses phpMyAdmin menggunakan URL http://your-server-ip/phpmyadmin . Anda akan melihat halaman login phpMyAdmin:

Berikan nama pengguna dan sandi admin Anda, lalu klik Buka tombol. Anda akan melihat dasbor phpMyAdmin di halaman berikut:

phpMyAdmin aman

Sebaiknya amankan phpMyAdmin dengan autentikasi dua faktor. Anda dapat melakukannya menggunakan fungsi otentikasi dan otorisasi .htaccess.

Pertama, edit file konfigurasi phpMyAdmin:

nano /etc/apache2/conf-available/phpmyadmin.conf

Tambahkan baris "AllowOverride All" di blok server berikut:

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All

    <IfModule mod_php5.c>

Simpan dan tutup file setelah selesai kemudian restart layanan Apache:

systemctl restart apache2

Selanjutnya, buat file .htaccess dan tentukan jenis otentikasi Apache:

nano /usr/share/phpmyadmin/.htaccess

Tambahkan baris berikut:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user

Simpan dan tutup file kemudian buat pengguna dengan perintah berikut:

htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser

Anda akan diminta untuk mengatur kata sandi seperti yang ditunjukkan di bawah ini:

New password: 
Re-type new password: 
Adding password for user secureuser

Verifikasi phpMyAdmin

Pada titik ini, phpMyAdmin diamankan dengan otentikasi tambahan. Untuk memverifikasinya, buka browser web Anda dan akses phpMyAdmin menggunakan URL http://your-server-ip/phpmyadmin . Anda akan dimintai username dan password tambahan seperti gambar di bawah ini:

Setelah memberikan nama pengguna dan kata sandi Anda, Anda akan diarahkan ke halaman login phpMyAdmin biasa.

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengamankan phpMyAdmin di Debian 11. Sekarang Anda dapat menjelajahi phpMyAdmin dan mulai mengelola database Anda dari browser web.


Debian
  1. Cara Menginstal dan Mengamankan MongoDB di Debian 11

  2. Cara Menginstal dan Mengamankan MariaDB di Debian 11

  3. Cara Instal phpMyAdmin di Debian 9

  1. Cara Memasang dan Mengamankan phpMyAdmin di Debian 9

  2. Cara Memasang dan Mengamankan phpMyAdmin di Ubuntu

  3. Cara Menginstal Dan Menggunakan Backport Debian

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

  2. Cara Menginstal dan Mengonfigurasi Redis di Debian 9

  3. Cara Menginstal dan Menggunakan FFmpeg di Debian 9