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

คำสั่ง ของ Apache AllowOverrideควบคุมว่า.htaccessไฟล์ใดสามารถนำไปใช้ตั้งค่าได้บ้าง หากปิดใช้งานการแทนที่สำหรับไดเร็กทอรี ownCloud แล้ว Apache อาจเพิกเฉยต่อกฎใน.htaccessไฟล์ที่ ownCloud จัดเตรียมไว้ ซึ่งอาจส่งผลกระทบต่อการเขียนใหม่และกฎความปลอดภัย นี่คือเหตุผลที่คู่มือ ownCloud เวอร์ชัน 10.16 ปัจจุบันได้รวมAllowOverride Allการตั้งค่า Apache ตัวอย่างนี้ไว้ด้วย
คำสั่งนี้ใช้ได้เฉพาะใน<Directory>ส่วนของ Apache เท่านั้น ไม่ควรอยู่ภายใน.htaccessบล็อก<Location><head> หรือพาธ URL Apache ยังเตือนผู้ดูแลระบบไม่ให้เปิดใช้งานการแทนที่ใน<Directory "/">บล็อกส่วนกลาง ให้จำกัดขอบเขตการตั้งค่าไว้ที่ไดเร็กทอรีการติดตั้ง ownCloud แทน ดู คู่มือการติดตั้ง Apache สำหรับownCloud 10.16 และ AllowOverrideเอกสารอ้างอิงของ Apache
/var/www/owncloudใช้เส้นทางไฟล์ระบบที่ Apache ให้บริการ ไม่ใช่ URL ของเบราว์เซอร์/owncloudเช่น/etc/apache2/sites-available/owncloud.confตำแหน่งไฟล์นี้ ส่วนระบบปฏิบัติการอื่นๆ จะใช้ตำแหน่งไฟล์ที่แตกต่างกันบน Debian หรือ Ubuntu sudo apachectl -Sคำสั่งนี้จะแสดงรายการ virtual host ของ Apache และไฟล์การกำหนดค่าที่ใช้กำหนด virtual host เหล่านั้น ซึ่งจะช่วยหลีกเลี่ยงการแก้ไขเว็บไซต์เริ่มต้นที่ไม่ได้ใช้งาน ในขณะที่ vhost HTTPS ยังคงให้บริการ ownCloud ต่อไป
เปิดไฟล์ vhost ที่ใช้งานอยู่ แล้วค้นหา<Directory>ส่วน ownCloud ที่มีอยู่ เพิ่มหรือแก้ไขบรรทัดนั้น สำหรับการติดตั้งแบบมาตรฐานที่/var/www/owncloudส่วนที่เกี่ยวข้องอาจมีลักษณะดังนี้:
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud/>
Options +FollowSymLinks -Indexes
AllowOverride All
Require all granted
</Directory>
รวมการตั้งค่านี้เข้ากับการกำหนดค่าที่มีอยู่ของคุณแทนที่จะแทนที่ vhost ทั้งหมดด้วยตัวอย่างสั้นๆ นี้ หากไดเร็กทอรี ownCloud ของคุณอยู่ที่อื่น ให้แทนที่ทั้งสองพาธด้วยพาธจริง Apache ต้องการให้พาธของไดเร็กทอรีตรงกับพาธของระบบไฟล์ที่ใช้สำหรับไฟล์ต่างๆ
Allอนุญาตให้คำสั่งใดๆ ที่ได้รับอนุญาตใน.htaccessไฟล์สามารถแทนที่การตั้งค่าเซิร์ฟเวอร์ในไดเร็กทอรีนี้ได้ นี่เป็นสิทธิ์ที่กว้างมาก ดังนั้นควรจำกัดบล็อกนี้ไว้เฉพาะในไดเร็กทอรีเว็บรูทของ ownCloud เท่านั้น อย่าเปลี่ยนแปลงAllowOverride Noneสำหรับ/, /var/www, หรือเว็บไซต์ที่ไม่เกี่ยวข้องเพียงเพื่อปิดเสียงเตือน
บน Debian หรือ Ubuntu เอกสารของ ownCloud mod_rewriteระบุว่าจำเป็นต้องตั้งค่า Apache หากยังไม่ได้เปิดใช้งาน ให้เปิดใช้งานโดยใช้คำสั่ง:
sudo a2enmod rewrite
จากนั้นตรวจสอบการตั้งค่าก่อนใช้งาน:
sudo apachectl -t
ดำเนินการต่อเฉพาะเมื่อ Apache รายงานข้อความSyntax OKถูกต้องเท่านั้น รีโหลด Apache เพื่อให้ระบบอ่าน vhost ที่อัปเดตแล้ว:
sudo systemctl reload apache2
สำหรับการแจกจ่ายที่ใช้httpdชื่อบริการ ให้ใช้คำสั่ง configuration-test และ reload ของการแจกจ่ายนั้นแทน กลับไปที่การตั้งค่า > การจัดการ > ภาพรวม ของ ownCloud แล้วรีเฟรชหน้า ข้อความเตือนควรหายไปหาก Apache กำลังอ่าน vhost ที่แก้ไขแล้วและประมวลผล ownCloud .htaccessอยู่



sudo apachectl -Sอีกครั้งและยืนยันว่าไฟล์ที่แก้ไขแล้วเป็นของชื่อโฮสต์และพอร์ตที่ ownCloud ใช้งานAllowOverride Allอยู่ บรรทัดในบล็อกที่ไม่ตรงกันจะไม่มีผลใดๆ<Directory /path/to/owncloud/>ส่วนที่แท้จริงและเส้นทางตรงกับไดเร็กทอรีการติดตั้ง Apache จะไม่สนใจAllowOverrideใน.htaccessและ<Location>occ maintenance:update:htaccessเรียกใช้จากไดเร็กทอรี ownCloud ในฐานะผู้ใช้เว็บเซิร์ฟเวอร์ ตัวอย่างเช่นsudo -u www-data php occ maintenance:update:htaccessผู้ใช้เว็บเซิร์ฟเวอร์ต้องสามารถเขียน.htaccessไฟล์ที่ให้มาสำหรับการอัปเดตนี้ได้ อย่าทำให้ไฟล์สามารถเขียนได้โดยทุกคน ให้แก้ไขความเป็นเจ้าของหรือสิทธิ์การเข้าถึงตามคำแนะนำในการติดตั้งของคุณ.htaccessอาจยังคงล้มเหลวได้หากโมดูลที่เกี่ยวข้องหายไปหรือคำสั่งนั้นไม่ได้รับอนุญาต ใช้บันทึกข้อผิดพลาดเพื่อระบุโมดูลหรือกฎที่เฉพาะเจาะจงการตั้งค่า URL ที่ไม่มี index.php ตามเอกสารของ ownCloud ยังต้องการmod_rewrite, mod_env, และรูทที่สามารถเขียนได้.htaccessซึ่งเป็นการกำหนดค่าการเขียนใหม่ที่เกี่ยวข้อง ไม่ใช่เหตุผลที่จะขยายการแทนที่ออกไปนอกไดเร็กทอรีของ ownCloud หากการตั้งค่าของคุณใช้ PHP-FPM ให้ปฏิบัติตามคำแนะนำปัจจุบันของ ownCloud สำหรับการติดตั้งนั้นแทนที่จะเปลี่ยนแฮนด์เลอร์ PHP เพื่อแก้ไขคำเตือนการแทนที่ของ Apache หากคำเตือนระบุว่าไดเร็กทอรีข้อมูลอาจเข้าถึงได้จากภายนอก ให้ตรวจสอบว่าไดเร็กทอรีข้อมูลอยู่นอกรูทเว็บหรือได้รับการป้องกันโดยกฎ Apache ที่ชัดเจนด้วย การล้าง.htaccessคำเตือนเพียงอย่างเดียวไม่ใช่หลักฐานว่าไม่สามารถร้องขอไฟล์ส่วนตัวได้โดยตรง
สำหรับพฤติกรรมที่ระบุไว้และข้อจำกัดของแพลตฟอร์ม โปรดดูคำแนะนำเกี่ยวกับ URL ที่ไม่มี index.php ของ ownCloud และเอกสารอ้างอิงคำสั่ง OCC ของ ownCloud
ตั้งค่า AllowOverride All เฉพาะสำหรับเว็บรูทของ ownCloud ตรวจสอบความถูกต้องของ Apache vhost ที่ใช้งานอยู่ และโหลดใหม่อย่างปลอดภัยเพื่อกู้คืนกฎ .htaccess
เปิดใช้งานแอป Enterprise Auditing ของ ownCloud กำหนดเส้นทางเหตุการณ์ admin_audit ไปยังไฟล์บันทึกที่ได้รับการป้องกัน และยืนยันว่าการกระทำของผู้ใช้จริงได้รับการบันทึกแล้ว
ปรับการเชื่อมต่อข้อมูลผู้ให้บริการโดเมน เว็บไคลเอ็นต์ และข้อมูลผู้ใช้ของ Keycloak ให้ตรงกัน เพื่อให้ ownCloud Infinite Scale สามารถลงชื่อเข้าใช้ผู้ใช้ได้อย่างน่าเชื่อถือทั้งบนเว็บและไคลเอ็นต์บนมือถือ
ถ่ายโอนไฟล์ที่คุณเป็นเจ้าของและแชร์ไฟล์ออกโดยใช้คำสั่ง occ ของ ownCloud ทำความเข้าใจว่าอะไรจะยังคงอยู่ และตรวจสอบสิทธิ์การเข้าถึงก่อนลบบัญชีเก่า
เรียนรู้ว่าเมื่อใดที่ดัชนีฐานข้อมูล ownCloud 10 ต้องการการดูแล วิธีการอัปเดตสคีมาที่รองรับอย่างปลอดภัย และเมื่อใดที่การปรับแต่งคิวรีหรือการเปลี่ยนแปลงฐานข้อมูลเป็นวิธีแก้ไขที่ดีกว่า
เชื่อมต่อแชร์เครือข่าย Windows หรือ Samba กับ ownCloud ผ่านที่เก็บข้อมูลภายนอก ตรวจสอบข้อมูลประจำตัว และแก้ไขปัญหาโฟลเดอร์ที่ไม่สามารถเข้าถึงได้อย่างปลอดภัย
ลบไฟล์เวอร์ชัน ownCloud Server Classic ที่จัดเก็บไว้ทั้งหมดสำหรับบัญชีเดียวหรือผู้ใช้ทั้งหมด และแยกความแตกต่างระหว่างการลบแบบสมบูรณ์กับการหมดอายุตามระยะเวลาการเก็บรักษา
ตรวจสอบหาสาเหตุการปฏิเสธการเชื่อมต่อ ownCloud บนมือถือโดยตรวจสอบ URL ของเซิร์ฟเวอร์ เครือข่ายโทรศัพท์ จุดเชื่อมต่อ HTTPS และบันทึกของเซิร์ฟเวอร์ตามลำดับที่ถูกต้อง
แทนที่การเรียกใช้งานงานตามความต้องการด้วยตัวจับเวลา systemd ที่เรียกใช้คำสั่ง occ system:cron ที่ ownCloud รองรับทุกๆ 15 นาที
ตรวจสอบการร้องขอ WebDAV ผ่าน Apache, Nginx หรือพร็อกซีแบบย้อนกลับ จากนั้นยืนยันว่าการซิงค์ ownCloud ทำงานได้โดยใช้การทดสอบ PROPFIND ที่มีการตรวจสอบสิทธิ์