Instalasi phpMyAdmin

Muhammad Fajri
Friday, 02 April 2021

Bismillahirrahmanirrahim.

Untuk memudahkan mengelolah (me-manage) database server, maka diperlukan sebuah untuk agar pengelolaan database dapat dilakukan secara GUI tanpa harus menggunakan perintah-perintah SQL untuk mengelola database yang berbasis CLI.

Di pembahasan ini akan dilakukan instalasi phpMyAdmin sebagai tool administrasi MySQL/MariaDB berbasis grafis seperti menambah, menghapus dan mengubah isi database.

Langsung saja kita lakukan instalasinya.

Instal phpMyAdmin

Jalankan perintah:

sudo pacman -S phpmyadmin

Output paket yang akan diinstal:

resolving dependencies...                                                  
looking for conflicting packages...

Packages (1) phpmyadmin-5.1.0-1

Total Download Size:    8.26 MiB
Total Installed Size:  51.02 MiB

:: Proceed with installation? [Y/n] #Press enter

Setelah terinstal, edit file php.ini:

sudo nano /etc/php/php.ini

Hapus tanda komentar ; pada baris berikut:

extension=bz2
extension=mysqli

Simpan dan tutup file.

Membuat File Konfigurasi phpMyAdmin

sudo nano /etc/httpd/conf/extra/phpmyadmin.conf

Tambahkan baris berikut:

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>

Berikutnya, buka file konfigurasi Apache:

sudo nano /etc/httpd/conf/httpd.conf

Tambahkan baris berikut di bagian akhir:

Include conf/extra/phpmyadmin.conf

Simpan dan tutup file.

Restart service httpd sekali lagi.

sudo systemctl restart httpd

Tes phpMyAdmin

Buka web browser dan arahkan ke alamat http://localhost/phpmyadmin atau http://127.0.0.1/phpmyadmin untuk server yang berjalan secara lokal.

phpmyadmin_test

Saya menemui error di atas dan kembali membuka file /etc/php/php.ini dan menghilangkan komentar pada baris ;extension=iconv. Setelah itu, melakukan restart service httpd dan service mysqld.

Saat menjalankan browser, kembali ditemui error berikut tapi halaman login phpMyAdmin sudah ditampilkan.

Warning in ./libraries/classes/Config.php#1282
mkdir(): Permission denied

Backtrace

./libraries/classes/Config.php#1282: mkdir(
string '/usr/share/webapps/phpMyAdmin/tmp/twig',
integer 504,
boolean true,
)
./libraries/classes/Template.php#57: PhpMyAdmin\Config->getTempDir(string 'twig')
./libraries/classes/Theme.php#101: PhpMyAdmin\Template->__construct()
./libraries/classes/Theme.php#174: PhpMyAdmin\Theme->__construct()
./libraries/classes/ThemeManager.php#307: PhpMyAdmin\Theme::load(
string './themes/original',
string '/usr/share/webapps/phpMyAdmin/./themes/original/',
)
./libraries/classes/ThemeManager.php#79: PhpMyAdmin\ThemeManager->loadThemes()
./libraries/classes/ThemeManager.php#121: PhpMyAdmin\ThemeManager->__construct()
./libraries/classes/ThemeManager.php#385: PhpMyAdmin\ThemeManager::getInstance()
./libraries/common.inc.php#232: PhpMyAdmin\ThemeManager::initializeTheme()
./index.php#15: require_once(./libraries/common.inc.php)

Di referensi ini, ditemukan cara mengatasi error di atas yaitu dengan mengaktifkan template caching.

Edit file /usr/share/webapps/phpMyAdmin/config.inc.php dan tambahkan baris ini $cfg['TempDir'] = '/tmp/phpmyadmin'; sehingga menjadi seperti ini: (manfaatkan fitur pencarian dan menginputkan host agar waktu lebih efisien)

$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['TempDir'] = '/tmp/phpmyadmin';

Setelah melakukan pengeditan, restart kembali service httpd.

Saat mencoba login dengan memasukkan Username dengan root atau mysql dengan Password kosong ditampilkan pesan error berikut.

Login without a password is forbidden by configuration (see AllowNoPassword) 

Kemudian kembali login dengan user root atau mysql dan menginputkan password, error berikut ini ditampilkan:

Cannot log in to the MySQL server

Dan di bagian bawah ditampilkan pesan:

mysqli::real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'

Setelah mencari beberapa referensi, ditemukan salah satu yang dapat membantu mengatasi error Access denied for user 'root'@'localhost' tersebut yaitu dengan membuat sebuah user baru.

Untuk mengatasinya, login sebagai root di terminal untuk dapat mengakses database.

sudo mysql -p -u -root

Setelah berhasil login, buat user baru dengan terlebih dahulu laukan perintah use pada database yang dimaksud. Dalam hal ini database mysql.

use mysql

Selanjutnya, tambahkan user baru dengan nama sesuai yang diinginkan. Untuk bagian password isikan sesuai password yang dimiliki.

Tanda % menunjukkan user baru yang akan dibuat, ke depannya dapat mengakses database dari mana saja termasuk akses melalui remote (jarak jauh). Untuk keamanan yang lebih tinggi, ganti tanda ini dengan alamat ip atau jika bekerja di lokal host dapat diganti dengan localhost atau 127.0.0.1.

CREATE USER 'mysql'@'%' IDENTIFIED BY 'password';

Berikan hak akses super user pada user baru tersebut.

GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' WITH GRANT OPTION;

Setelah selesai, restart service mysqld dan coba akses localhost dan lakukan login.

phpmyadmin_test2

Setelah berhasil login, akan ditemui error yang menyatakan bahwa The configuration file now needs a secret passphrase (blowfish_secret).

Edit kembali file /etc/webapps/phpmyadmin/config.inc.php.

sudo nano /etc/webapps/phpmyadmin/config.inc.php

Temukan baris berikut dan tentukan bluefish secret passphrase:

$cfg['blowfish_secret'] = '`MyP@$S`'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Di bagian atas baris tersebut terdapat keterangan:

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie. Needs to be 32 chars long.
 */

Silahkan disesuaikan dengan menginputkan karakter random paling sedikit 32 karakter.

Setelah selesai, restart service httpd dan silahkan dicoba untuk login.

sudo systemctl restart httpd

Peringatan yang lain ditampilkan di bagian bawah dashboard phpMyAdmin.

The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why.
Or alternately go to 'Operations' tab of any database to set it up there. 

Saat Find out why diklik, menampilkan pesan:

Configuration of pmadb… not OK
General relation features Disabled
Create a database named 'phpmyadmin' and setup the phpMyAdmin configuration storage there. 

Berikutnya, saat diklik Create menampilkan hasil sebagai berikut:

$cfg['Servers'][$i]['pmadb'] ... 	OK
$cfg['Servers'][$i]['relation'] ... 	OK
General relation features: Enabled
 
$cfg['Servers'][$i]['table_info'] ... 	OK
Display Features: Enabled
 
$cfg['Servers'][$i]['table_coords'] ... 	OK
$cfg['Servers'][$i]['pdf_pages'] ... 	OK
Designer and creation of PDFs: Enabled
 
$cfg['Servers'][$i]['column_info'] ... 	OK
Displaying Column Comments: Enabled
Browser transformation: Enabled
 
$cfg['Servers'][$i]['bookmarktable'] ... 	OK
Bookmarked SQL query: Enabled
 
$cfg['Servers'][$i]['history'] ... 	OK
SQL history: Enabled
 
$cfg['Servers'][$i]['recent'] ... 	OK
Persistent recently used tables: Enabled
 
$cfg['Servers'][$i]['favorite'] ... 	OK
Persistent favorite tables: Enabled
 
$cfg['Servers'][$i]['table_uiprefs'] ... 	OK
Persistent tables' UI preferences: Enabled
 
$cfg['Servers'][$i]['tracking'] ... 	OK
Tracking: Enabled
 
$cfg['Servers'][$i]['userconfig'] ... 	OK
User preferences: Enabled
 
$cfg['Servers'][$i]['users'] ... 	OK
$cfg['Servers'][$i]['usergroups'] ... 	OK
Configurable menus: Enabled
 
$cfg['Servers'][$i]['navigationhiding'] ... 	OK
Hide/show navigation items: Enabled
 
$cfg['Servers'][$i]['savedsearches'] ... 	OK
Saving Query-By-Example searches: Enabled
 
$cfg['Servers'][$i]['central_columns'] ... 	OK
Managing Central list of columns: Enabled
 
$cfg['Servers'][$i]['designer_settings'] ... 	OK
Remembering Designer Settings: Enabled
 
$cfg['Servers'][$i]['export_templates'] ... 	OK
Saving export templates: Enabled

Kemudian setelah itu, saat kembali ke menu Home, peringatan tersebut telah hilang.

Dan, beginilah hasil akhir dari instalasi dan konfigurasi phpMyAdmin.

phpmyadmin_test3

Untuk yang berikut saat tema sudah diubah.

phpmyadmin_test4

Akhirnya sampai juga di bagian akhir artikel ini. Terima kasih kepada kalian yang sudah membaca artikel ini sampai bagian akhir.

Demikian langkah-langkah instalasi phpMyAdmin ini. Semoga bermanfaat. Jangan lupa di-share.

Referensi