ขั้นตอนการติดตั้ง phpMyAdmin บน CentOS
1. ติดตั้ง Apache, MariaDB, PHP
sudo yum install httpd mariadb-server php php-mysqlnd php-mbstring php-xml php-json -y
2. เริ่มบริการ Apache และ MariaDB
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mariadb
sudo systemctl enable mariadb
3. ตั้งรหัสผ่าน root ของ MariaDB
sudo mysql_secure_installation
ตอบคำถามตามนี้:
- Enter current password for root: (กด Enter ถ้ายังไม่ได้ตั้ง)
- Set root password? [Y/n]:
Y
- New password:
ใส่รหัสผ่านที่ต้องการ
- Remove anonymous users? [Y/n]:
Y
- Disallow root login remotely? [Y/n]:
Y
- Remove test database and access to it? [Y/n]:
Y
- Reload privilege tables now? [Y/n]:
Y
4.ติดตั้ง phpMyAdmin
CentOS ไม่มี phpMyAdmin อยู่ใน repo หลัก ต้องเปิด EPEL repository ก่อน
sudo yum install epel-release -y
sudo yum install phpmyadmin -y
5. แก้ไขการตั้งค่าการเข้าถึง phpMyAdmin
แก้ไฟล์ config เพื่ออนุญาตให้เข้าถึงจาก IP อื่น (ไม่ใช่แค่ localhost)
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
หา block ที่เป็นแบบนี้:
Require ip 127.0.0.1
Require ip ::1
แล้วเปลี่ยนเป็น:
Require all granted
หรือถ้าคุณต้องการให้เข้าถึงเฉพาะ IP เฉพาะเจาะจง:
Require ip 192.168.1.100
6. รีสตาร์ท Apache
sudo systemctl restart httpd
7. เข้าผ่านเว็บเบราว์เซอร์
เปิดเบราว์เซอร์แล้วเข้า:
http://<IP-Address-Server>/phpmyadmin
เช่น: http://192.168.1.100/phpmyadmin
8. ล็อกอินด้วย root และรหัสผ่านที่ตั้งไว้
หากไม่สามารถล็อกอินด้วย root ได้:
- แก้ไขไฟล์
/etc/phpMyAdmin/config.inc.php
- เพิ่มบรรทัด:
$cfg['Servers'][$i]['AllowRoot'] = true;
วิธีอนุญาตให้เข้าถึง phpMyAdmin
ให้คุณ แก้ไขไฟล์ /etc/httpd/conf.d/phpMyAdmin.conf
แล้ว เพิ่ม/แทนที่ block ที่เกี่ยวกับไดเรกทอรี /usr/share/phpMyAdmin/
แบบนี้:
เปลี่ยนจาก
<Directory /usr/share/phpMyAdmin/>
Require all denied
</Directory>
เป็น:
<Directory /usr/share/phpMyAdmin/>
Require all granted
</Directory>
หากไม่มี block นี้อยู่ในไฟล์ คุณสามารถ เพิ่มใหม่ เข้าไปแบบนี้:
<Directory /usr/share/phpMyAdmin/>
AllowOverride All
Require all granted
</Directory>
ส่วน setup/lib และ setup/frames ควรปล่อยให้เป็น Require all denied
ตามเดิมเพื่อความปลอดภัย
จากนั้นให้รีสตาร์ท Apache:
sudo systemctl restart httpd
เพิ่ม user ใหม่สำหรับ phpMyAdmin
ลองเพิ่ม user ใหม่สำหรับ phpMyAdmin แยกจาก root (ปลอดภัยกว่าด้วย):
สร้าง user ใหม่:
sudo mysql -u root -p
แล้วใน MySQL prompt:
CREATE USER 'phpadmin'@'localhost' IDENTIFIED BY 'MyStrongPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'phpadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
แล้วไปล็อกอินใน phpMyAdmin ด้วย:
- Username:
phpadmin
- Password:
MyStrongPass123!
ให้สิทธิ์การสร้างฐานข้อมูลแก่ user
ถ้า user นั้นไม่มีสิทธิ์ ให้รันคำสั่งนี้ (ล็อกอินด้วย root หรือ user ที่มีสิทธิ์สูงสุด):
GRANT ALL PRIVILEGES ON *.* TO 'phpadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
หรือถ้าต้องการให้สิทธิ์แค่สร้างฐานข้อมูลและใช้งาน:
GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT ON *.* TO 'phpadmin'@'localhost';
FLUSH PRIVILEGES;