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.
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
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