Linux

Cara Install phpMyAdmin di Nginx Debian 12

Pada tutorial kali ini saya akan menunjukkan bagaimana cara melakukan instalasi menggunakan phpMyAdmin dengan nginx, MySQL, dan PHP 8.2 (LEMP) di Debian 12. Seperti kita tahu bahwa phpMyAdmin adalah aplikasi management database yang bersifat gratis dan open-source, selain itu aplikasi tersebut di tulis dengan bahasa pemograman PHP.

phpMyAdmin memiliki kelebihan menyediakan antarmuka web grafis bagi pengguna untuk mengelola basis data MySQL atau MariaDB

Beberapa Kelebihan Lain dari PHPMYADMIN

  • menelusuri database dan tabel;
  • membuat, menyalin, mengganti nama, mengubah, dan menghapus basis data;
  • membuat, menyalin, mengganti nama, mengubah dan menghapus tabel;
  • melakukan pemeliharaan meja;
  • menambah, mengedit, dan menghapus bidang;
  • mengeksekusi pernyataan SQL apa pun, bahkan beberapa kueri;
  • membuat, mengubah, dan menghapus indeks;
  • memuat file teks ke dalam tabel;
  • membuat dan membaca dump tabel atau database;
  • mengekspor data ke format SQL, CSV, XML, Word, Excel, PDF dan LaTeX;
  • mengelola beberapa server;
  • mengelola pengguna dan hak istimewa MySQL;
  • memeriksa pengaturan server dan informasi runtime dengan petunjuk konfigurasi;
  • memeriksa integritas referensial dalam tabel MyISAM;
  • membuat kueri kompleks menggunakan Query-by-example (QBE), secara otomatis
  • menghubungkan tabel-tabel yang dibutuhkan;
  • membuat grafik PDF dari tata letak basis data;
  • mencari secara global dalam suatu basis data atau sebagian darinya;
  • mengubah data yang tersimpan ke dalam format apa pun menggunakan serangkaian fungsi yang telah ditetapkan, seperti menampilkan data BLOB sebagai gambar atau tautan unduhan;
  • mengelola tabel InnoDB dan kunci asing

Prasyarat

Untuk mengikuti tutorial ini pastikan anda sudah menginstall Nginx, MySQL, dan PHP terlebih dahulu baik di komputer lokal maupun server VPS.

Langkah 1: Download dan Install phpMyAdmin di Debian 12.

Pada instalasi yang saat ini saya gunakan tidak menggunakan repositori bawaan dari APT namun saya langsung mendownload dari situs resminya phpMyAdmin langsung. Untuk mendownloadnya langkah pertama lakukan perintah berikut.

wget https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.zip

Setelah melakukan download langkah selanjutnya adalah melakukan ekstrak dan memindahkan ke folder Nginx di /var/www.

unzip phpMyAdmin-5.2.2-all-languages.zip

ubah nama foldenya menjadi phpMyAdmin dengan perintah berikut

mv phpMyAdmin-5.2.2-all-languages /var/www/phpmyadmin

Langkah 2: Mengunduh Ekstensi Yang Diperlukan

Karena instalasi kali ini dilakukan secara manual kita bisa mengunduh ekstensi php yang digunakan dengan cara berikut. Perhatikan juga versi php, karena saat ini saya menggunakan PHP 8.2

apt-get install php8.2 php8.2-fpm php8.2-mysql php-common php8.2-cli php8.2-common php8.2-json php8.2-opcache php8.2-readline php8.2-mbstring php8.2-xml php8.2-gd php8.2-curl php8.2-mysql -y

langkah 3: konfigurasi PHP-FPM

Setelah melakukan unduhan langkah selanjutnya adalah memastikan apakah service php-fpm sudah berjalan dengan mengecek perintah berikut.

sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
sudo systemctl status php8.2-fpm

Jika berhasil dijalankan akan terlihat seperti berikut jika sudah benar instalasinya.

 php8.2-fpm.service - The PHP 8.2 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.2-fpm.service; enabled; preset: enabled)
     Active: active (running) since Thu 2025-01-30 22:03:42 WIB; 23min ago
       Docs: man:php-fpm8.2(8)
    Process: 626 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.2/fpm/pool.d/www.conf 82 (code=exited, status=0/SUCCESS)
   Main PID: 527 (php-fpm8.2)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0.00req/sec"
      Tasks: 3 (limit: 4644)
     Memory: 38.7M
        CPU: 311ms
     CGroup: /system.slice/php8.2-fpm.service
             ├─527 "php-fpm: master process (/etc/php/8.2/fpm/php-fpm.conf)"
             ├─624 "php-fpm: pool www"
             └─625 "php-fpm: pool www"

Jan 30 22:03:41 debian systemd[1]: Starting php8.2-fpm.service - The PHP 8.2 FastCGI Process Manager...
Jan 30 22:03:42 debian systemd[1]: Started php8.2-fpm.service - The PHP 8.2 FastCGI Process Manager.

Langkah 3: Konfigurasi Nginx

Pada tahap ini adalah mengatur block virtual server yang akan kita buat. Pertama buat file konfigurasi di folder nginx dengan perintah berikut.

sudo nano /etc/nginx/sites-available/phpmyadmin

Setelah itu konfigurasi server phpmyadmin dengan menambahkan script berikut.

server {

  listen 80;

  listen [::]:80;

#  server_name _;

  root /var/www/phpmyadmin/;

  index index.php index.html index.htm index.nginx-debian.html;


  location / {
    try_files $uri $uri/ @phpmyadmin;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

 location @phpmyadmin {
    rewrite /phpmyadmin/(.*)$ /phpmyadmin/index.php?/$1 last;
  }


 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /\.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Jika sudah jangan lupa untuk menyimpan konfigurasi tersebut dengan cara CTRL + X dan ENTER.

langkah selanjutnya adalah membuat symbolink di folder sites-enabled dengan cara mengetikkan perintah berikut

sudo ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled

Setelah semuanya selesai langkah terakhir adalah melakukan pengecekan dan melakukan reload pada nginx dengan cara berikut.

nginx -t
sudo systemctl restart nginx

Langkah 4: Kunjungi phpMyadmin

karena saat ini belum ada domain kita bisa mengunjungi dengan cara menggunakan alamat ip address dari server. Jika berhasil akan tampak seperti berikut

Landing page phpmyadmin

Silahkan login dengan username dan password dari root di MYSQL

Langkah 5: Hilangkan Warning phpMyadmin

Saat login kalian akan melihat tanda warning di bagian bawah database phpmyadmin seperti berikut.

cara mengatasinya adalah dengan cara konfigurasi file config.sample.inc.php pada direktori phpmyadmin dengan cara berikut.

sudo mv config.sample.inc.php config.inc.php
nano config.inc.php

pada bagian $cfg['blowfish_secret'] = ''" kalian bisa isi dengan random string sebanyak 32 karakter, jika bingung kunjungi situs berikut untuk mendapatkan angka random https://passwordsgenerator.net/

Jangan lupa untuk melakukan uncommand pada bagian berikut.

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

langkah selanjutnya adalag membuat controluser dengan cara berikut ini.

mysql -u root -p

setelah itu buatkan user pma

CREATE USER 'pma'@'%' IDENTIFIED BY 'password_here';

langkah selanjutnya adalah membuat privileges.

GRANT ALL PRIVILEGES ON *.* TO 'pma'@'%' WITH GRANT OPTION;
flush privileges;
exit;

setelah itu kembali ke konfigurasi phpmyadmin dengan cara berikut.

sudo nano /var/www/phpmyadmin/config.inc.php

Ubah bagian berikut sesuai dengan username dan password yang diubah tadi.

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'ubah_password_disini';

setelah semua konfugrasi selesai langkah selanjutnya adalah mengecek apakah masih ada warning di sana, jika masih warning coba untuk logout dan masuk kembali maka warning akan hilang, jika belum coba lihat apakah semua langkah-langkah tadi sudah benar-benar di lakukan.

Avatar

admin

About Author

Leave a comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

You may also like

Bagaimana Menambahkan dan Menghapus GPG Key Pada Sistem Linux ?
Linux

Bagaimana Menambahkan dan Menghapus GPG Key Pada Sistem Linux ?

Setiap aplikasi yang di remove pada sistem operasi sering kali meninggalkan key gpg yang membuat penumpukan terlalu banyak pada list
Cara Enject Flashdisk Menggunakan Terminal Linux
Linux

Cara Enject Flashdisk Menggunakan Terminal Linux

Melakukan enject pada komputer melalui terminal dapat dilakukan apabila saat melakukan enject secara normal tidak bisa dilakukan karena masih terdapat