วันพฤหัสบดี, สิงหาคม 16, 2555

แก้ปัญหา Apache ไม่สามารถติดต่อ MySQL ได้

ใช้ RHCL 6 อยู่แล้วมันมีโมดูล PHP ที่ต้องไปคิวรีข้อมูลจากฐานข้อมูล แต่ทำยังไงก็ไม่ได้ค่าสักที จึงได้เปิด debug ถึงเห็นว่ามัน connection refused ทั้งที่ลองเชื่อมต่อผ่าน command line ได้ ก็สงสัยว่าเป็นเพราะ SELinux หรือเปล่า ก็ลองดึงค่าทั้งหมดออกมาดู

getsebool -a | grep httpd
เห็นค่า httpd_can_network_connect เป็น off อยู่ อืม... น่าสนๆ ก็เลยเปิดมันซะ ทำได้โดย
setsebool -P httpd_can_network_connect=1
โดยคำสั่ง setsebool จะเป็นการตั้งค่าของ SELinux และ -P จะทำให้ค่านี้ยังคงอยู่เมื่อเริ่มต้นบูตครั้งต่อไปด้วย พอ restart apache ก็ใช้ฐานข้อมูลได้ละ

ไม่มีความคิดเห็น: