Hemat 15% untuk semua layanan hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode: Skills Memulai
Bagian FAQ
Administrasi Keamanan Linux

Cara Menginstal dan Mengamankan phpMyAdmin di Ubuntu (Panduan Lengkap)

phpMyAdmin adalah salah satu alat open-source yang paling banyak digunakan untuk mengelola database MySQL dan MariaDB melalui antarmuka grafis berbasis browser. Baik Anda seorang developer, administrator sistem, atau pemilik website, phpMyAdmin secara dramatis menyederhanakan operasi database yang kompleks — dari menjalankan query SQL hingga mengimpor/mengekspor data — tanpa memerlukan keahlian command-line.

Namun, karena phpMyAdmin dapat diakses melalui URL publik secara default, membiarkannya tidak aman adalah risiko serius. Panduan komprehensif ini memandu Anda melalui instalasi phpMyAdmin di Ubuntu 20.04/22.04, mengonfigurasinya dengan Apache, dan mengamankannya terhadap akses tidak sah menggunakan beberapa lapisan keamanan.

Prasyarat

Sebelum memulai, pastikan persyaratan berikut terpenuhi:

  • Server yang menjalankan Ubuntu 20.04 atau 22.04 (fisik atau virtual)
  • MySQL atau MariaDB terinstal dan berjalan aktif
  • Web server Apache2 terinstal
  • Akun pengguna dengan privilese sudo
  • Nama domain atau alamat IP statis yang menunjuk ke server Anda
  • (Disarankan) Sertifikat SSL yang valid untuk akses HTTPS terenkripsi

> Tip: Jika Anda belum memiliki lingkungan server, pertimbangkan AlexHost VPS Hosting — paket VPS Linux yang dikelola sepenuhnya atau tidak dikelola dengan provisioning instan, akses root, dan penyimpanan SSD, ideal untuk menjalankan phpMyAdmin dengan aman.

Langkah 1 — Perbarui Sistem dan Indeks Paket

Selalu mulai dengan menyegarkan daftar paket Anda dan menerapkan pembaruan sistem yang tertunda. Ini memastikan Anda menginstal versi phpMyAdmin terbaru yang tersedia dan menghindari konflik dependensi.

sudo apt update && sudo apt upgrade -y

Langkah 2 — Instal phpMyAdmin

Instal phpMyAdmin menggunakan repositori APT Ubuntu resmi:

sudo apt install phpmyadmin -y

Selama instalasi, wizard konfigurasi interaktif akan muncul. Ikuti langkah-langkah berikut dengan hati-hati:

2.1 — Pilih Web Server

Anda akan diminta untuk memilih web server yang akan dikonfigurasi secara otomatis:

Please choose the web server that should be automatically configured to run phpMyAdmin.

  [*] apache2
  [ ] lighttpd

Gunakan spacebar untuk memilih apache2, kemudian tekan Tab untuk menyoroti <Ok> dan tekan Enter.

2.2 — Konfigurasi Database dengan dbconfig-common

Selanjutnya, Anda akan ditanya apakah akan mengkonfigurasi database untuk phpMyAdmin menggunakan dbconfig-common:

Configure database for phpmyadmin with dbconfig-common?

Pilih Yes. Anda kemudian akan diminta memasukkan password aplikasi MySQL untuk pengguna database internal phpMyAdmin. Masukkan password yang kuat atau biarkan kosong untuk membuat password secara otomatis.

2.3 — Verifikasi Instalasi

Setelah instalasi selesai, konfirmasi phpMyAdmin terinstal:

dpkg -l phpmyadmin

Anda akan melihat baris yang menampilkan versi paket yang terinstal.

Langkah 3 — Konfigurasi Apache untuk phpMyAdmin

Dalam beberapa konfigurasi Ubuntu, file konfigurasi Apache phpMyAdmin tidak diaktifkan secara otomatis. Periksa dan aktifkan secara manual.

3.1 — Aktifkan Konfigurasi phpMyAdmin

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin

3.2 — Verifikasi File Konfigurasi

Buka file konfigurasi untuk meninjau isinya:

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

File harus berisi direktif berikut (atau serupa):

Alias /phpmyadmin /usr/share/phpmyadmin

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

    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
        </RequireAny>
    </IfModule>
</Directory>

<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
        </RequireAny>
    </IfModule>
</Directory>

Simpan dan tutup file dengan CTRL+X, kemudian Y, kemudian Enter.

3.3 — Restart Apache

Terapkan perubahan konfigurasi:

sudo systemctl restart apache2

Verifikasi Apache berjalan tanpa kesalahan:

sudo systemctl status apache2

Langkah 4 — Amankan phpMyAdmin dengan HTTP Basic Authentication

Secara default, siapa pun yang mengetahui alamat IP server Anda dapat mengakses halaman login phpMyAdmin. Menambahkan lapisan HTTP Basic Authentication membuat gerbang kata sandi kedua sebelum pengguna bahkan melihat formulir login phpMyAdmin.

4.1 — Instal apache2-utils

sudo apt install apache2-utils -y

4.2 — Buat File Kata Sandi dan Pengguna

Buat file .htpasswd dan tambahkan pengguna administratif pertama Anda. Ganti your_admin_user dengan nama pengguna pilihan Anda:

sudo mkdir -p /etc/phpmyadmin
sudo htpasswd -c /etc/phpmyadmin/.htpasswd your_admin_user

Anda akan diminta untuk memasukkan dan mengonfirmasi kata sandi. Untuk menambahkan pengguna tambahan nanti (tanpa flag -c, yang akan menimpa file):

sudo htpasswd /etc/phpmyadmin/.htpasswd another_user

4.3 — Perbarui Konfigurasi Apache phpMyAdmin

Edit file konfigurasi phpMyAdmin untuk memberlakukan autentikasi:

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

Temukan blok <Directory /usr/share/phpmyadmin> dan tambahkan baris berikut di dalamnya:

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

    # HTTP Basic Authentication
    AuthType Basic
    AuthName "Restricted Access — Authorized Personnel Only"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

    <IfModule mod_authz_core.c>
        <RequireAny>
            Require valid-user
        </RequireAny>
    </IfModule>
</Directory>

Simpan dan tutup file.

4.4 — Mulai Ulang Apache

sudo systemctl restart apache2

Sekarang, menavigasi ke /phpmyadmin akan terlebih dahulu meminta kredensial autentikasi HTTP sebelum menampilkan halaman login phpMyAdmin.

Langkah 5 — Batasi Akses berdasarkan Alamat IP (Opsional tetapi Direkomendasikan)

Untuk perlindungan yang lebih kuat, batasi akses phpMyAdmin hanya ke alamat IP terpercaya tertentu. Ini sangat berguna jika Anda selalu mengakses server dari IP tetap (seperti jaringan kantor atau VPN).

Edit konfigurasi Apache phpMyAdmin:

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

Ubah blok <Directory> untuk menyertakan pembatasan berbasis IP:

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

    AuthType Basic
    AuthName "Restricted Access"
    AuthUserFile /etc/phpmyadmin/.htpasswd

    <RequireAll>
        Require valid-user
        Require ip 203.0.113.50
        # Add more trusted IPs below:
        # Require ip 198.51.100.0/24
    </RequireAll>
</Directory>

Ganti 203.0.113.50 dengan alamat IP terpercaya atau subnet aktual Anda. Simpan file dan restart Apache:

sudo systemctl restart apache2

> Catatan: Jika alamat IP Anda sering berubah, pertimbangkan menggunakan VPN dengan IP statis, atau andalkan HTTP Basic Authentication saja yang dikombinasikan dengan SSL.

Langkah 6 — Aktifkan SSL untuk Enkripsi Lalu Lintas

Mengirim kredensial database melalui HTTP biasa adalah risiko keamanan kritis. Anda harus selalu mengakses phpMyAdmin melalui HTTPS. Ada dua pendekatan utama:

Opsi A — Gunakan Sertifikat SSL Let’s Encrypt (Gratis)

Jika Anda memiliki nama domain yang menunjuk ke server Anda, instal Certbot:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com

Certbot akan secara otomatis mengonfigurasi Apache untuk mengarahkan HTTP ke HTTPS dan menginstal sertifikat gratis yang dapat diperbaharui secara otomatis.

Opsi B — Gunakan Sertifikat SSL Komersial

Untuk lingkungan produksi yang menangani data sensitif, sertifikat SSL yang diterbitkan secara komersial memberikan sinyal kepercayaan yang lebih kuat dan perlindungan garansi. Anda dapat memperoleh sertifikat SSL terpercaya langsung dari Sertifikat SSL AlexHost, dengan opsi mulai dari Domain Validation (DV) hingga sertifikat Extended Validation (EV).

Setelah menginstal sertifikat SSL Anda, pastikan URL phpMyAdmin Anda menggunakan https://:

https://yourdomain.com/phpmyadmin

Langkah 7 — Akses phpMyAdmin

Dengan instalasi dan langkah-langkah keamanan sudah dilakukan, buka browser Anda dan navigasikan ke:

https://your_server_ip_or_domain/phpmyadmin

Anda akan menghadapi dua prompt autentikasi secara berurutan:

  1. Prompt HTTP Basic Authentication — Masukkan nama pengguna dan kata sandi yang Anda buat dengan htpasswd
  2. Halaman login phpMyAdmin — Masukkan nama pengguna MySQL/MariaDB Anda (misalnya, root) dan kata sandinya

Setelah berhasil login, Anda akan memiliki akses penuh ke database MySQL Anda melalui antarmuka grafis phpMyAdmin.

Pemecahan Masalah Umum

phpMyAdmin Mengembalikan Error 404 Not Found

Konfigurasi Apache mungkin tidak tertaut atau diaktifkan. Jalankan:

sudo a2enconf phpmyadmin
sudo systemctl reload apache2

Juga verifikasi symlink ada:

ls -la /etc/apache2/conf-available/phpmyadmin.conf

“Cannot Connect to MySQL Server” Error

Periksa bahwa MySQL/MariaDB sedang berjalan:

sudo systemctl status mysql
# or for MariaDB:
sudo systemctl status mariadb

Jika terhenti, mulai:

sudo systemctl start mysql

HTTP 500 Internal Server Error

Ini sering menunjukkan modul PHP hilang. Instal ekstensi PHP yang diperlukan:

sudo apt install php-mbstring php-zip php-gd php-json php-curl -y
sudo systemctl restart apache2

Halaman Kosong Setelah Login

Hapus cache browser Anda, atau periksa log error Apache untuk detail:

sudo tail -f /var/log/apache2/error.log

Ringkasan Praktik Keamanan Terbaik

Sebelum go live, tinjau daftar periksa keamanan ini:

Langkah KeamananStatus
HTTP Basic Authentication diaktifkan
SSL/HTTPS dikonfigurasi
Pembatasan IP diterapkan (jika berlaku)
Login root MySQL dinonaktifkan dari jarak jauh
URL phpMyAdmin diubah dari default /phpmyadminDirekomendasikan
Pembaruan sistem terjadwal secara berkala
Firewall (UFW) dikonfigurasiDirekomendasikan

Ubah Nama URL phpMyAdmin (Langkah Pengerasan Bonus)

Mengubah jalur URL default /phpmyadmin menjadi sesuatu yang kurang dapat diprediksi secara signifikan mengurangi serangan bot otomatis. Edit konfigurasi Apache:

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

Ubah:

Alias /phpmyadmin /usr/share/phpmyadmin

Menjadi sesuatu yang kurang jelas:

Alias /db-manager-2024 /usr/share/phpmyadmin

Mulai ulang Apache dan perbarui bookmark Anda sesuai kebutuhan.

Kesimpulan

Menginstal phpMyAdmin di Ubuntu adalah proses yang mudah, tetapi mengamankannya dengan benar adalah hal yang tidak dapat ditawar. Dengan menggabungkan HTTP Basic Authentication, pembatasan akses berbasis IP, enkripsi SSL, dan alias URL khusus, Anda membuat beberapa lapisan pertahanan yang tumpang tindih untuk melindungi database Anda dari akses tidak sah dan serangan otomatis.

Untuk merangkum apa yang kami bahas:

  • ✅ Menginstal phpMyAdmin melalui APT di Ubuntu 20.04/22.04
  • ✅ Mengonfigurasi Apache untuk melayani phpMyAdmin dengan benar
  • ✅ Menambahkan HTTP Basic Authentication sebagai gerbang keamanan kedua
  • ✅ Membatasi akses berdasarkan alamat IP terpercaya
  • ✅ Mengaktifkan SSL/HTTPS untuk mengenkripsi semua lalu lintas
  • ✅ Menerapkan pengerasan bonus dengan mengganti nama URL default

Pengaturan phpMyAdmin yang aman hanya sebaik server tempat phpMyAdmin berjalan. Untuk fondasi yang andal dan berkinerja tinggi, jelajahi AlexHost Dedicated Servers untuk kontrol perangkat keras penuh, atau AlexHost Shared Web Hosting untuk proyek ringan yang memerlukan lingkungan terkelola. Jika Anda memerlukan panel kontrol untuk mengelola server Anda bersama phpMyAdmin, lihat AlexHost VPS dengan cPanel untuk pengalaman manajemen all-in-one.

Jaga sistem Anda tetap diperbarui, pantau log akses Anda secara teratur, dan tinjau kembali konfigurasi keamanan Anda setiap kali Anda meningkatkan phpMyAdmin atau versi Ubuntu Anda. Beberapa menit pengerasan proaktif hari ini dapat mencegah pelanggaran data yang katastrofal besok.