วิธีการแก้ไข 'ต้องห้าม - คุณไม่มีสิทธิ์ในการเข้าถึง / บนเซิร์ฟเวอร์นี้' ในโดเมนหลังจากตั้งค่า Apache หรือไม่
Apache เป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์ที่ใช้งานโดยเกือบ 67% ของเว็บเซิร์ฟเวอร์ทั้งหมดในโลก ซอฟต์แวร์นี้ได้รับการพัฒนาและจัดจำหน่ายโดย Apache Software Distribution เป็นโอเพ่นซอร์สและให้บริการฟรี Apache มีความรวดเร็วปลอดภัยและเชื่อถือได้ซึ่งเป็นหนึ่งในสาเหตุของความนิยม อย่างไรก็ตามเมื่อเร็ว ๆ นี้มีผู้ใช้จำนวนมากที่พบข้อผิดพลาด“ ต้องห้าม - คุณไม่ได้รับอนุญาตให้เข้าถึง / บนเซิร์ฟเวอร์นี้ ” ในขณะที่พยายามตั้งค่า Apache สำหรับโดเมนของตน
ข้อผิดพลาด“ ต้องห้าม - คุณไม่มีสิทธิ์ในการเข้าถึง / บนเซิร์ฟเวอร์นี้” เกิดอะไรขึ้น
หลังจากได้รับรายงานจำนวนมากจากผู้ใช้หลายคนเราตัดสินใจที่จะตรวจสอบปัญหาและคิดค้นชุดโซลูชันเพื่อแก้ไขปัญหาโดยสมบูรณ์ นอกจากนี้เรายังพิจารณาถึงสาเหตุเนื่องจากมีการเรียกใช้และแสดงรายการดังต่อไปนี้
- การตั้งค่า Global Directory ที่ไม่ถูกต้อง : เป็นไปได้ว่าการตั้งค่าสำหรับ Global Directory นั้นยังไม่ได้รับการกำหนดค่าอย่างเหมาะสม หากไซต์ไม่มีคำสั่งที่ถูกต้องอาจทำให้เกิดข้อผิดพลาดนี้
- สิทธิ์ที่ไม่ถูกต้อง : Apache ต้องการสิทธิ์จนถึงโฟลเดอร์รูทของไดเรกทอรีเพื่อให้ทำงานได้อย่างถูกต้องหากสิทธิ์เหล่านี้ไม่ได้รับข้อผิดพลาดอาจถูกเรียกใช้
- ไม่มีชื่อผู้ใช้ : ใน“ httpd.conf” ชื่อผู้ใช้จริงของผู้ใช้จะต้องป้อนในบางกรณีเพื่อกำจัดข้อผิดพลาด สิ่งนี้ใช้ได้กับบางคนในขณะที่บางคนก็ไม่ได้
ตอนนี้คุณมีความเข้าใจพื้นฐานเกี่ยวกับลักษณะของปัญหาแล้วเราจะดำเนินการแก้ไขปัญหาต่อไป ตรวจสอบให้แน่ใจว่าได้ใช้สิ่งเหล่านี้ตามลำดับเฉพาะที่นำเสนอ
โซลูชันที่ 1: การเปลี่ยนการตั้งค่าไดเรกทอรีส่วนกลาง
การตั้งค่าบางอย่างจำเป็นต้องได้รับการกำหนดค่าอย่างเหมาะสมเพื่อแก้ไขปัญหานี้ ดังนั้นในขั้นตอนนี้เราจะเพิ่มตัวเลือกคำสั่งในการตั้งค่าไดเรกทอรีโลกซึ่งตั้งอยู่ใน“ httpd conf "หรือ" httpd - vhosts conf ” ขึ้นอยู่กับผู้ใช้ สำหรับการที่:
- เมื่อคุณอยู่ใน“ httpd conf "หรือ " httpd-vhosts.conf " มองหาการตั้งค่า ไดเรกทอรี พวกเขาควรจะคล้ายกับรหัสที่กล่าวถึงด้านล่าง
ตัวเลือก FollowSymLinks AllowOverride คำสั่งซื้อทั้งหมดปฏิเสธอนุญาตให้อนุญาตจากทั้งหมด
ไฟล์“ httpd.conf” หมายเหตุ: เป็นไปได้ว่ารหัสนั้นมี " ปฏิเสธ จาก ทั้งหมด " แทนที่ " อนุญาต จาก ทั้งหมด " เป็นสิ่งสำคัญที่คุณต้อง แก้ไข เป็น“ อนุญาตจาก ทั้งหมด ” หรือ“ ต้องการ ทั้งหมดที่ ได้รับ ” ตามที่ระบุไว้ด้านล่าง
- ตรวจสอบให้แน่ใจว่าคุณ เพิ่ม บรรทัด“ ดัชนีตัวเลือก FollowSymLinks รวม ExecCGI ” ในลักษณะที่คล้ายกับรหัสต่อไปนี้
#Options ตัวเลือก FollowSymLinks ดัชนี FollowSymLinks รวม ExecCGI AllowOverride คำสั่งซื้อทั้งหมดปฏิเสธอนุญาตให้อนุญาตจากทั้งหมด
- ตรวจสอบ ว่าปัญหายังคงมีอยู่หรือไม่
- หากไม่สามารถแก้ไขปัญหาได้ให้แก้ไขรหัสโดยลบ“ อนุญาต จาก ทั้งหมด ” เป็น“ ต้อง ได้รับ ทั้งหมด ”
- ตรวจสอบ ว่าปัญหายังคงมีอยู่หรือไม่
โซลูชันที่ 2: การเปลี่ยนสิทธิ์
เมื่อผู้ใช้เชื่อมโยง Apache กับโดเมนพวกเขาจะให้สิทธิ์ซอฟต์แวร์เพื่อให้สามารถอ่านและเขียนไฟล์ได้ เป็นสิ่งสำคัญที่จะต้องให้สิทธิ์เหล่านี้อย่างถูกต้อง ด้านล่างนี้เราจะระบุวิธีการให้สิทธิ์ที่เหมาะสม
- ผู้ใช้ให้การ อนุญาต ตามวิธีการดังต่อไปนี้
chgrp -R www-data / ชื่อผู้ใช้ / home / Dropbox / myamazingsite / chmod -R 2750 / ชื่อผู้ใช้ / home / Dropbox / myamazingsite /
- คำสั่งเหล่านี้ผิดและจำเป็นต้องเปลี่ยนด้วย
chgrp -R www-data / ชื่อผู้ใช้ chmod -R 2750 / ชื่อผู้ใช้
- นอกจากนี้โปรดทราบว่าคุณกำลังใช้ระดับ " chmod " ที่ถูกต้องใช้ระดับที่ให้สิทธิ์การอ่านแก่ผู้ใช้เช่น " chmod 755 "
- ตรวจสอบดูว่าปัญหายังคงอยู่หรือไม่หลังจากลองทำตามคำแนะนำ
โซลูชันที่ 3: การเพิ่มชื่อผู้ใช้
ใน“ httpd conf “ ตรวจสอบให้แน่ใจว่าได้เพิ่ม ชื่อผู้ใช้ที่แน่นอน แทนที่จะใช้คำว่า “ ผู้ใช้” หรือ “ กลุ่ม” ในบางกรณีการเพิ่มชื่อผู้ใช้จะช่วยแก้ไขปัญหาได้