วิธีการติดตั้ง PhpMyAdmin ด้วย Apache ในระบบ RHEL
ในบทความนี้ เราจะแนะนำกระบวนการทีละขั้นตอนในการติดตั้ง PhpMyAdmin เวอร์ชันล่าสุดด้วยเว็บเซิร์ฟเวอร์ Apache บนการกระจายแบบอิง RHEL เช่น CentOS Stream , Fedora, Rocky Linux และ Alma Linux
ค้นหาเว็บไซต์
ในบทความนี้ เราจะแนะนำกระบวนการทีละขั้นตอนในการติดตั้ง PhpMyAdmin เวอร์ชันล่าสุดด้วยเว็บเซิร์ฟเวอร์ Apache บนการกระจายแบบอิง RHEL เช่น CentOS Stream , Fedora, Rocky Linux และ Alma Linux
PhpMyAdmin เป็นเครื่องมือจัดการฐานข้อมูลบนเว็บที่ได้รับความนิยมและมีประสิทธิภาพ และการมีเวอร์ชันล่าสุดทำให้คุณมั่นใจได้ว่าจะสามารถเข้าถึงคุณลักษณะล่าสุดและการปรับปรุงความปลอดภัยได้ ในตอนท้ายของคู่มือนี้ คุณจะสามารถจัดการฐานข้อมูล MySQL หรือ MariaDB ของคุณได้อย่างง่ายดายโดยใช้ PhpMyAdmin
ก่อนที่เราจะเริ่ม ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
ก่อนที่จะติดตั้งซอฟต์แวร์ใดๆ จำเป็นอย่างยิ่งที่จะต้องแน่ใจว่าระบบของคุณทันสมัยอยู่เสมอโดยการรันคำสั่ง dnf ต่อไปนี้
sudo dnf update
นี่จะอัปเดตแพ็คเกจทั้งหมดในระบบของคุณเป็นเวอร์ชันล่าสุด
PhpMyAdmin เป็นเครื่องมือบนเว็บ และหากต้องการใช้งาน คุณต้องติดตั้งเว็บเซิร์ฟเวอร์ Apache โดยใช้คำสั่งต่อไปนี้
sudo dnf install httpd
เมื่อติดตั้งแล้ว ให้เริ่มบริการ Apache และเปิดใช้งานเมื่อบูตเครื่อง
sudo systemctl start httpd
sudo systemctl enable httpd
คุณจะต้องมีเซิร์ฟเวอร์ฐานข้อมูลด้วย คุณสามารถเลือกติดตั้ง MariaDB หรือ MySQL ได้ แต่เราจะเลือกติดตั้ง MariaDB ในตัวอย่างนี้
sudo dnf install mariadb-server
เมื่อติดตั้งแล้ว ให้เริ่มบริการ MariaDB และเปิดใช้งานเมื่อบูตเครื่อง
sudo systemctl start mariadb
sudo systemctl enable mariadb
ถัดไป รักษาความปลอดภัยการติดตั้ง MariaDB ของคุณด้วยการรันสคริปต์ ซึ่งจะแจ้งให้คุณป้อนรหัสผ่านสำหรับผู้ใช้รูท ไม่อนุญาตให้เข้าสู่ระบบรูทระยะไกล และลบผู้ใช้ที่ไม่ระบุชื่อ นอกจากนี้ยังจะลบฐานข้อมูลทดสอบซึ่งตามค่าเริ่มต้นจะสามารถเข้าถึงได้โดยผู้ใช้ที่ไม่ระบุชื่อ
sudo mysql_secure_installation
PhpMyAdmin สร้างขึ้นด้วย PHP ดังนั้นเราจึงจำเป็นต้องติดตั้ง PHP และส่วนขยายที่จำเป็นบางส่วนโดยใช้คำสั่งต่อไปนี้
sudo dnf install php php-mysqlnd php-json php-mbstring
ตอนนี้ มาดำเนินการติดตั้ง PhpMyAdmin บนระบบ Linux ของเราโดยไปที่ไดเรกทอรีรากของเอกสารของเว็บเซิร์ฟเวอร์ /var/www/html ดังที่แสดง
cd /var/www/html
จากนั้น ให้ดาวน์โหลด PhpMyAdmin เวอร์ชันล่าสุดโดยใช้คำสั่ง wget ต่อไปนี้ดังที่แสดง
sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
เมื่อดาวน์โหลดแล้ว ให้แยกไฟล์ที่ดาวน์โหลดมาและเปลี่ยนชื่อไดเร็กทอรีเพื่อความสะดวก
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin
สร้างไฟล์การกำหนดค่าสำหรับ PhpMyAdmin
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
แก้ไขไฟล์การกำหนดค่า:
sudo nano /var/www/html/phpmyadmin/config.inc.php
ค้นหาบรรทัดต่อไปนี้และตั้งค่า blowfish_secret ของคุณเอง:
$cfg['blowfish_secret'] = 'your_secret';
บันทึกและออกจากไฟล์.
ตามค่าเริ่มต้น Apache มักใช้พอร์ต 80 และ 443 สำหรับ HTTP และ HTTPS ตามลำดับ หากต้องการเปิดพอร์ต Apache และอนุญาตให้เข้าถึง PhpMyAdmin บนเซิร์ฟเวอร์ของคุณ ให้เรียกใช้:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload
คำสั่งเหล่านี้จะเพิ่มกฎเพื่ออนุญาตการรับส่งข้อมูลขาเข้าบนพอร์ตที่ระบุ และโหลดไฟร์วอลล์ใหม่เพื่อใช้การเปลี่ยนแปลง
สุดท้ายให้รีสตาร์ท Apache เพื่อใช้การเปลี่ยนแปลง:
sudo systemctl restart httpd
ตอนนี้คุณสามารถเข้าถึง PhpMyAdmin ผ่านเว็บเบราว์เซอร์ของคุณโดยไปที่ที่อยู่ IP หรือชื่อโดเมนของเซิร์ฟเวอร์ของคุณ ตามด้วย “/phpmyadmin” ใน URL:
http://your_server_ip/phpmyadmin
เข้าสู่ระบบโดยใช้ข้อมูลรับรอง MySQL หรือ MariaDB ของคุณ
เปิดไฟล์การกำหนดค่า PhpMyAdmin
sudo vi /etc/httpd/conf/httpd.conf
ค้นหาส่วน
หรือส่วนที่กำหนดค่า PhpMyAdmin ของคุณ และอัปเดตคำสั่ง Require
เพื่ออนุญาต ที่อยู่ IP ทั้งหมดเพื่อเข้าถึง PhpMyAdmin
<Directory "/var/www/html/phpmyadmin">
...
Require all granted
...
</Directory>
การกำหนดค่าข้างต้นอนุญาตให้เข้าถึงจากที่อยู่ IP ใดก็ได้ แต่หากคุณต้องการจำกัดการเข้าถึง IP ที่ระบุ ให้แทนที่ Require all allowance
ด้วย Require ip your_ip
รีสตาร์ท Apache เพื่อใช้การเปลี่ยนแปลง
sudo systemctl restart httpd
ตอนนี้ คุณควรจะสามารถเข้าถึง PhpMyAdmin จากโลกภายนอกได้โดยใช้ที่อยู่ IP หรือโดเมนของเซิร์ฟเวอร์ของคุณ
http://your_server_ip/phpmyadmin
โปรดจำไว้ว่า การเปิดการเข้าถึง PhpMyAdmin จากโลกภายนอกอาจทำให้เกิดความเสี่ยงด้านความปลอดภัยได้ ตรวจสอบให้แน่ใจว่าคุณมีกลไกการตรวจสอบสิทธิ์ที่รัดกุม และพิจารณาใช้ HTTPS สำหรับการสื่อสารที่เข้ารหัส นอกจากนี้ จำกัดการเข้าถึงเฉพาะที่อยู่ IP ที่เชื่อถือได้หากเป็นไปได้หรือ URL เข้าสู่ระบบ PhpMyAdmin ที่ปลอดภัย
URL การเข้าสู่ระบบเริ่มต้นสำหรับ phpMyAdmin นั้นสามารถคาดเดาได้และมักตกเป็นเป้าหมายโดยผู้ประสงค์ร้ายที่พยายามหาประโยชน์จากช่องโหว่ การเปลี่ยน URL การเข้าสู่ระบบจะเพิ่มระดับการรักษาความปลอดภัยเพิ่มเติม ทำให้ผู้ใช้ที่ไม่ได้รับอนุญาตเข้าถึงอินเทอร์เฟซการจัดการฐานข้อมูลของคุณได้ยากขึ้น
โดยสร้างไฟล์การกำหนดค่า /etc/httpd/conf.d/phpMyAdmin.conf
vi /etc/httpd/conf.d/phpMyAdmin.conf
ถัดไป เพิ่มการกำหนดค่าต่อไปนี้
#Alias /phpMyAdmin /var/www/html/phpmyadmin
Alias /my /var/www/html/phpmyadmin
<Directory /var/www/htm/lphpmyadmin>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
# Additional IP or hostname-based access control can be added here
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
# Additional IP or hostname-based access control can be added here
</IfModule>
</Directory>
แทนที่ /my
ด้วย URL เข้าสู่ระบบที่กำหนดเองที่คุณต้องการ บันทึกการเปลี่ยนแปลงและออกจากโปรแกรมแก้ไขข้อความ
หลังจากทำการเปลี่ยนแปลงไฟล์การกำหนดค่าแล้ว ให้รีสตาร์ท Apache เพื่อใช้การแก้ไข:
systemctl restart httpd
เปิดเว็บเบราว์เซอร์ของคุณและไปที่ URL สำหรับเข้าสู่ระบบ phpMyAdmin ใหม่
http://yourdomain.com/my/
การรักษาความปลอดภัยการสื่อสารระหว่างเว็บเซิร์ฟเวอร์ Apache และ phpMyAdmin เป็นสิ่งสำคัญในการปกป้องข้อมูลที่ละเอียดอ่อน เช่น ข้อมูลรับรองการเข้าสู่ระบบและเนื้อหาฐานข้อมูล วิธีหนึ่งที่มีประสิทธิภาพในการบรรลุเป้าหมายนี้คือการกำหนดค่า SSL (Secure Socket Layer) สำหรับ phpMyAdmin บนเว็บเซิร์ฟเวอร์ Apache
ในการดำเนินการดังกล่าว ขั้นแรกให้ติดตั้งโมดูล mod_ssl บนเซิร์ฟเวอร์ของคุณ
yum install httpd mod_ssl openssl
จากนั้น สร้างไดเร็กทอรีเพื่อจัดเก็บใบรับรองและสร้างใบรับรอง SSL ที่ลงนามด้วยตนเองและคีย์ส่วนตัวตามที่แสดง
mkdir /etc/httpd/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt
หลังจากสร้างใบรับรอง SSL และคีย์แล้ว ให้เปิดไฟล์การกำหนดค่า Apache SSL
vi /etc/httpd/conf.d/ssl.conf
ถัดไป เพิ่มบรรทัดต่อไปนี้ในไฟล์คอนฟิกูเรชัน
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
บันทึกการเปลี่ยนแปลงและรีสตาร์ทเว็บเซิร์ฟเวอร์ Apache
systemctl restart httpd
ตอนนี้ให้เปิดไฟล์คอนฟิกูเรชัน phpMyAdmin
vi /var/www/html/phpmyadmin/config.inc.php
เพิ่มบรรทัดต่อไปนี้เพื่อบังคับใช้ SSL สำหรับ phpMyAdmin
$cfg['ForceSSL'] = true;
บันทึกการเปลี่ยนแปลงและออกจากโปรแกรมแก้ไขข้อความ
สุดท้าย เปิดเว็บเบราว์เซอร์ของคุณแล้วไปที่ URL ต่อไปนี้เพื่อเข้าถึง phpMyAdmin ผ่านการเชื่อมต่อ SSL ที่ปลอดภัย
https://yourdomain.com/my/
โปรดทราบว่าข้อความที่ระบุถึงการเชื่อมต่อที่ไม่ปลอดภัยนั้นเกิดจากการใช้ใบรับรองที่ลงนามด้วยตนเองเท่านั้น หากต้องการดำเนินการต่อ ให้คลิกที่ "ขั้นสูง" และยืนยันข้อยกเว้นด้านความปลอดภัย
ยินดีด้วย! คุณติดตั้ง PhpMyAdmin ด้วย Apache บนระบบ RHEL, CentOS Stream, Rocky Linux หรือ AlmaLinux สำเร็จแล้ว เครื่องมือบนเว็บนี้ทำให้การจัดการฐานข้อมูลของคุณง่ายขึ้น ทำให้งานต่างๆ เช่น การสร้างฐานข้อมูล การสืบค้น และการจัดการข้อมูลเป็นเรื่องง่าย