ไดเร็กทอรีไฟล์: การแก้ไขปัญหาเว็บเซิร์ฟเวอร์ที่ใช้ Apache
หากไฟล์ไดเรกทอรีไม่ได้ "เป็นเจ้าของ" โดยเว็บเซิร์ฟเวอร์มีสองวิธีในการดำเนินการต่อ คำแนะนำเหล่านี้ถือว่าคุณมีสิทธิ์เข้าถึงเชลล์ในเว็บเซิร์ฟเวอร์ หากคุณไม่มีสิทธิ์เข้าถึงเชลล์โปรดติดต่อผู้ให้บริการโฮสต์ของคุณเพื่อรับการสนับสนุนเพิ่มเติม
เป็นการดีที่คุณจะสามารถเปลี่ยน "เจ้าของ" ของไฟล์ไดเรกทอรีให้ตรงกับชื่อของเว็บเซิร์ฟเวอร์ บนเซิร์ฟเวอร์ที่ใช้ Unix หรือ Linux คุณสามารถตรวจสอบ "ใคร" เว็บเซิร์ฟเวอร์กำลังทำงานโดยออกคำสั่งต่อไปนี้:
$ ps aux |grep apache # for Apache 2.x
$ ps aux |grep httpd # for Apache 1.x
หนึ่งในคำสั่งเหล่านี้จะคืนค่าชุดของบรรทัดดังนี้:
www-data 13612 0.1 0.9 50640 20340 ? S 12:29 0:08 /usr/sbin/apache2 -k start
คอลัมน์แรกในข้อความที่ส่งคืนคือ "ผู้ใช้" ที่เว็บเซิร์ฟเวอร์ของคุณใช้งาน ในกรณีนี้ผู้ใช้คือ www-data ในการทำให้ไดเร็กทอรีไฟล์ของคุณสามารถเขียนได้โดยเว็บเซิร์ฟเวอร์คุณต้องกำหนดความเป็นเจ้าของใหม่โดยใช้คำสั่งต่อไปนี้:
$ chown -R www-data sites/default/files
$ chmod -R 0700 sites/default/files
หากคุณไม่มีสิทธิ์เพียงพอบนเซิร์ฟเวอร์ของคุณในการเปลี่ยนความเป็นเจ้าของโฟลเดอร์ตัวเลือกที่ดีที่สุดถัดไปคือการให้การเข้าถึงการเขียนแบบกลุ่มไปยังโฟลเดอร์ด้วยคำสั่งต่อไปนี้:
$ chmod -R 0770 sites/default/files
คุณควรจะสามารถปรับเปลี่ยนการอนุญาตของไดเรกทอรีโดยใช้โปรแกรม FTP ตามที่อธิบายไว้ข้างต้น
เมื่อคุณทำตามขั้นตอนเหล่านี้เสร็จสิ้นแล้วให้ยืนยันการอนุญาตที่เหมาะสมโดยไปที่การจัดการ -> รายงาน -> รายงานสถานะ เลื่อนไปที่ส่วนที่ระบุว่า "ระบบไฟล์" และยืนยันว่าการตั้งค่าของคุณถูกต้องแล้ว
แหล่งที่มา: ไดเรกทอรีไฟล์