แก้ไขคำเตือน Apache AllowOverride All บน ownCloud อย่างปลอดภัย

หาก ownCloud แจ้งว่าการตั้งค่า Apache AllowOverride Allหายไป ให้เพิ่มการตั้งค่าดังกล่าวลงใน<Directory>บล็อก Apache ที่ตรงกับเส้นทางการติดตั้ง ownCloud ของคุณ ทดสอบการกำหนดค่า และรีโหลด Apache โดยทั่วไปแล้ว ในการติดตั้ง Debian หรือ Ubuntu การตั้งค่าจะอยู่ในโฮสต์เสมือน ownCloud ที่ใช้งานอยู่ หรือในบล็อกไดเร็กทอรีที่ตรงกันในการกำหนดค่าของ Apache อย่าเปิดใช้งานการแทนที่ทั่วทั้งเซิร์ฟเวอร์เพียงเพื่อล้างคำเตือนเพียงรายการเดียว

ใน ownCloud Server (Classic) จำเป็นต้องอนุญาตให้ Apache อ่าน.htaccessกฎของระบบ กฎเหล่านั้นสนับสนุนการเขียน URL ใหม่และช่วยปกป้องเส้นทางข้อมูลที่สำคัญ ดังนั้น กฎที่ขาดหายไปหรือไม่มีผล อาจส่งผลกระทบต่อทั้ง URL ที่ปลอดภัยและการตรวจสอบความปลอดภัยของไดเร็กทอรีข้อมูล คู่มือนี้ใช้ได้กับ ownCloud Server ที่ใช้ Apache HTTP Server เท่านั้น ไม่สามารถใช้ได้กับ Nginx, ownCloud Infinite Scale หรือการตั้งค่าโฮสติ้งที่ผู้ให้บริการควบคุมการกำหนดค่า Apache

ข้อมูลอ้างอิงฉบับย่อ

เป้าหมายตรวจสอบหรือตั้งค่า
อนุญาตให้ ownCloud ใช้กฎต่อไดเร็กทอรีAllowOverride Allใน<Directory>บล็อก ที่ตรงกัน
ยืนยันว่า Apache สามารถประมวลผลการเปลี่ยนแปลงได้sudo apachectl -tควรรายงานSyntax OK
เปิดใช้งานการกำหนดค่าsudo systemctl reload apache2บน Debian หรือ Ubuntu
ตรวจสอบ URL ที่สะอาดตรวจสอบให้แน่ใจmod_rewriteว่าได้เปิดใช้งานแล้ว หากการกำหนดค่าของคุณต้องการ
ยืนยันว่าคำเตือนหายไปแล้วโปรดโหลดหน้าภาพรวมการดูแลระบบของ ownCloud ใหม่หลังจากทดสอบ URL ที่ได้รับผลกระทบแล้ว

คำเตือนนั้นหมายความว่าอย่างไร

คำสั่ง ของ Apache AllowOverrideจะตัดสินว่าคำสั่งใน.htaccessไฟล์ได้รับอนุญาตให้มีผลต่อคำขอหรือไม่ Apache จะยอมรับเฉพาะคำสั่งAllowOverrideภายใน<Directory>ส่วนที่กำหนดเท่านั้น การวางบรรทัดไว้ที่ระดับบนสุดของโฮสต์เสมือนหรือในบล็อกที่ไม่เกี่ยวข้องจะไม่ทำให้คำสั่งนั้นมีผลกับไฟล์ ownCloud <Directory>นอกจากนี้ กฎที่กว้างกว่า กฎที่เฉพาะเจาะจงกว่า หรือโฮสต์เสมือนอื่นที่เปิดใช้งานอยู่ อาจหมายความว่าการตั้งค่าที่คุณแก้ไขนั้นไม่ใช่การตั้งค่าที่ใช้กับคำขอ

คู่มือการติดตั้ง ownCloud สำหรับ Server 10.16 ฉบับปัจจุบัน แสดงให้เห็นว่าAllowOverride Allในบล็อกไดเร็กทอรีสำหรับรูทเอกสารของ ownCloud นั้น “ทั้งหมด” จะอนุญาตให้ใช้คลาสที่ถูกแทนที่ซึ่งได้รับการสนับสนุนโดยโมดูลของ Apache ในขอบเขตนั้น ควรจำกัดสิทธิ์นั้นไว้เฉพาะในไดเร็กทอรี ownCloud เท่านั้น แทนที่จะเปลี่ยนแปลงนโยบายระบบไฟล์โดยรวมของ Apache คู่มือของ Apache ยังอธิบายAllowOverrideListถึงวิธีการสำหรับผู้ดูแลระบบที่ต้องการอนุญาตเฉพาะคำสั่งบางอย่างเท่านั้น แต่รายการที่จำกัดนั้นจำเป็นต้องมีการทดสอบความเข้ากันได้อย่างระมัดระวังกับเวอร์ชัน ownCloud และ.htaccessกฎ ที่มาพร้อมกับระบบ

ตัวอย่างการใช้งาน Apache virtual host โดยตั้งค่า AllowOverride All ภายในบล็อกไดเร็กทอรี ownCloud
ตัวอย่างโฮสต์เสมือนจะวางไว้AllowOverride Allภายในบล็อกไดเร็กทอรีสำหรับ/var/www/owncloud.

ก่อนที่จะเปลี่ยน Apache

  • ตรวจสอบให้แน่ใจว่าผลิตภัณฑ์คือ ownCloud Server (Classic) และระบุเส้นทางไฟล์ระบบที่แน่นอนของรูทเว็บ URL เช่น/cloudอาจแมปผ่าน Apache Aliasไปยังไดเร็กทอรีบนดิสก์ที่แตกต่างกัน
  • ค้นหาไฟล์โฮสต์เสมือนและไฟล์การกำหนดค่าที่ใช้งานอยู่ บน Debian หรือ Ubuntu ตำแหน่งทั่วไปจะอยู่ที่/etc/apache2/sites-available/และ/etc/apache2/apache2.confบนระบบตระกูล RHEL การกำหนดค่า Apache มักจะอยู่ใน/etc/httpd/ส่วนแผงควบคุมและคอนเทนเนอร์อาจใช้เส้นทางอื่น
  • สำรองไฟล์ก่อนทำการแก้ไข และเก็บรักษาการตั้งค่า TLS, proxy, access-control และ ownCloud ที่มีอยู่เดิมไว้
  • ตรวจสอบว่ามีกฎอื่นAllowOverride Noneหรือกฎไดเร็กทอรีที่ใช้กับเส้นทางเดียวกันหรือไม่ ห้ามแก้ไขไฟล์ไซต์เริ่มต้นที่ไม่ได้เปิดใช้งานสำหรับชื่อโฮสต์ ownCloud

แก้ไขปัญหาเซิร์ฟเวอร์ Apache ที่จัดการด้วยตนเอง

1. แก้ไขการตั้งค่าที่ใช้งานอยู่

บน Debian หรือ Ubuntu ให้เปิดโฮสต์เสมือนที่ให้บริการชื่อโฮสต์ ownCloud ตัวอย่างเช่น:

sudo nano /etc/apache2/sites-available/owncloud.conf

ภายในไฟล์นั้น ให้ค้นหาหรือเพิ่ม<Directory>ส่วนสำหรับไดเร็กทอรีการติดตั้ง ownCloud จริง ตัวอย่างอย่างง่ายนี้แสดงตำแหน่งที่เกี่ยวข้อง โปรดคงคำสั่งเพิ่มเติมใดๆ ที่เซิร์ฟเวอร์ของคุณต้องการไว้:

<Directory /var/www/owncloud/>
    Options +FollowSymlinks
    AllowOverride All
    Require all granted
</Directory>

แทนที่/var/www/owncloud/ด้วยเส้นทางจริงของคุณ หาก Apache แมป URL ด้วยAliasให้กำหนดค่าไดเร็กทอรีระบบไฟล์ที่มีไฟล์ ownCloud ไม่ใช่เพียงแค่เส้นทาง URL คู่มือการติดตั้ง Apache ของ ownCloud มีหมายเหตุการกำหนดค่าเพิ่มเติม ใช้ตัวอย่างที่ตรงกับเวอร์ชัน ownCloud และการตั้งค่า PHP ของคุณ

2. ตรวจสอบโมดูลและไวยากรณ์

สำหรับ URL ที่สะอาดตาโดยไม่มีindex.phpเครื่องหมายจุลภาค เอกสาร ownCloud mod_rewriteและmod_envข้อกำหนดเบื้องต้น บน Debian หรือ Ubuntu ให้เปิดใช้งานโมดูลการเขียนใหม่หากยังไม่ได้เปิดใช้งาน:

sudo a2enmod rewrite
sudo apachectl -t

การทดสอบการกำหนดค่าควรสิ้นสุดด้วยSyntax OK. หากพบข้อผิดพลาด ให้แก้ไขข้อผิดพลาดนั้นก่อนที่จะโหลดใหม่ การตรวจสอบไวยากรณ์ที่สำเร็จแสดงว่า Apache สามารถวิเคราะห์การกำหนดค่าได้ แต่ไม่ได้แสดงว่าโฮสต์เสมือนที่ถูกต้องทำงานอยู่ หรือกระบวนการที่กำลังทำงานอยู่ได้โหลดไฟล์ที่แก้ไขแล้ว

การทดสอบการกำหนดค่า Apache แสดงผล Syntax OK ในเทอร์มินัล
การทดสอบการกำหนดค่า Apache ควรเสร็จสิ้นSyntax OKก่อนที่คุณจะรีโหลดบริการ

3. รีโหลด Apache และทดสอบ ownCloud

บนระบบปฏิบัติการ Debian หรือ Ubuntu ให้รีโหลด Apache หลังจากตรวจสอบไวยากรณ์สำเร็จ:

sudo systemctl reload apache2

สำหรับระบบตระกูล RHEL บริการนี้มักจะมีชื่อว่าhttpdดังนั้นให้ใช้ชื่อบริการที่ตรงกันและคำสั่ง configuration-test ของระบบปฏิบัติการนั้นๆ อย่าคัดลอกคำสั่งเฉพาะของ Debian ไปยังระบบอื่นโดยไม่ตรวจสอบโครงสร้างบริการของระบบนั้นก่อน

เปิดชื่อโฮสต์ ownCloud ในเบราว์เซอร์และทดสอบหน้าเว็บที่ก่อนหน้านี้ต้องแก้ไขการเขียนทับ หากเซิร์ฟเวอร์ใช้คำนำหน้าพาธ เช่น/cloud`<path_prefix>` ให้ทดสอบ URL ที่มีคำนำหน้าด้วย การวนลูปการเปลี่ยนเส้นทาง การตอบสนอง 403 หรือข้อผิดพลาด Apache 500 หมายความว่าการกำหนดค่ายังคงต้องได้รับการตรวจสอบ ตรวจสอบบันทึกข้อผิดพลาดของ Apache และบันทึก ownCloud แทนที่จะเปลี่ยนคำสั่งที่ไม่เกี่ยวข้องซ้ำๆ

หน้าต่างเทอร์มินัลแสดงว่าโมดูล rewrite เปิดใช้งานอยู่ และบริการ Apache ถูกโหลดใหม่แล้ว
เปิดใช้งานmod_rewriteเฉพาะเมื่อจำเป็น จากนั้นรีโหลดบริการ Apache หลังจากตรวจสอบไวยากรณ์สำเร็จแล้ว

หากคำเตือนยังคงอยู่

อาการตรวจสอบถัดไป
คำเตือนยังคงปรากฏหลังจากโหลดหน้าเว็บใหม่ตรวจสอบให้แน่ใจว่าโฮสต์เสมือนที่แก้ไขแล้วเปิดใช้งานอยู่และให้บริการชื่อโฮสต์ ตรวจสอบapachectl -Sและตรวจสอบว่าไม่มีกฎไดเร็กทอรีระดับล่างหรือเฉพาะเจาะจงเพิ่มเติม
URL ที่สะอาดตายังคงรวมถึงindex.phpตรวจสอบว่าmod_rewriteเปิดใช้งานแล้ว ไดเร็กทอรี ownCloud มีสิทธิ์ในการเขียนทับตามที่ต้องการ และฐานการเขียนใหม่ของ ownCloud ตรงกับเส้นทาง URL ของไดเร็กทอรีนั้น
หน้าผู้ดูแลระบบระบุว่าไดเร็กทอรีข้อมูลอาจสามารถเข้าถึงได้โดยสาธารณะตรวจสอบให้แน่ใจว่าไดเร็กทอรีข้อมูลอยู่นอกไดเร็กทอรีหลักของเว็บไซต์ หากเป็นไปได้ มิเช่นนั้น ให้ตรวจสอบว่าไดเร็กทอรีข้อมูลที่จัดส่งมานั้น.htaccessมีอยู่จริง สามารถอ่านได้ และได้รับการยอมรับจาก Apache การล้างคำเตือนไม่ถือเป็นการทดแทนการปกป้องไดเร็กทอรี
Apache จะแสดงรหัสข้อผิดพลาด 500 หรือแจ้งว่า “ไม่อนุญาตให้ใช้งานที่นี่”อ่านบันทึกข้อผิดพลาดของ Apache คำสั่งบางอย่าง.htaccessอาจไม่ได้รับอนุญาตจากคลาสที่ใช้งานอยู่ หรือโมดูลที่จำเป็นอาจไม่พร้อมใช้งาน
ทำงานภายในคอนเทนเนอร์หรือโฮสต์ที่ได้รับการจัดการตรวจสอบการตั้งค่า Apache ที่ระบุไว้ในเอกสารของอิมเมจ หรือแผงควบคุมของผู้ให้บริการ ไฟล์ Apache ระดับโฮสต์อาจไม่ใช่เซิร์ฟเวอร์ที่จัดการคำขอ

หาก ownCloud แจ้งว่า.htaccessไม่สามารถอัปเดตไฟล์ได้ ให้ตรวจสอบความเป็นเจ้าของและสิทธิ์ในการเขียนตามคำแนะนำในการอัปเกรดและการรักษาความปลอดภัยของ ownCloud ก่อนที่จะเปลี่ยนแปลง หลีกเลี่ยงการทำให้เว็บเซิร์ฟเวอร์สามารถเขียนทับการติดตั้งทั้งหมดได้เพื่อเป็นทางลัด เอกสารของ ownCloud ระบุว่ารายละเอียดการกำหนดค่าจะแตกต่างกันไปตามการติดตั้ง และ PHP-FPM ไม่ได้ใช้การตั้งค่า PHP จากไฟล์.htaccess; การตั้งค่าสำหรับกรณีนั้นควรอยู่ใน.user.iniไฟล์ ความแตกต่างของ PHP นั้นไม่ได้ทดแทนความจำเป็นของ Apache ในการประมวลผลกฎการเขียนใหม่และการเข้าถึงของ ownCloud

รายการตรวจสอบการยืนยัน

  1. เส้นทาง<Directory>ตรงกับไฟล์ ownCloud บนดิสก์ทุกประการ
  2. บล็อกการจับคู่ประกอบด้วยAllowOverride Allและไม่มีกฎขัดแย้งที่ใช้งานอยู่ใด ๆ ที่มีลำดับความสำคัญเหนือกว่า
  3. sudo apachectl -tส่งSyntax OKคืน
  4. Apache ได้ถูกโหลดใหม่โดยใช้ชื่อบริการที่ถูกต้องแล้ว
  5. หน้าเข้าสู่ระบบ ownCloud และ URL ที่เคยได้รับผลกระทบก่อนหน้านี้ โหลดผ่าน HTTPS ได้ตามปกติแล้ว
  6. หลังจากรีเฟรชหน้าเว็บแล้ว หน้าภาพรวมการบริหารจัดการจะไม่แสดงคำเตือนเดิมอีกต่อไป และไดเร็กทอรีข้อมูลยังคงไม่สามารถเข้าถึงได้จากเว็บสาธารณะ
ตัวอย่างหน้าเข้าสู่ระบบ ownCloud ที่โฮสต์เนมที่กำหนดค่าไว้ พร้อมการตรวจสอบโดเมนที่เชื่อถือได้ในเทอร์มินัล
ตัวอย่างหน้าเข้าสู่ระบบ ownCloud ที่ชื่อโฮสต์ที่กำหนดค่าไว้ โปรดตรวจสอบสถานะคำเตือนที่แท้จริงในภาพรวมการดูแลระบบของคุณเอง

ข้อมูลอ้างอิงอย่างเป็นทางการ

ฝากความเห็น

10 เครื่องมือ Ping Sweep ที่ดีที่สุดสำหรับการค้นหาอุปกรณ์ในเครือข่ายของคุณ

10 เครื่องมือ Ping Sweep ที่ดีที่สุดสำหรับการค้นหาอุปกรณ์ในเครือข่ายของคุณ

เปรียบเทียบเครื่องมือสแกน Ping 10 ตัว สำหรับการค้นหาเครือข่าย LAN อย่างรวดเร็ว การสแกนข้ามแพลตฟอร์ม และการจัดการที่อยู่ IP เรียนรู้ว่าการสแกน Ping สามารถบอกอะไรคุณได้บ้าง และบอกอะไรไม่ได้บ้าง

6 เครื่องมือบริหารจัดการเครือข่ายที่ดีที่สุดสำหรับการติดตามประสิทธิภาพ

6 เครื่องมือบริหารจัดการเครือข่ายที่ดีที่สุดสำหรับการติดตามประสิทธิภาพ

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

โปรแกรมวิเคราะห์ Wi-Fi ที่ดีที่สุดสำหรับ Windows, iOS และ Android

โปรแกรมวิเคราะห์ Wi-Fi ที่ดีที่สุดสำหรับ Windows, iOS และ Android

เปรียบเทียบแอปวิเคราะห์ Wi-Fi สำหรับ Windows, iPhone และ Android ซึ่งรวมถึงเครื่องมือสำหรับตรวจสอบความแออัดของช่องสัญญาณ การครอบคลุมสัญญาณ แผนที่ความร้อน และการแก้ไขปัญหาเครือข่าย

Ping Monitor: 7 เครื่องมือโอเพนซอร์สฟรีสำหรับตรวจสอบความพร้อมใช้งานของเครือข่าย

Ping Monitor: 7 เครื่องมือโอเพนซอร์สฟรีสำหรับตรวจสอบความพร้อมใช้งานของเครือข่าย

เปรียบเทียบโปรแกรมตรวจสอบค่า Ping แบบโอเพนซอร์สฟรี 7 ตัว ตั้งแต่ชุดโปรแกรมเครือข่ายแบบครบวงจรไปจนถึงโปรแกรมตรวจสอบความหน่วงแฝงโดยเฉพาะ และเลือกโปรแกรมที่เหมาะสมที่สุดตามความพร้อมใช้งาน การสูญเสียแพ็กเก็ต และประวัติการใช้งาน

QoS ในระบบเครือข่าย: คุณภาพของบริการ (Quality of Service) ทำอะไร และทำงานอย่างไร

QoS ในระบบเครือข่าย: คุณภาพของบริการ (Quality of Service) ทำอะไร และทำงานอย่างไร

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

7 เครื่องมือจัดการที่อยู่ IP ที่ดีที่สุดสำหรับทีมเครือข่าย

7 เครื่องมือจัดการที่อยู่ IP ที่ดีที่สุดสำหรับทีมเครือข่าย

เปรียบเทียบเครื่องมือจัดการที่อยู่ IP เจ็ดแบบ สำหรับการค้นหาซับเน็ต การประสานงาน DNS และ DHCP การสำรวจเครือข่าย และ IPAM แบบโอเพนซอร์ส

แนวทางปฏิบัติที่ดีที่สุดสำหรับการตรวจสอบเครือข่าย: สิ่งที่ควรติดตามและเครื่องมือที่ควรใช้งาน

แนวทางปฏิบัติที่ดีที่สุดสำหรับการตรวจสอบเครือข่าย: สิ่งที่ควรติดตามและเครื่องมือที่ควรใช้งาน

สร้างระบบตรวจสอบเครือข่ายที่ใช้งานได้จริง พร้อมการครอบคลุมอุปกรณ์ที่ชัดเจน ตัวชี้วัดประสิทธิภาพที่เป็นประโยชน์ การแจ้งเตือนที่นำไปปฏิบัติได้จริง และการเปรียบเทียบระหว่าง SolarWinds NPM, PRTG และ OpManager

10 เครื่องมือสแกนเครือข่ายที่ดีที่สุดสำหรับการค้นหาอุปกรณ์และที่อยู่ IP

10 เครื่องมือสแกนเครือข่ายที่ดีที่สุดสำหรับการค้นหาอุปกรณ์และที่อยู่ IP

เปรียบเทียบเครื่องมือสแกนเครือข่ายสำหรับการค้นหาอุปกรณ์อย่างรวดเร็ว การสแกน IP ข้ามแพลตฟอร์ม และระบบจัดการ IP ระดับองค์กร พร้อมคำแนะนำในการเลือกใช้แต่ละตัวเลือกให้เหมาะสมกับเครือข่ายของคุณ

วิธีใช้ Nmap สำหรับ Traceroute และอ่านเส้นทางเครือข่าย

วิธีใช้ Nmap สำหรับ Traceroute และอ่านเส้นทางเครือข่าย

ใช้ตัวเลือก --traceroute ของ Nmap เพื่อแมปฮอปไปยังโฮสต์ที่ได้รับอนุญาต ทำความเข้าใจเอาต์พุตของฮอปและ RTT และแก้ไขปัญหาการตอบสนองที่หายไปโดยไม่ต้องสแกนมากเกินไป

10 เครื่องมือสแกนและวิเคราะห์ไร้สายที่ดีที่สุดสำหรับ Windows, iOS และ Android

10 เครื่องมือสแกนและวิเคราะห์ไร้สายที่ดีที่สุดสำหรับ Windows, iOS และ Android

เปรียบเทียบเครื่องมือสแกนและวิเคราะห์เครือข่ายไร้สาย 10 รายการสำหรับ Windows, iOS และ Android พร้อมคำอธิบายที่ชัดเจนเกี่ยวกับช่องสัญญาณ Wi-Fi แผนที่ครอบคลุม การตรวจสอบ LAN และข้อจำกัดของแต่ละแพลตฟอร์ม