Android

วิธีการติดตั้งและรักษาความปลอดภัย phpmyadmin ด้วย apache บน centos 7

Faith Evans feat. Stevie J – "A Minute" [Official Music Video]

Faith Evans feat. Stevie J – "A Minute" [Official Music Video]

สารบัญ:

Anonim

phpMyAdmin เป็นเครื่องมือแบบโอเพ่นซอร์ส PHP สำหรับการจัดการเซิร์ฟเวอร์ MySQL และ MariaDB ผ่านทางเว็บอินเตอร์เฟส

phpMyAdmin ช่วยให้คุณสามารถโต้ตอบกับฐานข้อมูล MySQL จัดการบัญชีผู้ใช้และสิทธิพิเศษรันคำสั่ง SQL นำเข้าและส่งออกข้อมูลในรูปแบบข้อมูลที่หลากหลายและอีกมากมาย

ในบทช่วยสอนนี้เราจะดำเนินการตามขั้นตอนที่จำเป็นสำหรับการติดตั้งและการรักษาความปลอดภัย phpMyAdmin ด้วย Apache บน CentOS 7

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

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

  • ติดตั้ง LAMP (Linux, Apache, MySQL และ PHP) บนเซิร์ฟเวอร์ CentOS ของคุณเข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ sudo

แม้ว่าจะไม่จำเป็นก็ตามขอแนะนำให้เข้าถึงการติดตั้ง phpMyAdmin ของคุณผ่าน HTTPS หากคุณไม่มี SSL บนเว็บไซต์ของคุณทำตามคำแนะนำเกี่ยวกับการรักษาความปลอดภัย Apache ของคุณด้วย Let's Encrypt บน CentOS 7

กำลังติดตั้ง phpMyAdmin

ในการติดตั้ง phpMyAdmin บนระบบ CentOS 7 ให้ทำตามขั้นตอนต่อไปนี้:

  1. phpMyAdmin ไม่สามารถใช้ได้ในที่เก็บข้อมูลหลักของ CentOS 7 ในการติดตั้ง phpMyAdmin เราจำเป็นต้องเปิดใช้งานที่เก็บ EPEL ก่อน:

    sudo yum install epel-release

    เมื่อเปิดใช้งานที่เก็บ EPEL แล้วเราสามารถติดตั้ง phpMyAdmin และการอ้างอิงทั้งหมดด้วยคำสั่งต่อไปนี้:

    sudo yum install phpmyadmin

การกำหนดค่าและการรักษาความปลอดภัย phpMyAdmin

ไฟล์การกำหนดค่า Apache สำหรับ phpMyAdmin จะถูกสร้างขึ้นโดยอัตโนมัติระหว่างการติดตั้ง โดยค่าเริ่มต้นการเชื่อมต่อทั้งหมดยกเว้นการเชื่อมต่อจาก localhost จะถูกปฏิเสธ เนื่องจากเราจะเข้าถึง phpMyAdmin จากสถานที่ห่างไกลเราจำเป็นต้องแก้ไขไฟล์การกำหนดค่าและระบุที่อยู่ IP ที่อนุญาต

เปิดไฟล์คอนฟิกูเรชัน phpMyAdmin Apache:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf เปลี่ยนสองบรรทัดที่อ่าน Require ip 127.0.0.1 ด้วยที่อยู่ IP ของการเชื่อมต่อที่บ้าน หากคุณไม่ทราบที่อยู่ IP ที่บ้านของคุณให้เปิดการค้นหาโดย Google ในเว็บเบราว์เซอร์และพิมพ์ what is my ip

etc / # Apache 2.4 Require ip 192.168.42.57 Require ip::1 # Apache 2.4 Require ip 192.168.42.57 Require ip::1

ปิดและบันทึกไฟล์

หากคุณต้องการที่จะสามารถเข้าถึงการติดตั้ง phpMyAdmin ของคุณจากตำแหน่งใด ๆ เพิ่ม Require all granted ก่อนที่จะ Require ip สาย Require ip

เพื่อความปลอดภัยอีกชั้นหนึ่งเราจะใช้รหัสผ่านเพื่อป้องกันไดเรกทอรี phpMyAdmin โดยการตั้งค่าการรับรองความถูกต้องเบื้องต้น

เริ่มต้นด้วยการสร้างไฟล์การรับรองความถูกต้องใหม่โดยใช้เครื่องมือ htpasswd เราจะเก็บไฟล์ .htpasswd ไว้ในไดเรกทอรี /etc/phpMyAdmin :

sudo htpasswd -c /etc/phpMyAdmin/.htpasswd admin

ในตัวอย่างนี้เรากำลังสร้างผู้ใช้ชื่อ admin คุณสามารถเลือกชื่อผู้ใช้ที่คุณต้องการ

คำสั่งด้านบนจะแจ้งให้คุณป้อนและยืนยันรหัสผ่านของผู้ใช้

New password: Re-type new password: Adding password for user admin

ในภายหลังหากคุณต้องการเพิ่มผู้ใช้เพิ่มเติมให้ใช้คำสั่งเดียวกันโดยไม่มีแฟ -c :

sudo htpasswd /etc/phpMyAdmin/.htpasswd admin2

ขั้นตอนต่อไปคือการกำหนดค่า Apache เป็นรหัสผ่านเพื่อป้องกันไดเรกทอรี phpMyAdmin และใช้ไฟล์ .htpasswd ในการเปิดไฟล์ phpMyAdmin.conf ซึ่งสร้างขึ้นโดยอัตโนมัติระหว่างการติดตั้ง phpMyAdmin:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

และแทรกบรรทัดต่อไปนี้ที่เน้นเป็นสีเหลือง:

/etc/httpd/conf.d/phpMyAdmin.conf

AddDefaultCharset UTF-8 Options +FollowSymLinks +Multiviews +Indexes AllowOverride None AuthType basic AuthName "Authentication Required" AuthUserFile /etc/phpMyAdmin/.htpasswd Require valid-user… AddDefaultCharset UTF-8 Options +FollowSymLinks +Multiviews +Indexes AllowOverride None AuthType basic AuthName "Authentication Required" AuthUserFile /etc/phpMyAdmin/.htpasswd Require valid-user…

บันทึกไฟล์และรีสตาร์ทบริการ Apache เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart นอกจากนี้ยังเป็นความคิดที่ดีที่จะเปลี่ยนนามแฝง /phpmyadmin เป็นสิ่งที่ไม่ซ้ำใครและปลอดภัยยิ่งขึ้น

เมื่อเข้าถึง phpMyAdmin ของคุณคุณจะได้รับแจ้งให้ป้อนข้อมูลรับรองการเข้าสู่ระบบของผู้ใช้ที่คุณสร้างไว้ก่อนหน้านี้:

https://your_domain_or_ip_address/phpmyadmin

ข้อสรุป

ขอแสดงความยินดีคุณติดตั้ง phpMyAdmin สำเร็จบนเซิร์ฟเวอร์ CentOS 7 ของคุณ ตอนนี้คุณสามารถเริ่มสร้างฐานข้อมูล MySQL ผู้ใช้และตารางและทำการสืบค้น MySQL และดำเนินการต่างๆ

centos phpmyadmin mysql mariadb apache php