ค้นหาเว็บไซต์

วิธีการติดตั้ง PhpMyAdmin ด้วย Apache ในระบบ RHEL


ในบทความนี้ เราจะแนะนำกระบวนการทีละขั้นตอนในการติดตั้ง PhpMyAdmin เวอร์ชันล่าสุดด้วยเว็บเซิร์ฟเวอร์ Apache บนการกระจายแบบอิง RHEL เช่น CentOS Stream , Fedora, Rocky Linux และ Alma Linux

PhpMyAdmin คืออะไร?

PhpMyAdmin เป็นเครื่องมือจัดการฐานข้อมูลบนเว็บที่ได้รับความนิยมและมีประสิทธิภาพ และการมีเวอร์ชันล่าสุดทำให้คุณมั่นใจได้ว่าจะสามารถเข้าถึงคุณลักษณะล่าสุดและการปรับปรุงความปลอดภัยได้ ในตอนท้ายของคู่มือนี้ คุณจะสามารถจัดการฐานข้อมูล MySQL หรือ MariaDB ของคุณได้อย่างง่ายดายโดยใช้ PhpMyAdmin

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่ม ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

  • เข้าถึงระบบ RHEL, CentOS Stream, Fedora, Rocky Linux หรือ AlmaLinux
  • ตรวจสอบให้แน่ใจว่าคุณสามารถเข้าสู่ระบบในฐานะผู้ใช้รูทหรือมีสิทธิ์ sudo เพื่อติดตั้งซอฟต์แวร์
  • สแต็ก LAMP ที่มีอยู่ ซึ่งรวมถึง Apache, MySQL/MariaDB และ PHP หากคุณไม่มี LAMP คุณสามารถทำตามขั้นตอนเหล่านี้เพื่อตั้งค่าได้

ขั้นตอนที่ 1: อัปเดตระบบ

ก่อนที่จะติดตั้งซอฟต์แวร์ใดๆ จำเป็นอย่างยิ่งที่จะต้องแน่ใจว่าระบบของคุณทันสมัยอยู่เสมอโดยการรันคำสั่ง dnf ต่อไปนี้

sudo dnf update

นี่จะอัปเดตแพ็คเกจทั้งหมดในระบบของคุณเป็นเวอร์ชันล่าสุด

ขั้นตอนที่ 2: ติดตั้ง Apache เว็บเซิร์ฟเวอร์

PhpMyAdmin เป็นเครื่องมือบนเว็บ และหากต้องการใช้งาน คุณต้องติดตั้งเว็บเซิร์ฟเวอร์ Apache โดยใช้คำสั่งต่อไปนี้

sudo dnf install httpd

เมื่อติดตั้งแล้ว ให้เริ่มบริการ Apache และเปิดใช้งานเมื่อบูตเครื่อง

sudo systemctl start httpd
sudo systemctl enable httpd

ขั้นตอนที่ 3: ติดตั้ง MariaDB หรือ MySQL

คุณจะต้องมีเซิร์ฟเวอร์ฐานข้อมูลด้วย คุณสามารถเลือกติดตั้ง MariaDB หรือ MySQL ได้ แต่เราจะเลือกติดตั้ง MariaDB ในตัวอย่างนี้

sudo dnf install mariadb-server

เมื่อติดตั้งแล้ว ให้เริ่มบริการ MariaDB และเปิดใช้งานเมื่อบูตเครื่อง

sudo systemctl start mariadb
sudo systemctl enable mariadb

ถัดไป รักษาความปลอดภัยการติดตั้ง MariaDB ของคุณด้วยการรันสคริปต์ ซึ่งจะแจ้งให้คุณป้อนรหัสผ่านสำหรับผู้ใช้รูท ไม่อนุญาตให้เข้าสู่ระบบรูทระยะไกล และลบผู้ใช้ที่ไม่ระบุชื่อ นอกจากนี้ยังจะลบฐานข้อมูลทดสอบซึ่งตามค่าเริ่มต้นจะสามารถเข้าถึงได้โดยผู้ใช้ที่ไม่ระบุชื่อ

sudo mysql_secure_installation

ขั้นตอนที่ 4: ติดตั้ง PHP

PhpMyAdmin สร้างขึ้นด้วย PHP ดังนั้นเราจึงจำเป็นต้องติดตั้ง PHP และส่วนขยายที่จำเป็นบางส่วนโดยใช้คำสั่งต่อไปนี้

sudo dnf install php php-mysqlnd php-json php-mbstring

ขั้นตอนที่ 5: ติดตั้ง PhpMyAdmin

ตอนนี้ มาดำเนินการติดตั้ง 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';

บันทึกและออกจากไฟล์.

ขั้นตอนที่ 6: เปิด Apache Port ในไฟร์วอลล์

ตามค่าเริ่มต้น 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

คำสั่งเหล่านี้จะเพิ่มกฎเพื่ออนุญาตการรับส่งข้อมูลขาเข้าบนพอร์ตที่ระบุ และโหลดไฟร์วอลล์ใหม่เพื่อใช้การเปลี่ยนแปลง

ขั้นตอนที่ 7: รีสตาร์ทเว็บเซิร์ฟเวอร์ Apache

สุดท้ายให้รีสตาร์ท Apache เพื่อใช้การเปลี่ยนแปลง:

sudo systemctl restart httpd

ขั้นตอนที่ 8: เข้าถึง PhpMyAdmin

ตอนนี้คุณสามารถเข้าถึง PhpMyAdmin ผ่านเว็บเบราว์เซอร์ของคุณโดยไปที่ที่อยู่ IP หรือชื่อโดเมนของเซิร์ฟเวอร์ของคุณ ตามด้วย “/phpmyadmin” ใน URL:

http://your_server_ip/phpmyadmin

เข้าสู่ระบบโดยใช้ข้อมูลรับรอง MySQL หรือ MariaDB ของคุณ

ขั้นตอนที่ 9: อนุญาตการเข้าถึงจากภายนอกใน PhpMyAdmin

เปิดไฟล์การกำหนดค่า 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 การเข้าสู่ระบบเริ่มต้นสำหรับ 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/

การตั้งค่า SSL สำหรับ phpMyAdmin

การรักษาความปลอดภัยการสื่อสารระหว่างเว็บเซิร์ฟเวอร์ 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 สำเร็จแล้ว เครื่องมือบนเว็บนี้ทำให้การจัดการฐานข้อมูลของคุณง่ายขึ้น ทำให้งานต่างๆ เช่น การสร้างฐานข้อมูล การสืบค้น และการจัดการข้อมูลเป็นเรื่องง่าย