แก้ Apache Config แล้ว Error “DocumentRoot must be a directory”

วันก่อนมีเครื่องให้ติดตั้ง Web Application ไปตัวนึง แต่บังเอิญเข้าไปแก้ Config ของ Server ได้บางส่วน เลยอยากย้าย Document Root ไปไว้ที่อื่น เวลา Backup จะได้ Backup ง่ายๆ (เอา DB ไปด้วย) แต่คราวนี้พอแก้ในไฟล์ httpd.conf แล้ว ปรากฏว่า Start Apache ไม่ได้เลย มันจะขึ้น

Starting httpd: Syntax error on line xxx of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory

ทั้งๆ ที่ Path ที่เราย้ายไปก็ถูก แล้วมันก็เป็น Directory ด้วย แต่มันก็ยังจะขึ้นอยู่ ก็เลย Googling ดูก็พบว่า มันเป็นเพราะ SELinux ผมยังหาทาง Config ให้ใช้ SELinux กับ การเปลี่ยน Path ของ Apache ไม่ได้ ตอนนี้เลย ปิด SELinux ไปก่อนเลย

ก็ไปปิดที่
แก้ไข ไฟล์ /etc/sysconfig/selinux
เปลี่ยนจาก

SELINUX=enforcing
เป็น
SELINUX=disabled

ก็จะสามารถ เปลี่ยน Root Directory ของ Apache ได้ตามความต้องการครับ

Leave a Reply