Tutorial ini akan menunjukkan cara menginstal phpMyAdmin dengan Apache, MariaDB, PHP7.2 (LAMP stack) di Ubuntu 18.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. Kita juga akan mempelajari cara mengaktifkan otentikasi dua faktor di phpMyAdmin.
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 18.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 menyiapkan phpMyAdmin dengan nama domain, sebaiknya beli nama domain dari NameCheap karena harganya murah dan mereka memberikan perlindungan privasi whois secara gratis.
Diasumsikan bahwa Anda telah menginstal LAMP stack di Ubuntu 18.04. Jika belum, silakan lihat tutorial berikut.
- Cara Memasang tumpukan LAMP (Apache, MariaDB, PHP7.2) di Ubuntu 18.04 LTS
Setelah itu, mari kita mulai menginstal phpMyAdmin.
Langkah 1:Unduh dan Instal phpMyAdmin di Ubuntu 18.04
phpMyAdmin termasuk dalam repositori perangkat lunak Ubuntu 18.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 18.04 yang sama, cukup tambahkan /phpmyadmin
setelah nama domain Anda di bilah alamat browser.
your-domain.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 http sudo ufw allow https
Sekarang Anda dapat menggunakan nama pengguna dan kata sandi MariaDB/MySQL untuk masuk ke phpMyAdmin
Langkah 3:Akses phpMyAdmin Dari Sub-domain
Jika server Ubuntu 18.04 Anda tidak memiliki host virtual Apache lainnya, 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
Tambahkan 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.
</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 18.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]
Penjelasan:
- –apache: Gunakan autentikator dan penginstal Apache
- –setuju-untuk :Setuju dengan persyaratan layanan Let's Encrypt
- –mengalihkan :Tambahkan pengalihan 301.
- –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'
dan
mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'
Jika Anda login 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.
Langkah 6:Instal phpMyAdmin Versi Stabil Terbaru
Repositori Ubuntu 18.04 dikirimkan dengan PHP7.2 dan phpMyAdmin 4.6.6. Anda dapat memeriksa versi phpMyAdmin Anda di bilah judul browser.
Namun, PHP7.2 didukung oleh phpMyAdmin sejak versi 4.7.4. Saat Anda menggunakan phpMyAdmin 4.6.6 dengan PHP7.2, Anda akan melihat pesan peringatan berikut di tab Ekspor dan Impor.
parameter must be an array or an object that implements countable
Untuk memperbaiki masalah kompatibilitas, kita dapat menginstal phpMyAdmin 4.9, yang merupakan versi stabil terbaru pada tulisan ini. Unduh dengan menggunakan wget
.
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip
Petunjuk:Anda selalu dapat menggunakan format URL di atas untuk mengunduh phpMyAdmin versi stabil terbaru. Cukup ganti 4.9.0.1 dengan nomor versi terbaru.
Kemudian ekstrak.
sudo apt install unzip unzip phpMyAdmin-4.9.0.1-all-languages.zip
Cadangkan file phpMyAdmin asli.
sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin-original
Pindahkan phpMyadmin 4.9 ke /usr/share/phpmyadmin/
direktori.
sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin
Edit file konfigurasi vendor.
sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php
Temukan baris berikut.
define('CONFIG_DIR', '');
Ubah ke
define('CONFIG_DIR', '/etc/phpmyadmin/');
Simpan dan tutup file. Kemudian buat tmp
folder untuk menyimpan file cache.
sudo mkdir /usr/share/phpmyadmin/tmp
Ubah kepemilikan pengguna dan kepemilikan grup menjadi www-data
.
sudo chown www-data:www-data /usr/share/phpmyadmin/tmp
Sekarang Anda dapat menggunakan phpMyAdmin 4.9 tanpa melihat kesalahan PHP.
Aktifkan Otentikasi Dua Faktor
Anda juga dapat memperkuat phpMyAdmin dengan mengaktifkan otentikasi dua faktor, yang merupakan fitur yang ditambahkan di versi 4.8. Untuk mengaktifkannya, login ke phpMyAdmin. Lalu pergi ke Settings
-> Two-factor authentication
dan pilih Aplikasi otentikasi (2FA) .
Setelah mengeklik Konfigurasikan autentikasi dua faktor tombol, Anda akan disajikan dengan kode QR, yang perlu Anda pindai dengan aplikasi autentikasi dua faktor di ponsel Anda.
Google Authenticator adalah aplikasi 2FA yang populer, tetapi saya merekomendasikan FreeOTP, yang merupakan aplikasi 2FA open-source yang dikembangkan oleh Red Hat. Setelah Anda memasukkan kode otentikasi yang dihasilkan oleh aplikasi 2FA Anda, otentikasi dua faktor diaktifkan. Jika sekarang Anda keluar dan masuk kembali, Anda harus memasukkan kode otentikasi selain nama pengguna dan kata sandi.