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.