Install phpmyadmin on Debian 10
3 min read

Install phpmyadmin on Debian 10

สิ่งที่ต้องติดตั้ง

  • mariadb
  • nginx
  • php for nginx
  • phpmyadmin

1) อัพเดท software packet และติดตั้ง wget

apt update
apt install wget

2) ติดตั้ง MariaDB เวอร์ชั่นล่าสุด

2.1 ติดตั้ง Repo เวอร์ชั่นล่าสุดของ mariadb

apt-get install software-properties-common dirmngr
apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.kku.ac.th/mariadb/repo/10.5/debian buster main'

2.2) ติดตั้ง MariaDB

apt update
apt install mariadb-server

ตั้ง password สำหรับ user root ของ mariadb

mysql_secure_installation

2.3) ติดตั้ง nginx กับ php

apt install php-{mbstring,zip,gd,xml,pear,gettext,cgi,fpm,mysql} nginx

3) โหลดโปรแกรม phpmyadmin

wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0/phpMyAdmin-5.1.0-english.tar.gz

4) สร้าง directory สำหรับเก็บ phpmyadmin และแตกไฟล์ที่โหลดมาไปที่ directoy ที่สร้างไว้

mkdir /var/www/html/phpmyadmin

tar xzf phpMyAdmin-5.1.0-english.tar.gz --strip-components=1 -C /var/www/html/phpmyadmin/

5) คอนฟิก phpmyadmin

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

ใส่ รหัส 32 ตัวลงในไฟล์ ที่บรรทัด
$cfg['blowfish_secret'] = '';

6) เปลี่ยนเจ้าของไฟล์เป็นของ Nginx

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

7) คอนฟิก nginx กับ php-fpm

7.1 คอนฟิก nginx

vim /etc/nginx/conf.d/phpmyadmin.conf

server {
listen 80;
server_name ip-or-domain;
root /var/www/html (ที่อยู่ไฟล์ phpmyadmin);
index index.php;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/phpmyadmin.sock(ชื่อไฟล์ php-fpm);
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
}

7.2) คอนฟิก php-fpm

vim /etc/php/7.3/fpm/pool.d/phpmyadmin.conf

[phpmyadmin]

listen = /var/run/phpmyadmin.sock
listen.backlog = 500000
rlimit_files = 500000
rlimit_core = 0

; Unix user/group of processes
user = www-data
group = www-data

listen.owner = www-data
listen.group = www-data

pm = ondemand
pm.max_children = 200
pm.process_idle_timeout = 10s
pm.max_requests = 2000

; Pass environment variables
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

8) สั่ง Restart Nginx  และ php-fpm

systemctl restart nginx
systemctl restart php7.3-fpm.service

9) เข้าหน้าเว็บ phpmyadmin โดย

http://ip-or-domain/phpmyadmin/