phpMyAdmin adalah alat administrasi sumber terbuka dan gratis untuk MySQL dan MariaDB. Sebagai aplikasi web portabel yang ditulis dalam PHP, ini telah menjadi salah satu alat administrasi MySQL paling populer, khususnya untuk layanan hosting web. Alat ini menyediakan antarmuka web yang ramah pengguna untuk mengakses dan mengelola database Anda.
Berikut adalah fitur-fitur utama dan sorotan yang menjadikan phpMyAdmin pilihan tepat untuk manajemen basis data:
- Antarmuka berbasis web: Akses dan kelola database Anda dari mana saja melalui browser web.
- Manajemen Basis Data Komprehensif: Melakukan berbagai aktivitas, termasuk menelusuri database, tabel, kolom, relasi, indeks, pengguna, izin, dan menjalankan pernyataan SQL.
- Impor dan Ekspor Data: Impor data dengan mudah dari CSV dan SQL serta ekspor data ke berbagai format, seperti CSV, SQL, XML, PDF, ISO/IEC 26300—Teks dan Spreadsheet OpenDocument, Word, Excel, LATEX, dan lainnya.
- Fitur MySQL: Dukungan penuh untuk fitur MySQL, termasuk pengelolaan database, tabel, kolom, relasi, indeks, pengguna, dan izin.
- Kueri Tingkat Lanjut: Fitur Query-by-example (QBE) membuat kueri yang kompleks.
- Visualisasi: Hasilkan representasi visual dari database Anda dan strukturnya.
- Kompatibilitas PHP: Sepenuhnya ditulis dalam PHP, memastikan kompatibilitas dengan sistem PHP.
- Dukungan Multi-bahasa: Tersedia dalam 78 bahasa, sehingga dapat diakses oleh pengguna di seluruh dunia.
Fitur-fitur ini menyoroti kemampuan phpMyAdmin untuk menangani berbagai tugas manajemen database secara efisien, melayani pengguna pemula dan berpengalaman. Selanjutnya, mari selami langkah-langkah teknis untuk menginstal dan mengkonfigurasi phpMyAdmin dengan Nginx di Ubuntu.
Perbarui Ubuntu Sebelum Instalasi LEMP
Untuk kelancaran proses instalasi dan mencegah konflik sebelum memulai tutorial, perbarui sistem Anda dengan paket terbaru:
sudo apt update && sudo apt upgrade
Instal LEMP Stack untuk phpMyAdmin
Instal Bagian Nginx dari LEMP
Untuk menyiapkan tumpukan LEMP, mulailah dengan menginstal Nginx dengan perintah di bawah ini:
sudo apt install nginx
Layanan ini biasanya diaktifkan secara default setelah instalasi. Namun, selalu verifikasi dan pastikan berfungsi dengan benar:
systemctl status nginx
Jika server tidak diaktifkan, gunakan perintah berikut untuk mengaktifkannya dan atur Nginx untuk memulai secara otomatis setiap kali reboot:
sudo systemctl enable nginx --now
Instal Bagian MariaDB dari LEMP
Tahap kedua dari instalasi LEMP melibatkan instalasi komponen database. MariaDB biasanya merupakan pilihan yang lebih disukai di tumpukan LEMP dibandingkan MySQL karena peningkatan kinerja dan keunggulan lainnya. Jika Anda lebih memilih untuk menginstal versi MariaDB yang berbeda dari repositori resmi yang disediakan oleh MariaDB.org, Anda dapat menemukan panduan kami di menginstal MariaDB 11.x atau 10.x di Ubuntu.
Untuk menginstal MariaDB, jalankan perintah berikut di terminal Anda.
sudo apt install mariadb-server mariadb-client
Setelah instalasi, verifikasi status layanan MariaDB, seperti yang Anda lakukan untuk Nginx, untuk memastikan layanan tersebut diaktifkan dan beroperasi dengan benar tanpa kesalahan.
systemctl status mariadb
Jika server tidak diaktifkan, gunakan perintah berikut untuk mengaktifkan dan memulai MariaDB saat reboot:
sudo systemctl enable mariadb --now
Jalankan Skrip Keamanan Instalasi MariaDB Post di Ubuntu
Jalankan skrip keamanan instalasi selama proses instalasi MariaDB untuk mengamankan instalasi Anda dan mencegah potensi eksploitasi atau intrusi oleh pelaku jahat. Industri sangat merekomendasikan skrip ini, karena versi baru MariaDB sering kali dilengkapi dengan pengaturan default yang dianggap lemah dan berisiko.
Untuk memulai, jalankan perintah berikut untuk meluncurkan (mysql_secure_installation):
sudo mysql_secure_installation
Setelah skrip mysql_secure_installation dijalankan, langkah selanjutnya adalah mengonfigurasi pengaturan. Ini termasuk mengatur kata sandi root, membatasi akses jarak jauh dari sumber eksternal, menghapus akun pengguna anonim, dan menghilangkan database pengujian. Langkah-langkah ini membantu mengamankan instalasi MariaDB Anda dan mencegah potensi ancaman keamanan.
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
... Success!
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Instal Bagian PHP dari LEMP
Menyelesaikan proses instalasi LEMP memerlukan instalasi layanan PHP, perantara antara Nginx dan MariaDB. Layanan PHP-FPM dan modul tambahan yang diperlukan oleh phpMyAdmin memfasilitasi hal ini. Jika Anda ingin menginstal versi PHP yang berbeda, konsultasikan panduan kami tentang menginstal PHP 8.x di Ubuntu untuk informasi cara menginstal versi PHP yang sesuai dengan kebutuhan Anda.
Untuk menginstal PHP dan PHP-FPM serta modul yang diperlukan pada sistem Ubuntu Anda, jalankan perintah berikut di terminal Anda.
sudo apt install php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-gd
Setelah instalasi, verifikasi status layanan PHP, seperti yang Anda lakukan untuk MariaDB, untuk memastikan layanan tersebut diaktifkan dan berjalan dengan benar tanpa kesalahan.
Contoh perintah khusus untuk versi PHP yang diinstal; dalam hal ini, untuk PHP 8.1.
systemctl status php8.1-fpm
Aktifkan layanan PHP dengan perintah berikut jika belum aktif; perintah ini juga memastikan layanan dimulai secara otomatis setiap kali reboot.
sudo systemctl enable php-fpm --now
Instal Backend phpMyAdmin di Ubuntu
Bagian ini akan mencakup pengunduhan arsip PHPMyAdmin dan pembuatan direktori, izin, dan entri basis data yang diperlukan.
Buat Nama Pengguna Super phpMyAdmin
Akses phpMyAdmin secara default dengan pengguna root. Namun, demi keamanan, buatlah superuser terpisah daripada menggunakan pengguna root, selaras dengan penggunaan pengguna sudo di Linux daripada login sebagai root. Mulailah dengan masuk ke antarmuka terminal:
sudo mariadb -u root
Setelah masuk ke antarmuka terminal, langkah selanjutnya adalah membuat database di terminal MariaDB.
CREATE USER PMAUSER IDENTIFIED BY 'password here change';
Langkah selanjutnya adalah membuat pengguna dan memberikan izin yang sesuai, seperti diuraikan di bawah ini:
GRANT ALL PRIVILEGES ON *.* TO 'PMAUSER'@'localhost' IDENTIFIED BY 'password here change' WITH GRANT OPTION;
Catatan: Anda harus mengubah contoh kata sandi “kata sandi di sini ubah” sebelum menjalankan perintah. Perbarui kata sandi, bukan hanya menyalin dan menempelkannya.
Tetapkan pengguna dan izin, lalu segera hapus hak istimewa untuk mengaktifkan perubahan.
FLUSH PRIVILEGES;
Untuk keluar dari terminal MariaDB, gunakan perintah berikut.
QUIT;
Unduh Sumber phpMyAdmin
Di bagian ini, kita akan membahasnya mengunduh arsip sumber untuk phpMyAdmin. Jika Anda menggunakan terminal baris perintah, ada metode mudah untuk mengunduh versi terbaru semua bahasa.
Untuk mengunduh arsip phpMyAdmin, jalankan perintah berikut di terminal.
DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz
Jika Anda lebih suka mengunduh phpMyAdmin versi bahasa Inggris saja, ganti baris akhir perintah sebelumnya dengan yang berikut:
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz
Setelah mendownload arsip phpMyAdmin, langkah selanjutnya adalah mengekstraknya dengan menjalankan perintah berikut:
tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz
Konfigurasikan phpMyAdmin
Langkah selanjutnya melibatkan pemindahan semua file yang diekstraksi ke tujuan akhirnya di direktori standar /var/www/ menggunakan perintah mv.
sudo mv phpMyAdmin-*/ /var/www/phpmyadmin
Menginstal phpMyAdmin dari sumbernya tidak memerlukan direktori TMP secara default. Akibatnya, Anda perlu membuat direktori ini secara manual.
sudo mkdir /var/www/phpmyadmin/tmp
Direktori phpMyAdmin berisi file contoh konfigurasi default. Ganti nama file ini agar phpMyAdmin mengenalinya. Gunakan perintah CP untuk membuat cadangan file default, buat salinan di direktori /var/www/phpmyadmin/.
Untuk menyalin config.sample.inc.php ke config.inc.php, jalankan perintah berikut:
sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
Setelah menyalin file, buka dengan editor teks pilihan Anda. Editor teks nano adalah contohnya:
sudo nano /var/www/phpmyadmin/config.inc.php
phpMyAdmin menggunakan sandi Blowfish. Untuk mengakses pengaturan ini, gulir ke bawah ke baris yang dimulai dengan $cfg['blowfish_secret'].
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Anda harus menetapkan 32 karakter acak dalam tanda kutip tunggal. Cara termudah untuk menghasilkan string ini adalah dengan menggunakan program pwgen. Untuk menginstal pwgen, jalankan perintah terminal berikut:
sudo apt install pwgen
Setelah instalasi, jalankan perintah berikut:
pwgen -s 32 1
Ini akan memberi Anda serangkaian 32 karakter acak untuk digunakan sebagai rahasia ikan buntal, misalnya:
Contoh menambahkan cipher ke file konfigurasi (Jangan ditiru):
$cfg['blowfish_secret'] = 'GO4GpscnhJbzB3HN7dgqvRzdIvIxXaaq'
Bagi sebagian besar pengguna, pengaturan default sudah cukup. Namun, jika server Anda berada di server lain dalam jaringan Anda, cari dan ubah baris $cfg['Servers'][$i]['host'] untuk mencerminkan alamat IP pribadi. Lihat contoh di bawah ini:
$cfg['Servers'][$i]['host'] = '192.168.55.101';
Konfigurasikan Izin File phpMyAdmin
Menetapkan izin pemilik direktori ke pengguna www sangat penting untuk memastikan kompatibilitas dan keamanan.
Untuk mengatur izin chown:
sudo chown -R www-data:www-data /var/www/phpmyadmin/
Untuk mengatur izin chmod:
sudo find /var/www/phpmyadmin/ -type d -exec chmod 755 {} \;
sudo find /var/www/phpmyadmin/ -type f -exec chmod 644 {} \;
Buat Blok Server Nginx untuk phpMyAdmin
Buat blok server Nginx untuk mengakses antarmuka web phpMyAdmin. Demi keamanan dan mencegah serangan brute force, sebaiknya buat sub-domain terpisah, yang dapat Anda beri nama sesuai kebijaksanaan Anda.
Untuk memulai, buat dan buka blok server Anda menggunakan editor teks nano, seperti yang ditunjukkan di bawah ini:
sudo nano /etc/nginx/sites-available/phpmyadmin.conf
Setelah membuka file blok server, Anda dapat menempelkan teks berikut ke dalam file. Pastikan untuk mengganti URL domain dengan milik Anda:
server {
listen 80;
listen [::]:80;
server_name pma.example.com;
root /var/www/phpmyadmin/;
index index.php index.html index.htm index.nginx-debian.html;
access_log /var/log/nginx/phpmyadmin_access.log;
error_log /var/log/nginx/phpmyadmin_error.log;
location / {
try_files $uri $uri/ /index.php;
}
location ~ ^/(doc|sql|setup)/ {
deny all;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location ~ /\.ht {
deny all;
}
}
Contoh di atas mencakup beberapa catatan penting:
- /run/php/php8.1-fpm.sock; – Ini harus diubah untuk mencerminkan versi PHP-FPM Anda, seperti 8.0, 7.4, dll.
- root /var/www/phpmyadmin/; – Ini adalah jalur yang diatur dalam tutorial. Baris ini harus diperbarui jika Anda menempatkan phpMyAdmin di lokasi yang berbeda.
Jika Anda satu-satunya orang yang mengakses server dari alamat IP statis, Anda dapat menambahkan kode berikut di atas entri lokasi pertama. Contohnya diberikan di bawah ini:
allow <your ip address>;
deny all;
location / {
try_files $uri $uri/ /index.php;
}
...........................................
Ini akan memblokir pengunjung tidak sah ke halaman yang memiliki kesalahan 403, dan hanya mengizinkan akses dari alamat IP Anda. Ini secara efektif dapat menghentikan serangan brute force tetapi mungkin tidak cocok untuk semua pengaturan. Untuk menyimpan perubahan, gunakan (CTRL+O) dan keluar dari editor dengan (CTRL+X).
Buat symlink dari direktori situs yang tersedia ke direktori situs yang diaktifkan untuk menyimpan file konfigurasi.
sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/
Sebelum memulai ulang layanan Nginx, melakukan uji coba kering, terutama di lingkungan live, sangat penting untuk memastikan bahwa blok server atau perubahan lain apa pun pada file konfigurasi Anda tidak mengakibatkan kesalahan Nginx.
sudo nginx -t
Jika konfigurasi Anda bebas kesalahan, Anda akan menerima keluaran berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Untuk menerapkan perubahan, mulai ulang layanan Nginx Anda:
sudo systemctl restart nginx
Akses UI Web phpMyAdmin
Untuk mengakses antarmuka web, buka browser internet pilihan Anda dan ketik pma.example.com, ganti “example” dengan domain Anda. Anda akan tiba di layar login phpMyAdmin, seperti yang ditunjukkan di bawah ini:
Masukkan kredensial login Anda dan lanjutkan ke dashboard phpMyAdmin, yang contohnya dapat Anda lihat di bawah.
Perlu dicatat bahwa halaman statistik juga tersedia untuk pengguna baru phpMyAdmin.
Halaman bermanfaat lainnya yang perlu diperhatikan adalah sistem penasihat.
Penasihat merekomendasikan menunggu 24 jam tetapi pertimbangkan minimal 72 jam. Jangan hanya mengandalkan halaman penasihat; membuat perubahan setelah pertimbangan dan pengujian menyeluruh. Mengoptimalkan file konfigurasi MySQL atau MariaDB memerlukan waktu, dan Anda mungkin perlu mengedit dan menguji beberapa kali untuk mencapai hasil yang diinginkan.
Amankan Instalasi LEMP phpMyAdmin melalui SSL
Menjalankan Nginx di HTTPS dengan sertifikat SSL sangat ideal untuk keamanan terbaik. Cara termudah untuk mencapai hal ini adalah dengan menggunakan Let's Encrypt, otoritas sertifikat gratis, otomatis, dan terbuka yang dijalankan oleh Internet Security Research Group (ISRG) nirlaba.
Untuk memulai, instal paket certbot dengan perintah berikut:
sudo apt install python3-certbot-nginx -y
Setelah menginstal paket certbot, jalankan perintah berikut untuk memulai pembuatan sertifikat:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d pma.example.com
Selama instalasi sertifikat, sistem akan meminta Anda untuk menerima email dari EFF (Electronic Frontier Foundation). Pilih Y atau N. Pilihan ini akan memicu instalasi otomatis dan konfigurasi sertifikat TLS Anda dengan pengaturan optimal. Pengaturan ini mencakup pengalihan HTTPS 301, header Strict-Transport-Security, dan OCSP Stapling, semuanya disesuaikan dengan email dan nama domain Anda. Setelah dipasang, URL Anda akan bertransisi dari HTTP://pma.example.com ke HTTPS://pma.example.com yang aman, dan secara otomatis mengalihkan URL HTTP lama ke versi aman.
Untuk menambah kenyamanan, Anda dapat mengatur tugas cron untuk memperbarui sertifikat Anda secara otomatis, dan Certbot menyediakan skrip untuk menangani hal ini secara otomatis. Sebelum menyiapkannya, Anda dapat melakukan uji coba kering untuk memastikan semuanya berfungsi dengan benar.
sudo certbot renew --dry-run
Untuk membuka jendela crontab, jalankan perintah terminal berikut:
sudo crontab -e
Pastikan Anda memeriksa perpanjangan setiap hari untuk mempertahankan sertifikat terbaru. Jika pembaruan diperlukan, skrip akan memperbarui sertifikat secara otomatis.
00 00 */1 * * /usr/sbin/certbot-auto renew
Kesimpulan
Sepanjang panduan ini, kami memandu Anda dalam menginstal phpMyAdmin dengan Nginx di Ubuntu 24.04, 22.04, atau 20.04 LTS, melakukan perjalanan dari dasar-dasar baris perintah hingga membuat sistem manajemen database Anda berjalan semulus mungkin. Ingat, selalu memperbarui perangkat lunak Anda dan mengamankan instalasi phpMyAdmin Anda adalah langkah penting yang tidak boleh diabaikan. Penyiapan yang dikonfigurasi dengan baik akan meningkatkan alur kerja Anda dan memperkuat data Anda dari potensi ancaman. Jadi, luangkan waktu sejenak untuk memuji diri Anda sendiri karena menambahkan alat lain ke gudang pengembangan web Anda. Jangan ragu untuk menyelami lebih dalam fitur dan fungsi yang ditawarkan phpMyAdmin. Selamat mengelola!
Tautan Berguna
Berikut beberapa tautan berharga terkait penggunaan phpMyAdmin dan alat terkait:
- Situs Resmi phpMyAdmin: Kunjungi situs web resmi phpMyAdmin untuk informasi tentang alat manajemen basis data, fitur, dan opsi pengunduhan.
- Dokumentasi phpMyAdmin: Akses dokumentasi komprehensif untuk panduan terperinci tentang instalasi, konfigurasi, dan penggunaan phpMyAdmin.
- Tema phpMyAdmin: Jelajahi tema yang tersedia untuk menyesuaikan tampilan phpMyAdmin.
- Repositori GitHub phpMyAdmin: Akses repositori GitHub phpMyAdmin untuk melihat kode sumber, melaporkan masalah, dan berkontribusi pada pengembangan.
Alat Terkait
- Situs Resmi MariaDB: Kunjungi situs web MariaDB untuk informasi tentang sistem basis data, opsi pengunduhan, dan sumber daya komunitas.
- Situs Resmi MySQL: Akses situs web MySQL untuk informasi produk, fitur, dan opsi pengunduhan.
- Situs Resmi PHP: Jelajahi situs web PHP untuk dokumentasi, panduan instalasi, dan sumber daya untuk pengembangan PHP.