ในบทความนี้จะช่วยแนะนำวิธีการติดตั้ง phpMyAdmin เพื่อจัดการกับฐานข้อมูล ซึ่ง phpMyAdmin เป็นโปรแกรมที่ถูกออกแบบมาไว้ใช้จัดการฐานข้อมูลผ่านเว็บบราวเซอร์ โดยสามารถสร้าง ลบ แก้ไขหรืออัพเดทได้เช่นเดียวกัน
ขั้นตอนที่ 1 ตรวจสอบที่เครื่องว่ามีการติดตั้ง LEMP Stack แล้วหรือไม่
[root@ns1 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)
[root@ns1 ~]# nginx -v nginx version: nginx/1.16.1
[root@ns1 ~]# php-fpm -v PHP 7.3.16 (fpm-fcgi) (built: Mar 17 2020 10:18:38) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies
[root@ns1 ~]# mysql -V mysql Ver 15.1 Distrib 10.3.22-MariaDB, for Linux (x86_64) using readline 5.1
หากยังไม่ได้ดำเนินการติดตั้ง ให้ทำการติดตั้งซอฟแวร์ที่กล่าวมาทั้งหมดก่อน
ขั้นตอนที่ 2 ดำเนินการติดตั้ง phpMyAdmin
เข้าเว็บไซต์ของ phpMyAdmin แล้วเลือก copy link address เพื่อนำ URL ที่ได้ ไปทำการดาวน์โหลดไฟล์ จากนั้นให้ทำการแยกไฟล์ไปไว้ที่ Path root ของ Nginx
# yum install epel-release
# yum install phpmyadmin
# wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
# unzip phpMyAdmin-5.0.2-all-languages.zip -d /usr/share/nginx/html/
# cd /usr/share/nginx/html/
# mv phpMyAdmin-5.0.2-all-languages/ phpMyAdmin
หลังจากเปลี่ยนชื่อเรียบร้อยแล้ว ไปที่ไดเรคทอรี่ของ phpMyAdmin และทำการ copy ไฟล์ config.sample.inc.php เพื่อให้สามารถแก้ไขค่า config ได้ตามต้องการ
# cd phpMyAdmin
# cp config.sample.inc.php config.inc.php
ขั้นตอนที่ 3 ตั้งค่า phpMyAdmin สำหรับ Nginx
เข้าไปที่ Path การจัดการไฟล์ Config ของ Nginx แล้วสร้างไฟล์ขึ้นมาไว้ใช้จัดการ phpMyAdmin
# cd /etc/nginx/conf.d/
# vi phpMyAdmin.conf
วางค่าดังนี้
server {
server_name Your_IP_ADDRESS;
root /usr/share/nginx/html/;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
}
}
จากนั้น restart service
# systemctl restart nginx
# systemctl restart php-fpm
ขั้นตอนที่ 4 สร้าง User เพื่อใช้งาน phpMyAdmin
สร้าง User พร้อมกับให้สิทธิในการใช้ฐานข้อมูลสำหรับ User ดังกล่าวให้เรียบร้อย
# mysql -u root -p
# CREATE USER ‘Adminpma’@’localhost’ IDENTIFIED BY’Admin012’;
# GRANT ALL PRIVILEGES ON *.* TO 'Adminpma’@'localhost' WITH GRANT OPTION;
# FLUSH PRIVILEGES;
ขั้นตอนที่ 5 เข้าสู่หน้าจัดการ phpMyAdmin
จะพบกับหน้า Login ดังภาพด้านล่าง
# YOUR_IP_ADDRESS/phpMyAdmin
หลังจาก Login เรียบร้อยแล้ว หากพบแจ้งเตือนดังต่อไปนี้
ท่านสามารถปิดการแจ้งเตือนทั้ง 2 อย่างได้ โดยดำเนินการตามข้อมูลด้านล่าง
เมื่อเจอ “The configuration file now needs a secret passphrass (blowfish_secret).” ให้เข้าไปที่ path ของ phpMyAdmin และแก้ไขไฟล์ config.inc.php
# vi config.inc.php
หาค่า
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
แล้วเปลี่ยนเป็นค่าเฉพาะของท่านเองโดยการ generate ค่า blowfish_secret ขึ้นมา เนื่องจากค่าดังกล่าวเป็น passphrase ซึ่งข้อความที่เข้ารหัสจะต้องมีค่าไม่ซ้ำกัน
ส่วนของ “The $cfg[‘TempDir’] (/usr/share/nginx/html/phpMyAdmin/tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this”
สามารถแก้ไขได้โดยการสร้างไดเรคทอรี่ tmp ที่ path : /usr/share/nginx/html/phpMyAdmin/
และเปลี่ยนสิทธิของไดเรคทอรี่ tmp ให้เป็น 777
จากนั้นให้ทดลอง login เข้าหน้าจัดการ phpMyAdmin อีกครั้ง จะพบว่าไม่มีการแจ้งเตือนดังกล่าวขึ้นมาแล้ว
และหากต้องการให้แต่ละโดเมนมีหน้าจัดการ phpMyAdmin เป็นของโดเมนนั้นๆก็สามารถทำได้ โดยดำเนินการตามข้อ 2 แต่ให้แยกไฟล์ไปที่ path root ของโดเมนดังกล่าวแทน เช่น /home/user1/public_html/phpMyAdmin เป็นต้น
และให้ข้ามขั้นตอนที่ 3 ไปสร้าง User ไว้ใช้งาน พร้อมกับให้สิทธิ User กับฐานข้อมูล เฉพาะโดเมนดังกล่าว ทั้งนี้หากพบการแจ้งเตือนดังข้อมูลด้านบนก็สามารถดำเนินการตามข้อมูลที่กล่าวไปก่อนหน้านี้ได้ แต่ต้องแก้ไขที่ไฟล์ config.inc.php ของแต่ละโดเมน
HostPacific หวังเป็นอย่างยิ่งว่าผู้ใช้งานทุกท่านที่ได้อ่านบทความนี้ จะนำการติดตั้ง phpMyAdmin ร่วมกับ Nginx ไปใช้ในการจัดการฐานข้อมูลบน VM หรือเซิฟเวอร์ของท่าน ซึ่งการติดตั้ง phpMyAdmin เป็นอีกหนึ่งทางเลือกในการใช้งานผ่าน SSH และจัดการกับฐานข้อมูลได้เช่นกัน