Pengenalan

phpMyAdmin merupakan aplikasi open source yang ditulis menggunakan PHP untuk mengelola server database MySQL dan MariaDB melalui antarmuka Web.

phpMyAdmin memiliki dukungan untuk berbagai operasi di MySQL, MariaDB, dan Drizzle. Dengan phpMyAdmin, Anda dapat mengelola database, tables, columns, relations, indexes, useres, permissions, dan lainnya melalui antarmuka web yang intuitif dan mudah digunakan.

Instalasi phpMyAdmin

Untuk mengikuti tutorial ini pastikan Anda telah melakukan instalasi web server nginx, module php, dan database MySQL, untuk panduannya dapat mengikuti link berikut:

Pastikan module php-mysqlnd sudah terinstall

[[email protected] ~]# 
[[email protected] ~]# php -m |grep mysqlnd
mysqlnd
[email protected] ~]#

Pastikan juga untuk php-fpm sudah listen, nantinya akan digunakan sebagao socket

[[email protected] ~]#
[[email protected] ~]# netstat -pl |grep php
unix  2      [ ACC ]     STREAM     LISTENING     154317   12414/php-fpm: mast  /run/php-fpm/www.sock
[[email protected] ~]#

Langkah selanjutnya mengunduh phpmyadmin latest dapat melalui link berikut: Klik DISINI

Atau Anda dapat menggunakan perintah wget seperti berikut

[[email protected] ~]#
[[email protected] ~]# wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip
--2020-03-16 14:32:58--  https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip
Resolving files.phpmyadmin.net (files.phpmyadmin.net)... 89.187.162.46
Connecting to files.phpmyadmin.net (files.phpmyadmin.net)|89.187.162.46|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14425350 (14M) [application/zip]
Saving to: ‘phpMyAdmin-5.0.1-all-languages.zip’

phpMyAdmin-5.0.1-all-languages.z 100%[=========================================================>]  13.76M  37.7MB/s    in 0.4s    

2020-03-16 14:32:59 (37.7 MB/s) - ‘phpMyAdmin-5.0.1-all-languages.zip’ saved [14425350/14425350]

[[email protected] ~]# 

Selanjutnya unzip file phpmyadmin yang baru saja di unduh

[[email protected] ~]#
[[email protected] ~]# unzip phpMyAdmin-5.0.1-all-languages.zip

Ubah nama direktori phpmyadmin sesuai keinginan hal ini hanya untuk mempermudah penamaan direktori saja

[[email protected] ~]#
[roo[email protected] ~]# mv phpMyAdmin-5.0.1-all-languages phpmyadmin
[[email protected] ~]#

Jika sudah pindah atau copy direktori phpmyadmin ke root direktori web server nginx

[[email protected] ~]# cp -R phpmyadmin/ /usr/share/nginx/
[[email protected] ~]# 

Selanjutnya copy sample konfigurasi phpmyadmin

[[email protected] ~]# cp /usr/share/nginx/phpmyadmin/config{.sample,}.inc.php
[[email protected] ~]# 

Konfigurasi phpmyadmin, disini kita akan membuat blowfish secret untuk otentikasi berbasis cookie untuk mengenkripsi kata sandi dalam cookie. Untuk membuatnya dapat secara online melalui link berikut: phpMyAdmin blowfish secret generator.

[[email protected] ~]# 
[[email protected] ~]# vim /usr/share/nginx/phpmyadmin/config.inc.php 

Isi dan sesuaikan seperti berikut ini

// $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['blowfish_secret'] = 'pv]oH-=27-8{CL:6JuAHw;BFdzKI}fOe';

Langkah selanjutnya membuat server block nginx untuk phpmyadmin

[[email protected] ~]#
[[email protected] ~]# vim /etc/nginx/conf.d/phpmyadmin.conf

Berikut contoh server block nya

server {
    listen       80;
    server_name  phpmyadmin.nurhamim.net;
    root         /usr/share/nginx/phpmyadmin;

    access_log /var/log/nginx/phpmyadmin.nurhamim.net_access.log;
    error_log /var/log/nginx/phpmyadmin.nurhamim.net_error.log;

    index   index.php;

    location / {
        try_files    $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
         try_files $uri =404;
         fastcgi_intercept_errors on;
         include        fastcgi_params;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         fastcgi_pass unix:/run/php-fpm/www.sock;
     }
}

Pada konfigurasi server block diatas silakan sesuaikan untuk server_name disini kami menggunakan subdomain phpmyadmin.nurhamim.net.

Jika Anda ingin mempelajari tentang server block nginx dapat melalui link berikut: Cara Membuat Server Block Nginx Di CentOS 8

Langkah selanjutnya memastikan konfigurasi server block nginx tidak ada yang error menggunakan perintah berikut

[[email protected] ~]#
[[email protected] ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok  
nginx: configuration file /etc/nginx/nginx.conf test is successful
[[email protected] ~]#

Melakukan restar terhadap service web server nginx dan php-fpm

[[email protected] ~]# 
[[email protected] ~]# systemctl restart nginx
[[email protected] ~]# systemctl restart php-fpm

Pastikan subdomain phpmyadmin.nurhamim.net sudah mengarah ke IP VM dengan cara pointing A record contohnya seperti berikut

Bisa diverisikan menggunakan ping ke subdomain phpmyadmin.net

[email protected]:~$
[email protected]:~$ ping phpmyadmin.nurhamim.net -c3
PING phpmyadmin.nurhamim.net (103.93.53.147) 56(84) bytes of data.
64 bytes from 103.93.53.147 (103.93.53.147): icmp_seq=1 ttl=60 time=22.2 ms
64 bytes from 103.93.53.147 (103.93.53.147): icmp_seq=2 ttl=60 time=0.520 ms
64 bytes from 103.93.53.147 (103.93.53.147): icmp_seq=3 ttl=60 time=0.635 ms

--- phpmyadmin.nurhamim.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2024ms
rtt min/avg/max/mdev = 0.520/7.812/22.281/10.231 ms
[email protected]:~$ 

Jika semuanya sudah sesuai silakan akses subdomain phpmyadmin.nurhamim.net melalui browser seperti berikut

Untuk login menggunakan user root dan password root yang sudah ditentukan pada saat instalasi MySQL.

Jika berhasil akan menampilkan default dashboard phpmyadmin

Sekian tutorial terkait instalasi phpmadmin menggunakan Nginx di CentOS 8

Selamat mencoba semoga bermanfaat 👌

See You 😃