Apache เป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์ที่ใช้เกือบ 67% ของเว็บเซิร์ฟเวอร์ทั้งหมดในโลก ซอฟต์แวร์นี้พัฒนาและจัดจำหน่ายโดย Apache Software Distribution เป็นโอเพ่นซอร์สและสามารถใช้ได้ฟรี Apache รวดเร็วปลอดภัยและเชื่อถือได้ซึ่งเป็นสาเหตุหนึ่งของความนิยม อย่างไรก็ตามเมื่อไม่นานมานี้มีผู้ใช้จำนวนมากประสบปัญหา“ ห้าม - คุณไม่มีสิทธิ์เข้าถึง / บนเซิร์ฟเวอร์นี้ ” เกิดข้อผิดพลาดขณะพยายามตั้งค่า Apache สำหรับโดเมน
ข้อผิดพลาด“ Forbidden - คุณไม่มีสิทธิ์เข้าถึง / บนเซิร์ฟเวอร์นี้”
อะไรเป็นสาเหตุของข้อผิดพลาด“ Forbidden - คุณไม่มีสิทธิ์เข้าถึง / บนเซิร์ฟเวอร์นี้”
หลังจากได้รับรายงานจำนวนมากจากผู้ใช้หลายคนเราจึงตัดสินใจที่จะตรวจสอบปัญหาและคิดหาวิธีแก้ไขปัญหาอย่างสมบูรณ์ นอกจากนี้เราได้ตรวจสอบสาเหตุที่ทำให้เกิดและระบุไว้ดังต่อไปนี้
- การตั้งค่าไดเรกทอรีร่วมไม่ถูกต้อง : เป็นไปได้ว่าการตั้งค่าสำหรับ Global Directory ไม่ได้รับการกำหนดค่าอย่างถูกต้องซึ่งไม่อนุญาตให้มีคำสั่งกับไซต์เพียงพอ หากไซต์ไม่มีคำสั่งที่ถูกต้องอาจทำให้เกิดข้อผิดพลาดนี้
- สิทธิ์ไม่ถูกต้อง : Apache ต้องการการอนุญาตถึงโฟลเดอร์รากของไดเร็กทอรีเพื่อให้ทำงานได้อย่างถูกต้องหากไม่ได้รับสิทธิ์เหล่านี้ข้อผิดพลาดอาจถูกทริกเกอร์
- ไม่มีชื่อผู้ใช้ : ใน“ httpd.conf” ต้องป้อนชื่อผู้ใช้จริงของผู้ใช้ในบางกรณีเพื่อกำจัดข้อผิดพลาด วิธีนี้ใช้ได้กับบางคนในขณะที่บางคนใช้ไม่ได้
เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับลักษณะของปัญหาแล้วเราจะดำเนินการแก้ไขต่อไป ตรวจสอบให้แน่ใจว่าได้ใช้สิ่งเหล่านี้ตามลำดับเฉพาะที่นำเสนอ
โซลูชันที่ 1: การเปลี่ยนการตั้งค่าไดเรกทอรีร่วม
จำเป็นต้องกำหนดค่าการตั้งค่าบางอย่างอย่างเหมาะสมเพื่อแก้ไขปัญหานี้ ดังนั้นในขั้นตอนนี้เราจะเพิ่มคำสั่งตัวเลือกในการตั้งค่าไดเรกทอรีส่วนกลางซึ่งอยู่ในส่วน ' httpd . Conf ” หรือ“ httpd - vhosts . Conf ” ขึ้นอยู่กับผู้ใช้ สำหรับการที่:
- เมื่อคุณอยู่ใน“ httpd . Conf ” หรือ “ httpd-vhosts.conf”, มองหาไฟล์ ไดเรกทอรี การตั้งค่าควรคล้ายกับโค้ดที่ระบุด้านล่าง
ตัวเลือก FollowSymLinks AllowOverride All Order ปฏิเสธอนุญาตอนุญาตจากทั้งหมด
ไฟล์“ httpd.conf”
บันทึก: เป็นไปได้ว่ารหัสมี“ปฏิเสธ จาก ทั้งหมด ” แทน“อนุญาต จาก ทั้งหมด “. เป็นสิ่งสำคัญที่คุณแก้ไข เพื่อ“อนุญาตจาก ทั้งหมด ' หรือ 'จำเป็นต้อง ทั้งหมด ได้รับ ” ตามที่ระบุด้านล่าง
- ให้แน่ใจว่าคุณ เพิ่ม ที่“ ดัชนีตัวเลือก FollowSymLinks รวมถึง ExecCGI ” เข้าไว้ในลักษณะที่คล้ายกับรหัสต่อไปนี้
#Options FollowSymLinks ดัชนีตัวเลือก FollowSymLinks รวม ExecCGI AllowOverride All Order ปฏิเสธอนุญาตอนุญาตจากทั้งหมด
- ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
- หากไม่สามารถแก้ไขปัญหาได้ให้แก้ไขโค้ดโดยลบ“ อนุญาต จาก ทั้งหมด ' ถึง ' จำเป็นต้อง ทั้งหมด ได้รับ '.
- ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
โซลูชันที่ 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 “ อย่าลืมเพิ่มไฟล์ ชื่อผู้ใช้ที่แน่นอน แทนคำพูด “ ผู้ใช้” หรือ 'กลุ่ม'. ในบางกรณีการเพิ่มชื่อผู้ใช้จะช่วยแก้ปัญหาได้
เพิ่มชื่อผู้ใช้ในไฟล์ที่ระบุ
อ่าน 2 นาที