Ubuntu 18.04 Server / Cara Menginstal phpMyAdmin
Untuk menginstal phpMyAdmin di Ubuntu 18.04 Server, siapkan Apache, PHP, dan MySQL atau MariaDB, lalu instal paket phpmyadmin dan masuk dengan akun database. Sebelum instalasi, batasi jalur akses agar alat admin tidak terbuka ke luar, dan jangan ubah pengaturan autentikasi untuk root database.
Hal-hal yang Perlu Diperiksa Sebelum Instalasi
phpMyAdmin adalah alat untuk mengelola database dan tabel MySQL atau MariaDB melalui browser web. Artikel ini menjelaskan kasus penggunaan Apache pada Server Ubuntu 18.04 yang sudah ada. Jika Anda menggunakan server web dan server database yang terpisah atau menggunakan Nginx, jalur koneksi dan pengaturannya akan berbeda.
Pemeliharaan keamanan standar untuk Ubuntu 18.04 LTS berakhir pada Mei 2023. Untuk sistem yang sudah ada, disarankan untuk meningkatkan ke versi Ubuntu yang didukung. Jika Anda tidak dapat meningkatkan segera, periksa apakah pemeliharaan keamanan Ubuntu Pro diterapkan dan cakupan pembaruan untuk phpMyAdmin, PHP, dan paket database. Untuk detail lebih lanjut, lihat Panduan Pemeliharaan Keamanan Ubuntu.
Contoh berikut mengasumsikan Anda memiliki hak istimewa sudo, Apache, PHP, dan MySQL atau MariaDB sudah terinstal, dan dapat mengakses server melalui SSH. Cadangkan database Anda dan periksa repositori paket serta konfigurasi situs yang ada sebelum instalasi. Karena pengaturan Apache mungkin diterapkan secara otomatis selama instalasi, batasi akses dari sumber eksternal terlebih dahulu menggunakan firewall atau jaringan pribadi.
Membatasi Jalur Manajemen di Apache
Contoh berikut menunjukkan cara menghubungkan langsung ke Apache dan hanya mengizinkan koneksi lokal ke server. Pertama, buat file /etc/apache2/conf-available/phpmyadmin-local.conf dan simpan konten berikut.
<Location /phpmyadmin>
Require local
</Location>
Setelah mengaktifkan pengaturan, periksa sintaks dan muat ulang Apache hanya jika berhasil lolos pemeriksaan.
sudo a2enconf phpmyadmin-local
sudo apache2ctl configtest
Saat Syntax OK ditampilkan, jalankan perintah berikut. Jika ada kesalahan, ubah pengaturan dan periksa lagi.
sudo systemctl reload apache2
Konfigurasi ini berlaku untuk jalur contoh. Jika Anda memiliki alias atau host virtual lainnya, periksa jalur tersebut juga. Jika ada reverse proxy di depan, Apache mungkin melihat alamat proxy sebagai alamat klien, sehingga pembatasan akses tidak bisa dijamin hanya dengan contoh ini. Tinjau penanganan alamat klien sebenarnya oleh proxy tepercaya dan firewall secara terpisah. Anda dapat memeriksa direktif Require dalam dokumentasi kontrol akses Apache.
Menginstal phpMyAdmin
Perbarui daftar paket dan instal. Ketersediaan paket serta versinya dapat berbeda tergantung pada repositori dan pengaturan pemeliharaan keamanan.
sudo apt update
sudo apt install phpmyadmin
Saat layar instalasi interaktif ditampilkan, periksa hal-hal berikut:
- Pada layar pemilihan server web, pilih Apache2. Pastikan telah dicentang sebelum melanjutkan. Menekan Enter saja mungkin tidak memilih item.
- Jika ditanya tentang konfigurasi
dbconfig-common, pilih Ya jika Anda ingin paket mengonfigurasi database untuk fitur tambahan phpMyAdmin. Database ini berbeda dari database aplikasi yang sedang Anda kelola. Jika Anda berencana mengelola pengaturan yang ada sendiri, Anda dapat memilih Tidak. - Di layar yang meminta kata sandi, periksa akun dan tujuan yang ditampilkan, dan masukkan kata sandi yang aman. Otorisasi administrator basis data yang diperlukan selama proses pengaturan dapat bervariasi tergantung pada metode otentikasi server yang ada.
Setelah instalasi, periksa file konfigurasi dan apakah layanan Apache berjalan. Pengaturan untuk paket Ubuntu terutama ada di /etc/phpmyadmin dan dapat bervariasi tergantung pada konfigurasi paket.
ls /etc/phpmyadmin
systemctl status apache2 --no-pager
Akses melalui tunnel SSH
Buka klien SSH di PC administrator dan jalankan perintah berikut. Ganti user dan server dengan akun SSH dan alamat server yang sebenarnya. Hal ini menghubungkan port 8080 di PC administrator ke port lokal 80 server dan dapat digunakan selama koneksi SSH dipertahankan.
ssh -L 127.0.0.1:8080:127.0.0.1:80 user@server
Buka http://127.0.0.1:8080/phpmyadmin di browser pada PC yang sama. Browser dan klien SSH harus dijalankan pada PC yang sama, dan Apache di server harus melayani jalur di port lokal 80. Ketika layar login muncul, masukkan nama pengguna dan kata sandi database yang diizinkan. Mengakhiri sesi SSH juga akan menutup tunnel.
Jika lingkungan Anda dikonfigurasi untuk mengakses secara langsung melalui HTTPS, diperlukan sertifikat TLS yang valid dan pembatasan akses terpisah. Atur IP yang diizinkan di firewall atau Apache sesuai dengan alamat administrator yang sebenarnya, dan periksa hasil akses baik dari alamat yang diizinkan maupun yang tidak diizinkan. Disarankan untuk tidak mengekspos halaman admin ke seluruh internet.
Akun login dan izin
Login phpMyAdmin diautentikasi menggunakan akun MySQL atau MariaDB. Gunakan akun khusus dengan izin hanya untuk basis data dan operasi yang diperlukan untuk operasi Anda. Host dan izin akun harus sesuai dengan pengaturan pada server database yang sebenarnya. Periksa kembali target dan cadangan sebelum mengunggah file atau melakukan perubahan data.
Akun root Linux dan akun root database berbeda. Jika root database dikonfigurasi untuk autentikasi socket lokal, akun tersebut mungkin tidak dapat digunakan untuk login web. Jangan mencoba menyelesaikan ini dengan memodifikasi tabel sistem secara langsung atau mengosongkan plugin autentikasi root. Buat akun terpisah dengan izin yang diperlukan dan ikuti dokumentasi manajemen akun untuk produk database tersebut.
Ketika tidak dapat terhubung
- 403 Terlarang: Periksa apakah pembatasan akses diterapkan dan apakah Anda menggunakan tunneling SSH. Juga, pastikan alamat klien yang dikenali oleh proxy dan Apache.
- 404 Tidak Ditemukan: Pastikan Apache2 dipilih selama instalasi dan konfigurasi Apache phpMyAdmin diaktifkan. Jika Anda menggunakan host virtual atau alias lainnya, periksa pengaturan tersebut juga.
- Login Gagal: Verifikasi nama pengguna database, kata sandi, host koneksi, dan izin. Akun server web atau akun SSH dapat berbeda dari akun database.
- Kesalahan Halaman PHP: Periksa integrasi Apache dan PHP, ekstensi PHP yang diperlukan, dan log kesalahan Apache. Jalur instalasi dan konfigurasi dapat berbeda tergantung pada paket distribusi.
Jika Anda perlu mengembalikan perubahan konfigurasi, pulihkan dari cadangan yang ada dan periksa kembali sintaksnya. Menonaktifkan pengaturan pembatasan lokal dalam artikel ini dapat mengekspos jalur administrasi ke akses eksternal karena pengaturan lain, jadi pastikan kontrol akses alternatif diterapkan terlebih dahulu. Untuk instalasi dan pengaturan keamanan phpMyAdmin, lihat dokumentasi instalasi resmi phpMyAdmin.




