Untuk mengelola database MySQL phpMyAdmin merupakan aplikasi yang banyak digunakan oleh orang. Banyak fitur phpMyAdmin yang bisa dimanfaatkan, yang paling penting adalah tampilan UI web yang memudahkan pemula sekali pun untuk melakukan operasi database dengan mudah.

Untuk menginstall phpMyAdmin versi paling baru di CentOS 8 anda bisa mengikuti panduan ini

Install Dependency

yum install wget curl unzip mod_ssl openssl socat tar policycoreutils-python-utils -y

Install PHP 7.2

yum install php php-zip php-intl php-curl php-mbstring php-mysqlnd -y

Install MariaDB

Langkah ini opsional, tidak perlu menginstall apabila MariaDB/MySQL telah terinstall sebelumnya

yum install mariadb-server -y

jalankan MariaDB

systemctl start mariadb

agar bisa diakses dari phpMyAdmin, buat update root.

GRANT ALL PRIVILEGES ON *.* TO "root"@"localhost" IDENTIFIED BY "PASSWORD";

ganti PASSWORD dengan password yang lebih aman, contohnya pFmLqnx4mqXX4T3NPcNxnPxCR7PFRn

Install Apache

yum install httpd -y

Setting Firewall Apache

Buka port 80 dan 443 agar phpMyAdmin bisa diakses

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

Download phpMyAdmin

cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip

ekstrak file zip yang baru di download

unzip phpMyAdmin-5.0.2-all-languages.zip

ubah nama foldernya menjadi phpmyadmin

mv phpMyAdmin-5.0.2-all-languages phpmyadmin

copy file konfigurasi dari /var/www/phpmyadmin/config.sample.inc.php

cd /var/www/phpmyadmin
cp config.sample.inc.php config.inc.php

edit file config.inc.php, update bagian blowfish_secret menjadi

$cfg['blowfish_secret'] = 'nJhKxWTVhmCjW3Psb4Tg9qJH3thshK12';

Buat temporary file untuk phpMyAdmin

mkdir /var/www/html/phpmyadmin/tmp

Ubah file permission folder phpmyadmin, agar bisa diakses oleh user apache

chown apache:apache -R /var/www/html/phpmyadmin

Akses phpMyAdmin

Buka http://IP-SERVER/phpmyadmin login dengan user root dan password yang dibuat sewaktu menginstall MariaDB.

halaman login phpmyadmin 5

setelah login phpmyadmin

Install acme.sh

curl https://get.acme.sh | sh
source ~/.bashrc

Generate SSL Letsencrypt

Karena kita akan menggunakan HTTP-01 challenges untuk generate lets encrypt, apache web server harus terlebih dahulu dimatikan sementara

systemctl stop httpd

Generate SSL untuk domain phpmyadmin

acme.sh --issue -d phpmyadmin.DOMAIN.com --standalone

ssl letsecrypt berhasil diinstall

Buat folder tempat menyimpan SSL tersebut agar bisa diakses oleh Apache

mkdir /etc/httpd/ssl/

copy file SSL yang baru digenerate ke /etc/httpd/ssl/

cp -r ~/.acme.sh/phpmyadmin.jaranguda.com /etc/httpd/ssl/

ubah file permission

chown apache:apache -R /etc/httpd/ssl/

Buat file virtual host baru untuk domain phpmyadmin /etc/httpd/conf.d/phpmyadmin.jaranguda.com.conf

<VirtualHost *:80>
    ServerName phpmyadmin.jaranguda.com
    Redirect permanent / https://phpmyadmin.jaranguda.com
</VirtualHost>
<VirtualHost *:443>
    ServerName phpmyadmin.jaranguda.com
    DocumentRoot /var/www/html/phpmyadmin
 
    SSLEngine on
    SSLCertificateFile      /etc/httpd/ssl/phpmyadmin.jaranguda.com/fullchain.cer
    SSLCertificateKeyFile   /etc/httpd/ssl/phpmyadmin.jaranguda.com/phpmyadmin.jaranguda.com.key
    Protocols h2 http/1.1
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>

Setting Selinux phpMyAdmin

Setting selinux agar httpd bisa mengakses folder phpmyadmin

semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/phpmyadmin(/.*)?"
restorecon -Rv /var/www/html/phpmyadmin

terakhir restart httpd (apache web server)

systemctl restart httpd

sekarang akses halaman phpmyadmin di https://phpmyadmin.DOMAIN.com

Leave a comment

Your email address will not be published. Required fields are marked *