phpMyAdmin adalah alat perangkat lunak sumber terbuka yang digunakan untuk mengelola database MySQL/MariaDB. Ini menyediakan cara mudah untuk berinteraksi dengan MySQL melalui browser web. phpMyAdmin sangat berguna bagi pengguna yang tidak nyaman mengelola data mereka dari baris perintah, jadi sangat penting bagi administrator sistem untuk mengamankan phpMyAdmin dari berbagai jenis serangan.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengamankan phpMyAdmin di CentOS 8.
Prasyarat
- VPS CentOS 8 baru di Platform Cloud Atlantic.net.
- Kata sandi root yang dikonfigurasi di server Anda.
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih CentOS 8 sebagai sistem operasi dengan setidaknya 1GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server CentOS 8 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
dnf update -y
Langkah 2 – Instal Apache, MariaDB dan PHP
Sebelum memulai, instal Apache, MariaDB, PHP dan ekstensi PHP lainnya yang diperlukan dengan perintah berikut:
dnf install httpd mariadb-server php php-cli php-json php-mbstring php-pdo php-pecl-zip php-mysqlnd -y
Setelah menginstal semua paket, Anda dapat melanjutkan ke langkah berikutnya.
Langkah 3 – Setel Kata Sandi Root MariaDB
Pertama, mulai layanan MariaDB dan aktifkan untuk memulai saat boot dengan perintah berikut:
systemctl start mariadb systemctl enable mariadb
Selanjutnya, atur kata sandi root MySQL menggunakan skrip berikut:
mysql_secure_installation
Skrip ini akan mengatur kata sandi root MySQL, menghapus pengguna anonim, melarang login root dari jarak jauh dan menghapus database uji dan akses ke sana, seperti yang ditunjukkan di bawah ini:
Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):
Set root password? [Y/n] Y New password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Langkah 4 – Instal phpMyAdmin
Pertama, unduh versi terbaru phpMyAdmin ke direktori root web Apache menggunakan perintah berikut:
cd /var/www/html wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.zip
Setelah diunduh, unzip file yang diunduh dengan perintah berikut:
unzip phpMyAdmin-4.9.4-all-languages.zip
Selanjutnya, ganti nama direktori yang diekstrak menjadi phpmyadmin seperti gambar di bawah ini:
mv phpMyAdmin-4.9.4-all-languages phpmyadmin
Selanjutnya, ubah kepemilikan direktori phpmyadmin menjadi pengguna apache:
chown -R apache:apache /var/www/html/phpmyadmin
Selanjutnya, ganti nama file config.sample.inc.php:
cd /var/www/html/phpmyadmin mv config.sample.inc.php config.inc.php
Selanjutnya, edit file dan tentukan kata sandi aman Anda:
nano config.inc.php
Temukan baris di bawah ini dan perbarui dengan kata sandi aman Anda, seperti yang ditunjukkan di bawah ini:
$cfg['blowfish_secret'] = 'your-secure-password';
Simpan dan tutup file. Kemudian, impor tabel untuk phpMyAdmin dengan perintah berikut:
mysql < sql/create_tables.sql -u root -p
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Langkah 5 – Konfigurasi Apache untuk phpMyAdmin
Selanjutnya, buat file konfigurasi virtual host Apache untuk phpMyAdmin:
nano /etc/httpd/conf.d/phpmyadmin.conf
Tambahkan baris berikut:
Alias /phpmyadmin /var/www/html/phpmyadmin <Directory /var/www/html/phpmyadmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> <Directory /var/www/html/phpmyadmin/setup/> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory>
Simpan dan tutup file. Kemudian, mulai layanan Apache dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start httpd systemctl enable httpd
Sekarang, buka browser web Anda dan kunjungi URL http://your-server-ip/phpmyadmin. Anda akan melihat antarmuka web phpMyAdmin di layar berikut:
Masuk dengan kredensial MySQL Anda yang dibuat sebelumnya.
Langkah 6 – Amankan phpMyAdmin
Di bagian ini, kami akan menunjukkan berbagai cara untuk mengamankan antarmuka web phpMyAdmin Anda.
Ubah Lokasi Akses phpMyAdmin
Sebaiknya ubah URL akses antarmuka phpMyAdmin Anda. Anda dapat mengubahnya dengan mengedit file phpmyadmin.conf:
nano /etc/httpd/conf.d/phpmyadmin.conf
Temukan baris berikut:
Alias /phpmyadmin /var/www/html/phpmyadmin
Ganti dengan baris berikut:
Alias /securelocation /var/www/html/phpmyadmin
Simpan dan tutup file, lalu mulai ulang layanan Apache untuk menerapkan perubahan:
systemctl restart httpd
Anda sekarang dapat mengakses antarmuka phpMyAdmin menggunakan URL http://your-server-ip/securelocation.
Izinkan phpMyAdmin dari IP Tertentu
Itu selalu merupakan ide yang baik untuk mengizinkan phpMyAdmin hanya dapat diakses dari alamat IP tertentu.
Untuk melakukannya, buka file phpmyadmin.conf:
nano /etc/httpd/conf.d/phpmyadmin.conf
Temukan baris berikut:
<RequireAny> Require all granted </RequireAny>
Ganti dengan yang berikut ini:
<RequireAny> Require ip your-client-ip-address Require ip ::1 </RequireAny>
Simpan dan tutup file, lalu mulai ulang layanan Apache untuk menerapkan perubahan:
systemctl restart httpd
Antarmuka phpMyAdmin Anda sekarang hanya dapat diakses dari alamat IP tertentu.
Antarmuka phpMyAdmin Proteksi Kata Sandi
Anda juga dapat menambahkan lapisan perlindungan kata sandi tambahan di phpMyAdmin dengan mengatur otentikasi dasar.
Pertama, buat file otentikasi menggunakan perintah berikut:
htpasswd -c /etc/httpd/.htpasswd phpadmin
Berikan kata sandi yang aman seperti yang ditunjukkan di bawah ini:
New password: Re-type new password: Adding password for user phpadmin
Selanjutnya, buat file .htaccess di dalam direktori phpmyadmin:
nano /var/www/html/phpmyadmin/.htaccess
Tambahkan baris berikut:
AuthType basic AuthName "Authentication Required" AuthUserFile /etc/httpd/.htpasswd Require valid-user
Simpan dan tutup file setelah Anda selesai.
Selanjutnya, edit file phpmyadmin.conf dan konfigurasikan Apache untuk menggunakan file .htpasswd.
nano /etc/httpd/conf.d/phpmyadmin.conf
Tambahkan baris berikut di bawah baris “AddDefaultCharset UTF-8”:
AllowOverride All
Simpan file, lalu mulai ulang layanan Apache untuk menerapkan perubahan:
systemctl restart httpd
Langkah 7 – Uji phpMyAdmin
Pada titik ini, antarmuka phpMyAdmin diamankan dengan lapisan perlindungan kata sandi tambahan. Untuk mengujinya, buka browser web Anda dan ketik URL http://your-server-ip/securelocation. Anda akan diminta untuk memberikan kredensial login yang kami buat sebelumnya:
Ketik nama pengguna dan sandi Anda, lalu klik OK tombol. Anda akan diarahkan ke halaman login phpMyAdmin:
Berikan nama pengguna dan kata sandi MySQL Anda, lalu klik tombol Go tombol. Anda akan melihat antarmuka web phpMyAdmin Anda di layar berikut:
Kesimpulan
Dalam panduan di atas, kita mempelajari cara menginstal dan mengamankan phpMyAdmin di CentOS 8. Antarmuka phpMyAdmin Anda sekarang diamankan dengan perlindungan kata sandi tambahan. Anda dapat menggunakan metode ini untuk mengamankan server di bawah Paket Hosting VPS Atlantic.Net.
Pelajari lebih lanjut tentang layanan hosting VPS dan server pribadi Virtual kami.