Score:0

แก้ไขแล้ว: Apache ไม่สามารถแก้ไขลิงก์สัญลักษณ์ใน /var/www

ธง us

วิธีแก้ปัญหา (ขอบคุณแดน):

<Directory /var/www/exams>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

และ

chmod -R 775 ~/Sviluppo
chown -R www-data ~/Sviluppo/mysite

ก่อนการแก้ปัญหา

ฉันอ่านคำถามอื่นทั้งหมดและไม่สามารถแก้ปัญหาได้ ฉันมีเซิร์ฟเวอร์ Ubuntu 21.10 พร้อมหลอดไฟ (Apache 2.4.48) ฉันสร้าง symboliclink ด้วย ln -s ~/Sviluppo/myWeb /var/www/myWeb และมันก็โอเค จากนั้นใน apache สร้างโมดูลนี้:

    <VirtualHost *:80>
   ServerName myWeb
   DocumentRoot /var/www/myWeb/public
    <Directory /var/www/myWeb>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog /error.log
    CustomLog /access.log combined
</VirtualHost>

และฉันเปิดใช้งานด้วย sudo a2ensite myWeb. จากนั้นฉันก็กำหนดสิทธิ์กับ

    sudo chown -R www-ข้อมูล myWeb

ตอนนี้ฉันมี ต้องห้าม ข้อผิดพลาด: คุณไม่ได้รับอนุญาต....

แต่การกำหนดค่าเดียวกันนี้ใช้ได้กับฉันใน Ubuntu 20.04 ดูเหมือนว่า Apache จะไม่ติดตาม symlink !!! ฉันจะตรวจสอบอะไรได้บ้าง บาย. ขอบคุณมาก ๆ.

in flag
นี่อาจเป็น AppArmor ที่บล็อกการเข้าถึงไดเร็กทอรี เนื่องจาก Apache ถูกจำกัดทรัพยากรใน `/var/www` เท่านั้น (แม้จะมีลิงก์สัญลักษณ์) หากคุณเรียกใช้ `sudo systemctl enable apparmor' และรีสตาร์ท Apache คุณสามารถโหลดหน้าเว็บได้อย่างถูกต้องหรือไม่ ถ้าใช่ คุณอาจต้องแก้ไขโปรไฟล์ AppArmor ของคุณสำหรับ Apache เป็นความคิดที่ดีที่จะให้ AppArmor ทำงานหากเซิร์ฟเวอร์นี้เชื่อมต่อกับเว็บ ดังนั้นอย่าปล่อยทิ้งไว้นานเกินไป
user2994206 avatar
us flag
ขอบคุณมากสำหรับความช่วยเหลือของคุณ ฉันปิดใช้งานบริการ apparmor แต่ไม่สามารถแก้ไขได้
ar flag
โปรดอย่าใส่ SOLVED ในชื่อคำถามในเว็บไซต์ตอบคำถามนี้ เครื่องหมายถูกสีเขียว â ก็เพียงพอแล้ว คุณสามารถตอบคำถามของคุณเองด้านล่างและทำเครื่องหมายคำตอบของคุณเป็นคำตอบที่ยอมรับด้วย â แทนคำตอบของ @Dan
Score:1
ธง jp
Dan

ใน Apache 2.4, the คำสั่ง และ อนุญาต คำสั่งถูกลบออกเพื่อประโยชน์ของ จำเป็นต้อง คำสั่ง

ในกรณีของคุณ คุณต้องเปลี่ยนสองบรรทัดต่อไปนี้:

ต้องได้รับอนุญาตทั้งหมด

แม้จะทำการเปลี่ยนแปลงนั้นแล้ว ตรวจสอบให้แน่ใจว่า www-ข้อมูล ผู้ใช้มีสิทธิ์อ่าน ~/Sviluppo/myWeb ไดเร็กทอรีหากคุณยังประสบปัญหาอยู่

นอกจากนี้ Apache ยังต้องการสิทธิ์ดำเนินการในไดเร็กทอรีหลักเพื่อให้สามารถข้ามเส้นทางได้

chmod o+x ~/
chmod o+x ~/Sviluppo

คำเตือน: โปรดทราบว่าคำสั่งสองคำสั่งสุดท้ายให้สิทธิ์ผู้ใช้ในระบบของคุณในการเข้าถึงโฮมไดเร็กตอรี่ของคุณ ดังนั้น หากนี่คือระบบที่ใช้ร่วมกัน ฉันขอแนะนำให้มีโค้ดของไซต์ของคุณที่ใดที่หนึ่งนอกไดเร็กทอรีหลัก และให้สิทธิ์การอ่าน/เขียนแก่ผู้ใช้ของคุณ และสิทธิ์การอ่านแก่ www-ข้อมูล ผู้ใช้ในไดเร็กทอรีนั้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา