Tutorial ini akan menunjukkan cara menginstal phpMyAdmin dengan Apache, MariaDB, PHP7.4 (LAMP stack) di Ubuntu 20.04 LTS. phpMyAdmin adalah alat manajemen basis data berbasis web sumber terbuka dan gratis yang ditulis dalam PHP. Ini menyediakan antarmuka web grafis bagi pengguna untuk mengelola database MySQL atau MariaDB.
phpMyAdmin memungkinkan administrator untuk:
- menelusuri database dan tabel;
- membuat, menyalin, mengganti nama, mengubah, dan melepaskan basis data;
- membuat, menyalin, mengganti nama, mengubah, dan melepaskan tabel;
- melakukan pemeliharaan meja;
- menambah, mengedit, dan melepaskan bidang;
- eksekusi pernyataan SQL apa pun, bahkan beberapa kueri;
- membuat, mengubah, dan melepaskan indeks;
- memuat file teks ke dalam tabel;
- membuat dan membaca dump tabel atau database;
- mengekspor data ke format SQL, CSV, XML, Word, Excel, PDF, dan LaTeX;
- mengatur beberapa server;
- mengelola pengguna dan hak istimewa MySQL;
- periksa pengaturan server dan informasi runtime dengan petunjuk konfigurasi;
- periksa integritas referensial di tabel MyISAM;
- buat kueri kompleks menggunakan Query-by-example (QBE), secara otomatis
- menghubungkan tabel yang diperlukan;
- membuat grafik PDF dari tata letak database;
- menelusuri secara global dalam database atau subsetnya;
- mengubah data yang disimpan ke dalam format apa pun menggunakan serangkaian fungsi yang telah ditentukan sebelumnya, seperti menampilkan BLOB-data sebagai gambar atau tautan unduhan;
- mengelola tabel InnoDB dan kunci asing;
Prasyarat
Untuk mengikuti tutorial ini, Anda memerlukan OS Ubuntu 20.04 yang berjalan di komputer lokal Anda atau di server jauh.
Jika Anda mencari VPS (Virtual Private Server), maka Anda dapat membuat akun di Vultr melalui tautan referensi saya untuk mendapatkan kredit gratis $50 (hanya untuk pengguna baru). Dan jika Anda perlu mengatur phpMyAdmin dengan nama domain, saya sarankan membeli nama domain dari NameCheap karena harganya murah dan mereka memberikan perlindungan privasi whois secara gratis.
Diasumsikan bahwa Anda telah menginstal LAMP stack di Ubuntu 20.04. Jika belum, silakan lihat tutorial berikut.
- Cara Memasang tumpukan LAMP (Apache, MariaDB, PHP7.4) di Ubuntu 20.04 LTS
Setelah itu, mari kita mulai menginstal phpMyAdmin.
Langkah 1:Unduh dan Instal phpMyAdmin di Ubuntu 20.04
phpMyAdmin termasuk dalam repositori perangkat lunak Ubuntu 20.04. sehingga kita dapat dengan mudah menginstalnya dengan perintah di bawah ini.
sudo apt update sudo apt install phpmyadmin
Perintah di atas akan menginstal semua dependensi yang diperlukan termasuk ekstensi PHP7. Selama instalasi, Anda akan diminta untuk memilih server web yang akan dikonfigurasi. Tekan space
bilah untuk memilih Apache2. (Sebuah tanda bintang menunjukkan item yang dipilih). Kemudian tekan Tab
kunci dan Enter
untuk mengonfirmasi pilihan Anda.
Di layar berikutnya, pilih Yes
untuk mengkonfigurasi database untuk phpMyAdmin dengan dbconfig-common
.
Kemudian atur kata sandi untuk phpmyadmin
pengguna di MariaDB/MySQL.
Setelah langkah ini selesai, database baru bernama phpmyadmin
dibuat dan pengguna database phpmyadmin
memiliki hak istimewa yang diperlukan untuk mengelola database ini. Jika Anda penasaran seperti saya, Anda dapat masuk ke MariaDB dan memeriksa hak istimewa apa phpmyadmin
pengguna telah diberikan.
Anda dapat menggunakan perintah berikut untuk masuk ke server MariaDB.
sudo mysql -u root
Kemudian periksa hak istimewa phpmyadmin
pengguna.
show grants for [email protected];
Keluaran:
Seperti yang Anda lihat, pengguna phpmyadmin
memiliki semua hak istimewa pada database phpmyadmin
. Sekarang Anda dapat keluar dengan menjalankan:
exit;
Sekarang jalankan perintah berikut untuk memeriksa apakah /etc/apache2/conf-enabled/phpmyadmin.conf
file ada.
file /etc/apache2/conf-enabled/phpmyadmin.conf
Jika tidak ada kesalahan dalam proses instalasi, Anda akan melihat output perintah berikut.
/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf
Jika file ini tidak ada di server Anda, kemungkinan Anda tidak memilih server web Apache di wizard pengaturan phpMyAdmin. Anda dapat memperbaikinya dengan perintah berikut.
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo systemctl reload apache2
Langkah 2:Mengakses phpMyAdmin dari Sub-direktori
Saat menginstal phpMyAdmin, file konfigurasi ditempatkan di /etc/apache2/conf-enabled/phpmyadmin.conf
, yang memungkinkan kita untuk mengakses phpMyAdmin melalui sub-direktori. Jika Anda telah menginstal aplikasi web lain seperti WordPress di server Ubuntu 20.04 yang sama, cukup tambahkan /phpmyadmin
setelah nama domain Anda di bilah alamat browser.
example.com/phpmyadmin
Jika phpMyAdmin diinstal pada komputer Ubuntu lokal Anda, maka Anda dapat mengakses antarmuka web phpMyAdmin dengan mengetikkan teks berikut di bilah alamat browser.
localhost/phpmyadmin
Jika koneksi ditolak atau gagal diselesaikan, mungkin ada firewall yang mencegah permintaan HTTP. Jika Anda menggunakan firewall iptables, maka Anda perlu menjalankan perintah berikut untuk membuka port TCP 80 dan 443.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Jika Anda menggunakan firewall UFW, jalankan perintah ini untuk membuka port TCP 80 dan 443.
sudo ufw allow 80,443/tcp
Sekarang Anda dapat menggunakan nama pengguna dan kata sandi MariaDB/MySQL untuk masuk ke phpMyAdmin. Jika Anda tidak dapat masuk sebagai root, lanjutkan ke langkah 5 untuk memecahkan masalah ini.
Langkah 3:Akses phpMyAdmin Dari Sub-domain
Jika server Ubuntu 20.04 Anda tidak memiliki host virtual Apache lain, maka Anda mungkin ingin menggunakan sub-domain untuk mengakses antarmuka web phpMyAdmin. Dengan cara ini, Anda dapat mengaktifkan HTTPS untuk mengenkripsi lalu lintas.
Pertama, kita perlu membuat virtual host Apache untuk phpMyAdmin. Cuplikan konfigurasi phpMyAdmin yang ada dapat digunakan sebagai template. Mari kita salin ke file baru.
sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf
Kemudian edit file baru dengan editor teks baris perintah, seperti Nano.
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
File ini tidak memiliki <VirtualHost>
tag, jadi kita perlu menambahkan baris berikut di awal file ini. Ganti pma.example.com
dengan sub-domain pilihan Anda untuk phpMyAdmin. Jangan lupa untuk membuat catatan DNS A untuk sub-domain ini.
<VirtualHost *:80> ServerName pma.example.com DocumentRoot /usr/share/phpmyadmin ErrorLog ${APACHE_LOG_DIR}/pma.error.log CustomLog ${APACHE_LOG_DIR}/pma.access.log combined
Tambahkan baris berikut di akhir file ini untuk menutup <VirtualHost>
tag.
</VirtualHost>
Simpan dan tutup file. (Untuk menyimpan file di editor teks Nano, tekan Ctrl+O
, lalu tekan Enter untuk mengonfirmasi. Untuk keluar, tekan Ctrl+X
.) Kemudian aktifkan virtual host ini.
sudo a2ensite phpmyadmin.conf
Muat ulang server web Apache agar perubahan ini diterapkan.
sudo systemctl reload apache2
Sekarang Anda seharusnya dapat mengakses antarmuka web phpMyAdmin melalui
pma.example.com
Sebelum memasukkan kredensial pengguna di formulir login, mari aktifkan HTTPS.
Langkah 4:Aktifkan HTTPS di phpMyAdmin dengan Apache
Untuk mengamankan antarmuka web phpMyadmin, kita dapat menginstal sertifikat Let's Encrypt TLS gratis. Jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) dari repositori perangkat lunak Ubuntu 20.04.
sudo apt install certbot python3-certbot-apache
Python3-certbot-apache
adalah plugin Apache untuk Certbot. Sekarang jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email protected]
Dimana:
- –apache: Gunakan autentikator dan penginstal Apache
- –setuju-untuk :Setuju dengan persyaratan layanan Let's Encrypt
- –mengalihkan :Terapkan HTTPS dengan menambahkan 301 pengalihan permanen.
- –hsts :Tambahkan header Strict-Transport-Security ke setiap respons HTTP.
- –staple-ocsp :Mengaktifkan Stapel OCSP.
- –harus ditempel :Menambahkan ekstensi OCSP Must Staple ke sertifikat.
- -d flag diikuti oleh daftar nama domain, dipisahkan dengan koma. Anda dapat menambahkan hingga 100 nama domain.
- –email :Email yang digunakan untuk pendaftaran dan kontak pemulihan.
Anda akan ditanya apakah Anda ingin menerima email dari EFF (Electronic Frontier Foundation). Setelah memilih Y atau T, sertifikat TLS Anda akan otomatis diperoleh dan dikonfigurasi untuk Anda, yang ditunjukkan oleh pesan di bawah ini.
Langkah 5:Memecahkan Masalah Kesalahan Masuk phpMyAdmin
Jika Anda mencoba masuk ke phpMyAdmin dengan akun root MariaDB, Anda mungkin melihat kesalahan berikut.
#1698 - Access denied for user 'root '@'localhost'
atau
mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'
Jika Anda masuk dengan pengguna phpmyadmin
, Anda tidak akan melihat kesalahan di atas. Namun, pengguna phpmyadmin
hanya dapat digunakan untuk mengelola phpmyadmin
basis data. Penyebab kesalahan adalah bahwa secara default pengguna root MariDB diautentikasi melalui plugin unix_socket, alih-alih menggunakan mysql_native_password
pengaya. Untuk mengatasi masalah ini, kita dapat membuat pengguna admin lain dan memberikan semua hak istimewa kepada pengguna admin baru.
Masuk ke server MariaDB dari baris perintah.
sudo mysql -u root
Buat pengguna admin dengan otentikasi kata sandi.
create user [email protected] identified by 'your-preferred-password';
Berikan semua hak istimewa di semua database.
grant all privileges on *.* to [email protected] with grant option;
Hapus hak istimewa dan keluar;
flush privileges; exit;
Sekarang Anda dapat masuk ke phpMyAmin dengan admin
akun dan kelola semua basis data.