Cara Menginstal PhpMyAdmin dengan Apache di Sistem RHEL
Dalam artikel ini, kami akan memandu Anda melalui proses langkah demi langkah dalam menginstal versi terbaru PhpMyAdmin dengan server web Apache pada distribusi berbasis RHEL seperti CentOS Stream , Fedora, Rocky Linux, dan Alma Linux.
Apa itu PhpMyAdmin?
PhpMyAdmin adalah alat manajemen basis data berbasis web yang populer dan canggih, dan memiliki versi terbaru memastikan Anda memiliki akses ke fitur-fitur terkini dan peningkatan keamanan. Di akhir panduan ini, Anda akan dapat mengelola database MySQL atau MariaDB dengan mudah menggunakan PhpMyAdmin.
Prasyarat
Sebelum kita mulai, pastikan Anda memiliki hal berikut:
- Akses ke sistem RHEL, CentOS Stream, Fedora, Rocky Linux, atau AlmaLinux.
- Pastikan Anda bisa masuk sebagai pengguna root atau memiliki hak sudo untuk menginstal perangkat lunak.
- Tumpukan LAMP yang sudah ada, yang mencakup Apache, MySQL/MariaDB, dan PHP. Jika Anda tidak memiliki LAMP, Anda dapat mengikuti langkah-langkah berikut untuk menyiapkannya.
Langkah 1: Perbarui Sistem
Sebelum menginstal perangkat lunak apa pun, penting untuk memastikan bahwa sistem Anda mutakhir dengan menjalankan perintah dnf berikut.
sudo dnf update
Ini akan memperbarui semua paket di sistem Anda ke versi terbaru.
Langkah 2: Instal Server Web Apache
PhpMyAdmin adalah alat berbasis web, dan untuk menggunakannya, Anda perlu menginstal server web Apache menggunakan perintah berikut.
sudo dnf install httpd
Setelah terinstal, mulai layanan Apache dan aktifkan untuk memulai saat boot.
sudo systemctl start httpd
sudo systemctl enable httpd
Langkah 3: Instal MariaDB atau MySQL
Anda juga memerlukan server database. Anda dapat memilih untuk menginstal MariaDB atau MySQL, namun kami akan menggunakan MariaDB dalam contoh ini.
sudo dnf install mariadb-server
Setelah terinstal, mulai layanan MariaDB dan aktifkan untuk memulai saat boot.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Selanjutnya, amankan instalasi MariaDB Anda dengan menjalankan skrip, yang akan meminta Anda memasukkan kata sandi untuk pengguna root, melarang login root jarak jauh, dan menghapus pengguna anonim. Ini juga akan menghapus database pengujian, yang secara default dapat diakses oleh pengguna anonim.
sudo mysql_secure_installation
Langkah 4: Instal PHP
PhpMyAdmin dibuat dengan PHP, jadi kita perlu menginstal PHP dan beberapa ekstensi yang diperlukan menggunakan perintah berikut.
sudo dnf install php php-mysqlnd php-json php-mbstring
Langkah 5: Instal PhpMyAdmin
Sekarang, mari kita lanjutkan dengan menginstal PhpMyAdmin di sistem Linux kita dengan menavigasi ke direktori akar dokumen server web /var/www/html seperti yang ditunjukkan.
cd /var/www/html
Selanjutnya, unduh PhpMyAdmin versi terbaru menggunakan perintah wget berikut seperti yang ditunjukkan.
sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
Setelah diunduh, ekstrak arsip yang diunduh dan ganti nama direktori untuk kenyamanan.
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin
Buat file konfigurasi untuk PhpMyAdmin.
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Edit file konfigurasi:
sudo nano /var/www/html/phpmyadmin/config.inc.php
Temukan baris berikut dan atur blowfish_secret Anda sendiri:
$cfg['blowfish_secret'] = 'your_secret';
Simpan dan keluar dari file.
Langkah 6: Buka Port Apache di firewalld
Secara default, Apache biasanya menggunakan port 80 dan 443 untuk HTTP dan HTTPS, masing-masing. Untuk membuka port Apache dan mengizinkan akses ke PhpMyAdmin di server Anda, jalankan:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload
Perintah ini menambahkan aturan untuk mengizinkan lalu lintas masuk pada port yang ditentukan dan memuat ulang firewall untuk menerapkan perubahan.
Langkah 7: Mulai ulang Server Web Apache
Terakhir, restart Apache untuk menerapkan perubahan:
sudo systemctl restart httpd
Langkah 8: Akses PhpMyAdmin
Anda sekarang dapat mengakses PhpMyAdmin melalui browser web Anda dengan menavigasi ke alamat IP server atau nama domain Anda diikuti dengan “/phpmyadmin” di URL:
http://your_server_ip/phpmyadmin
Masuk menggunakan kredensial MySQL atau MariaDB Anda.
Langkah 9: Izinkan Akses Eksternal di PhpMyAdmin
Buka file konfigurasi PhpMyAdmin.
sudo vi /etc/httpd/conf/httpd.conf
Temukan bagian
atau bagian di mana PhpMyAdmin Anda dikonfigurasi dan perbarui direktif Require
untuk mengizinkan semua alamat IP untuk mengakses PhpMyAdmin.
<Directory "/var/www/html/phpmyadmin">
...
Require all granted
...
</Directory>
Konfigurasi di atas mengizinkan akses dari alamat IP mana pun, namun jika Anda ingin membatasi akses ke IP tertentu, ganti Require all grant
dengan Require ip your_ip
.
Mulai ulang Apache untuk menerapkan perubahan.
sudo systemctl restart httpd
Sekarang, Anda seharusnya dapat mengakses PhpMyAdmin dari dunia luar menggunakan alamat IP atau domain server Anda.
http://your_server_ip/phpmyadmin
Ingat, membuka akses ke PhpMyAdmin dari dunia luar dapat menimbulkan risiko keamanan. Pastikan Anda memiliki mekanisme autentikasi yang kuat dan pertimbangkan untuk menggunakan HTTPS untuk komunikasi terenkripsi. Selain itu, batasi akses hanya ke alamat IP tepercaya jika memungkinkan atau amankan URL login PhpMyAdmin.
Ubah URL Masuk phpMyAdmin
URL login default untuk phpMyAdmin dapat diprediksi dan biasanya ditargetkan oleh pelaku jahat yang mencoba mengeksploitasi kerentanan. Mengubah URL login menambah lapisan keamanan tambahan, sehingga lebih sulit bagi pengguna yang tidak sah untuk mendapatkan akses ke antarmuka manajemen database Anda.
Untuk melakukannya, buat file konfigurasi /etc/httpd/conf.d/phpMyAdmin.conf.
vi /etc/httpd/conf.d/phpMyAdmin.conf
Selanjutnya, tambahkan konfigurasi berikut.
#Alias /phpMyAdmin /var/www/html/phpmyadmin
Alias /my /var/www/html/phpmyadmin
<Directory /var/www/htm/lphpmyadmin>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
# Additional IP or hostname-based access control can be added here
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
# Additional IP or hostname-based access control can be added here
</IfModule>
</Directory>
Ganti /my
dengan URL login khusus yang Anda inginkan. Simpan perubahan dan keluar dari editor teks.
Setelah melakukan perubahan pada file konfigurasi, restart Apache untuk menerapkan modifikasi:
systemctl restart httpd
Buka browser web Anda dan navigasikan ke URL login phpMyAdmin yang baru.
http://yourdomain.com/my/
Menyiapkan SSL untuk phpMyAdmin
Mengamankan komunikasi antara server web Apache dan phpMyAdmin sangat penting untuk melindungi informasi sensitif seperti kredensial login dan konten database. Salah satu cara efektif untuk mencapai hal ini adalah dengan mengonfigurasi SSL (Secure Socket Layer) untuk phpMyAdmin di server web Apache.
Untuk melakukannya, pertama-tama instal modul mod_ssl di server Anda.
yum install httpd mod_ssl openssl
Selanjutnya, buat direktori untuk menyimpan sertifikat dan buat sertifikat SSL dan kunci pribadi yang ditandatangani sendiri seperti yang ditunjukkan.
mkdir /etc/httpd/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt
Setelah membuat sertifikat dan kunci SSL, buka file konfigurasi Apache SSL.
vi /etc/httpd/conf.d/ssl.conf
Selanjutnya, tambahkan baris berikut ke file konfigurasi.
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
Simpan perubahan dan mulai ulang server web Apache.
systemctl restart httpd
Sekarang, buka file konfigurasi phpMyAdmin.
vi /var/www/html/phpmyadmin/config.inc.php
Tambahkan baris berikut untuk memaksa SSL untuk phpMyAdmin.
$cfg['ForceSSL'] = true;
Simpan perubahan dan keluar dari editor teks.
Terakhir, buka browser web Anda dan navigasikan ke URL berikut untuk mengakses phpMyAdmin melalui koneksi SSL yang aman.
https://yourdomain.com/my/
Mohon diperhatikan bahwa pesan yang menunjukkan koneksi tidak aman semata-mata disebabkan oleh penggunaan sertifikat yang ditandatangani sendiri. Untuk melanjutkan, klik “Lanjutan” dan tegaskan pengecualian keamanan.
Kesimpulan
Selamat! Anda telah berhasil menginstal PhpMyAdmin dengan Apache di sistem RHEL, CentOS Stream, Rocky Linux, atau AlmaLinux Anda. Alat berbasis web ini menyederhanakan pengelolaan basis data Anda, sehingga memudahkan tugas-tugas seperti pembuatan basis data, kueri, dan pengelolaan data.