ฉันมีเว็บไซต์ที่มีโฟลเดอร์สำหรับ google sitemaps เมื่อเร็ว ๆ นี้ฉันได้รับข้อผิดพลาดต่อไปนี้ที่ส่งถึงฉัน
Sitemap generate warnings:
File "sitemap.xml" cannot be saved. Please, make sure the directory "/var/www/vhosts/frrakns.com/sitemaps/en/" is writeable by web server.
ใช้ls -ld
มันแสดงเจ้าของและสิทธิ์ต่อไปนี้
drwxrwxr-x 2 www-data www-data 4096 Jul 3 22:04 /var/www/vhosts/frrakns.com/sitemaps/en/
โดยทั่วไปแล้วฉันใช้สิ่งนี้เพื่อหมายความว่าโฟลเดอร์เป็นของ apache และทั้งเจ้าของและกลุ่มมีสิทธิ์ในการเขียน ฉันจะไปไหนผิด
อา ดังนั้นการตรวจสอบโครงสร้างไดเรกทอรีพวกเขาทั้งหมดคือ www-data: www-data จนกระทั่ง / var / www / vhosts ซึ่งก็คือ www-data: root ฉันคิดว่าโดยการเปลี่ยนโฟลเดอร์แผนผังเว็บไซต์เป็น www-data: รูทสิ่งนี้จะใช้ได้
—
Michael
@Rinzwind แน่นอนว่าข้อมูล www-data ไม่จำเป็นต้องมีสิทธิ์ในการเขียนเพื่อเข้าถึงไดเรกทอรีข้างต้นจำเป็นต้องใช้ execute (x) เท่านั้น แต่ผู้ใช้ที่ทำงาน php? มันรวมอยู่ใน Apache หรือภายนอก?
—
Jakob Lenfers
www-data ทำงาน php (ใช้ echo exec ('whoami');)
—
Michael
คุณสามารถเปิดเชลล์เป็น www-data (
—
Jakob Lenfers
sudo su - www-data -s /bin/bash
) และลองสร้างไฟล์ที่นั่นเพื่อให้แน่ใจว่าคุณสามารถเข้าถึงไดเร็กทอรีและมีสิทธิ์การเขียน หากไม่ได้ผลฉันจะคิดว่าไม่เกี่ยวข้องกับสิทธิ์ของคุณ ข้อผิดพลาดดูเหมือนว่าสิทธิ์การเข้าถึงเป็นเพียงโซลูชันที่น่าจะเป็นไปได้มากที่สุดไม่ใช่สิทธิ์ที่ได้รับการตรวจสอบ
@ JakobLenfers ขอบคุณ ฉันทำอย่างนั้นและสามารถเข้าถึง + เขียนในไดเรกทอรี คุณมีพอยน์เตอร์เกี่ยวกับที่ฉันสามารถหาวิธีแก้ปัญหาได้ที่ไหน
—
Michael