Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ระบบเครือข่าย

วิธีแก้ไขข้อผิดพลาด 'Forbidden - You Don't Have Permission To Access / on this Server' หลังตั้งค่า Apache

Apache เป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์ที่ใช้โดยเกือบ 67% ของเว็บเซิร์ฟเวอร์ทั่วโลก ซอฟต์แวร์นี้พัฒนาและเผยแพร่โดย Apache Software Distribution เป็นโอเพนซอร์สและใช้ฟรี Apache เร็ว ปลอดภัย และน่าเชื่อถือ ซึ่งเป็นหนึ่งในเหตุผลที่ได้รับความนิยม อย่างไรก็ตาม 近期 ผู้ใช้จำนวนมากประสบข้อผิดพลาด "Forbidden - You Don't Have Permission To Access / on this Server" ขณะพยายามตั้งค่า Apache สำหรับโดเมนของตน

วิธีแก้ไขข้อผิดพลาด  Forbidden - You Don t Have Permission To Access / on this Server  หลังตั้งค่า Apache

สาเหตุของข้อผิดพลาด "Forbidden - You Don't Have Permission To Access / on this Server"

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

  • การตั้งค่า Global Directory ผิดพลาด: อาจเป็นไปได้ว่าการตั้งค่าสำหรับ Global Directory ยังไม่ได้กำหนดค่าอย่างถูกต้อง ทำให้ไม่ได้รับคำสั่ง (directive) ให้เพียงพอต่อไซต์ หากไซต์ไม่มี directive ที่ถูกต้อง อาจกระตุ้นข้อผิดพลาดนี้
  • สิทธิ์การเข้าถึงผิดพลาด: Apache ต้องการสิทธิ์จนถึงโฟลเดอร์ราก (root folder) ของไดเรกทอรีเพื่อทำงานได้อย่างถูกต้อง หากไม่ได้ให้สิทธิ์เหล่านี้ ข้อผิดพลาดอาจถูกกระตุ้น
  • ไม่มีชื่อผู้ใช้: ในไฟล์ "httpd.conf" ต้องใส่ชื่อผู้ใช้จริงของผู้ใช้ในบางกรณีเพื่อกำจัดข้อผิดพลาด วิธีนี้ใช้ได้กับบางคน แต่บางคนไม่ได้

เมื่อเข้าใจลักษณะปัญหาแล้ว เราจะดำเนินการแก้ไข โปรดปฏิบัติตามลำดับขั้นตอนที่กำหนด

วิธีแก้ไขที่ 1: เปลี่ยนการตั้งค่า Global Directory

การตั้งค่าบางอย่างต้องกำหนดค่าอย่างถูกต้องเพื่อแก้ไขปัญหานี้ ในขั้นตอนนี้ เราจะเพิ่ม Options Directive ในการตั้งค่า Global Directory ซึ่งอยู่ในไฟล์ "httpd.conf" หรือ "httpd-vhosts.conf" ขึ้นอยู่กับผู้ใช้ ขั้นตอนดังนี้

  1. เมื่ออยู่ใน "httpd.conf" หรือ "httpd-vhosts.conf" ให้ค้นหาการตั้งค่า directory จะมีลักษณะคล้ายโค้ดด้านล่าง
    <Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all </Directory>
    วิธีแก้ไขข้อผิดพลาด  Forbidden - You Don t Have Permission To Access / on this Server  หลังตั้งค่า Apache

    หมายเหตุ: โค้ดอาจมี "Deny From All" แทน "Allow From All" สำคัญที่คุณต้อง แก้ไข เป็น "Allow From All" หรือ "Require All Granted" ตามที่ระบุด้านล่าง

  2. ตรวจสอบให้แน่ใจว่าคุณ เพิ่ม บรรทัด "Options Indexes FollowSymLinks Includes ExecCGI" เข้าไป จนลักษณะโค้ดคล้ายดังนี้
    <Directory /> #Options FollowSymLinks Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order deny,allow Allow from all </Directory>
  3. ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่
  4. หากปัญหายังไม่แก้ไข ให้แก้ไขโค้ดโดยลบ "Allow from All" เป็น "Require All Granted"
  5. ตรวจสอบ อีกครั้งว่าปัญหายังคงอยู่หรือไม่

วิธีแก้ไขที่ 2: เปลี่ยนสิทธิ์การเข้าถึง (Permissions)

เมื่อผู้ใช้เชื่อมต่อ Apache กับโดเมน พวกเขาจะให้สิทธิ์ซอฟต์แวร์เพื่ออ่านและเขียนไฟล์ สิทธิ์เหล่านี้ต้องให้อย่างถูกต้อง ด้านล่างจะระบุวิธีการให้สิทธิ์ที่ถูกต้อง

  1. โดยปกติ ผู้ใช้ให้ สิทธิ์ ดังนี้
    chgrp -R www-data /username/home/Dropbox/myamazingsite/ chmod -R 2750 /username/home/Dropbox/myamazingsite/
  2. คำสั่งเหล่านี้ผิด และต้องเปลี่ยนเป็น
    chgrp -R www-data /username chmod -R 2750 /username
  3. คุณต้องจำได้ว่า ใช้ระดับ "chmod" ที่ถูกต้อง ใช้ตัวที่ให้สิทธิ์อ่านแก่ผู้ใช้ เช่น "chmod 755"
  4. ตรวจสอบว่าปัญหายังคงอยู่หรือไม่หลังจากลองข้อเสนอแนะ

วิธีแก้ไขที่ 3: เพิ่มชื่อผู้ใช้

ในไฟล์ "httpd.conf" ตรวจสอบให้แน่ใจว่าใส่ ชื่อผู้ใช้ที่แน่นอน แทนคำว่า "User" หรือ "Group" ในบางกรณี การเพิ่มชื่อผู้ใช้จะแก้ไขปัญหาได้

วิธีแก้ไขข้อผิดพลาด  Forbidden - You Don t Have Permission To Access / on this Server  หลังตั้งค่า Apache