ล้างคำเตือนของ ownCloud Apache .htaccess อย่างปลอดภัย
ตั้งค่า AllowOverride All เฉพาะสำหรับเว็บรูทของ ownCloud ตรวจสอบความถูกต้องของ Apache vhost ที่ใช้งานอยู่ และโหลดใหม่อย่างปลอดภัยเพื่อกู้คืนกฎ .htaccess
สำหรับ ownCloud 10 ให้เริ่มต้นด้วยการใช้การเปลี่ยนแปลงสคีมาที่มาพร้อมกับแกนหลักและแอปที่ติดตั้งไว้ จากนั้นตรวจสอบว่าการสืบค้นฐานข้อมูลใดที่ทำงานช้า อย่าเพิ่มดัชนีโดยไม่คิดให้รอบคอบ หรือคิดว่าคำสั่ง Nextcloud db:add-missing-indicesเป็นคำสั่งซ่อมแซมที่รองรับใน ownCloud 10: เอกสารอ้างอิง OCC ของ ownCloud Server 10.15 ฉบับปัจจุบันไม่ได้กล่าวถึงคำสั่งนี้ ดัชนีสามารถทำให้การอ่านที่ตรงกันเร็วขึ้น แต่ดัชนีที่เพิ่มเข้ามาทุกตัวจะใช้พื้นที่จัดเก็บและเพิ่มภาระงานให้กับการแทรก การอัปเดต และการลบข้อมูล
แนวทางนี้เหมาะสำหรับผู้ดูแลระบบที่มีหน้าเว็บ ownCloud การแสดงรายการไฟล์ หรือการทำงานของแอปช้า และสามารถเข้าถึงเซิร์ฟเวอร์และฐานข้อมูลได้ หากทั้งระบบทำงานช้า หรือทำงานบน SQLite โดยมีผู้ใช้งานหลายคนพร้อมกัน ควรตรวจสอบฐานข้อมูลและการตั้งค่าการใช้งานโดยรวมก่อนที่จะสรุปว่าดัชนีเป็นสาเหตุ
ดัชนีฐานข้อมูลเป็นโครงสร้างเสริมที่ช่วยให้ฐานข้อมูลค้นหาแถวได้โดยไม่ต้องสแกนทั้งตาราง ownCloud และแอปพลิเคชันต่างๆ กำหนดตาราง คอลัมน์ และดัชนีเป็นส่วนหนึ่งของสคีมา การอัปเดตแกนหลักและแอปพลิเคชันอาจรวมถึงการย้ายสคีมาซึ่งสร้างหรือปรับเปลี่ยนดัชนีเหล่านั้น ดังนั้น การทำให้สคีมาของแอปพลิเคชันเป็นปัจจุบันอยู่เสมอจึงเป็นขั้นตอนแรกที่ปลอดภัยที่สุด
โปรดพิจารณาความแตกต่างต่อไปนี้ก่อนทำการเปลี่ยนแปลงใดๆ:
ดัชนีไม่ใช่ตัวปรับความเร็วโดยทั่วไป ดัชนีที่มากขึ้นอาจช่วยปรับปรุงการค้นหาที่เลือกไว้ แต่ก็อาจทำให้ขนาดฐานข้อมูลและเวลาในการเขียนเพิ่มขึ้นด้วย ผลลัพธ์ขึ้นอยู่กับรูปแบบของคำสั่งค้นหา ขนาดตาราง การกระจายข้อมูล กลไกฐานข้อมูล และสถานะของแคช
sudo -u www-data ./occ statusเวอร์ชัน ownCloud เวอร์ชันแอปที่ติดตั้ง ประเภทฐานข้อมูล และคำนำหน้าตารางจากคำสั่ง `ownCloud install config/config.phpownCloud` แทนที่ `<table_name> www-data` ด้วยบัญชีเว็บเซิร์ฟเวอร์บนระบบปฏิบัติการของคุณmysqldump --single-transactionฐานข้อมูลที่เข้ากันได้กับ MySQL เป็นตัวอย่าง ปรับค่าโฮสต์ ผู้ใช้ และฐานข้อมูลให้ตรงกับการตั้งค่าของคุณ อย่าใส่รหัสผ่านฐานข้อมูลลงในประวัติคำสั่งเชลล์หรือรายการกระบวนการโดยตรงหากมีการอัปเดต ownCloud core หรือแอปที่รอการดำเนินการอยู่ ให้ใช้วิธีการอัปเกรดที่ระบุไว้ในเอกสารสำหรับวิธีการติดตั้งของคุณ ในการติดตั้ง Linux ทั่วไป คำสั่ง OCC จะถูกเรียกใช้ในฐานะผู้ใช้ HTTP จากไดเร็กทอรีรากของ ownCloud เมื่อทำตามคำแนะนำการอัปเกรดด้วยตนเอง คำสั่งจะเป็นดังนี้:
sudo -u www-data ./occ upgrade
อย่าใช้งานกับระบบที่มีการอัปเดตไฟล์เพียงบางส่วน ให้เตรียมไฟล์เวอร์ชันที่ตรงกันก่อน แล้วทำตามขั้นตอนการอัปเกรดอย่างเป็นทางการสำหรับเวอร์ชันนั้น สำหรับการใช้งาน Docker ให้ใช้คำสั่ง OCC ที่ระบุไว้ในเอกสารของคอนเทนเนอร์ แทนที่จะใช้พาธโฮสต์ที่ชี้ไปยังสภาพแวดล้อม PHP ที่แตกต่างกัน
อ่านผลลัพธ์คำสั่งและบันทึกทั้งหมด คำสั่งที่สำเร็จควรเสร็จสิ้นโดยไม่มีการรายงานการย้ายข้อมูลที่ล้มเหลว แต่ไม่ได้หมายความว่าจะแก้ไขปัญหาการค้นหาข้อมูลที่ช้าทุกรายการได้ หากการอัปเดตรายงานข้อผิดพลาดในการย้ายข้อมูล ให้หยุดและตรวจสอบข้อผิดพลาดนั้นแทนที่จะเรียกใช้คำสั่งซ้ำหรือแก้ไขตารางสคีมาด้วยตนเอง ปรึกษาเอกสารการอัปเกรด ownCloud เฉพาะเวอร์ชันและผู้ดูแลแอปเมื่อมีการย้ายข้อมูลแอปเกิดขึ้น
เอกสารอ้างอิง OCC ของ ownCloud 10.15 ระบุคำสั่งฐานข้อมูล เช่นdb:convert-type, db:convert-mysql-charset, และdb:restore-default-row-formatแต่ไม่ได้ระบุdb:add-missing-indicesเนื่องจากความพร้อมใช้งานของคำสั่งอาจแตกต่างกันไปตามรุ่นและโค้ดที่ติดตั้ง คุณสามารถตรวจสอบอินสแตนซ์ของคุณเองได้ด้วยsudo -u www-data ./occ list dbหรือsudo -u www-data ./occ help db:add-missing-indicesหากคำสั่งหลังรายงานว่าไม่รู้จักคำสั่ง อย่าคัดลอกคำสั่งจากบทช่วยสอนของ Nextcloud ไปยัง ownCloud ตรวจสอบเอกสารสำหรับรุ่น ownCloud ของคุณโดยเฉพาะ และใช้เส้นทางการอัปเกรดหรือการย้ายแอปที่รองรับ
การใช้ SQL แบบกำหนดเองเป็นตัวเลือกสำหรับผู้ดูแลระบบฐานข้อมูลเพื่อแก้ไขปัญหาการค้นหาข้อมูลที่ได้รับการยืนยันแล้ว ไม่ใช่การปรับแต่ง ownCloud ตามปกติ ขั้นแรก ให้บันทึกคำสั่งค้นหาข้อมูลที่ทำงานช้าอย่างแม่นยำ แล้วใช้เครื่องมือตรวจสอบแผนการทำงานของระบบ เช่นEXPLAINสำหรับ MySQL/MariaDB หรือ PostgreSQL ตรวจสอบว่าแผนการทำงานสแกนแถวจำนวนมากเกินความจำเป็นหรือไม่ และมีการละเลยดัชนีที่มีอยู่หรือไม่ คำนำหน้าตารางของ ownCloud สามารถกำหนดค่าได้ ดังนั้นอย่าคิดว่าชื่อตารางเริ่มต้นด้วยoc_. เสมอไป
ก่อนสร้างดัชนี ให้เปรียบเทียบคอลัมน์ที่เสนอไว้กับตัวกรอง การเชื่อมต่อ และลำดับการจัดเรียงของคิวรี ลำดับคอลัมน์ของดัชนีแบบผสมมีความสำคัญ การทำซ้ำดัชนีที่มีอยู่แล้วอาจเพิ่มต้นทุนโดยไม่ปรับปรุงแผนการทำงาน ขอให้ผู้ดูแลฐานข้อมูลพิจารณาพฤติกรรมของเวอร์ชันฐานข้อมูล การรองรับการสร้างดัชนีแบบออนไลน์หรือแบบพร้อมกัน พื้นที่ว่างในดิสก์ ผลกระทบจากการล็อก และขั้นตอนการย้อนกลับ รายละเอียดเหล่านี้ขึ้นอยู่กับเอ็นจิ้นและเวอร์ชัน ดังนั้นจึงไม่มีคำสั่ง SQL ที่ปลอดภัยเพียงคำสั่งเดียวสำหรับทุกการติดตั้ง ownCloud 10
อย่าแก้ไขตาราง ownCloud หรือลบดัชนีเพียงเพราะชื่อดูซ้ำซ้อน การเปลี่ยนแปลงดังกล่าวอาจขัดแย้งกับการย้ายข้อมูลหลักหรือแอปในภายหลัง และอาจทำให้ฟังก์ชันที่ใช้คำสั่ง SQL ที่แตกต่างจากที่คุณตรวจสอบนั้นใช้งานไม่ได้ จดบันทึกการเปลี่ยนแปลงโครงสร้างข้อมูลด้วยตนเองทั้งหมด และตรวจสอบให้แน่ใจว่าสามารถสร้างใหม่ได้หลังจากกู้คืนหรือย้ายข้อมูลแล้ว ควรเลือกใช้แพทช์หรือแอปเวอร์ชันที่ได้รับการสนับสนุนจาก ownCloud เมื่อดัชนีที่หายไปเป็นข้อบกพร่องของโครงสร้างข้อมูลผลิตภัณฑ์
หากแผนงานใช้ดัชนีที่เหมาะสมอยู่แล้ว การเพิ่มดัชนีอีกตัวอาจไม่สามารถแก้ไขความล่าช้าที่เกิดจากจุดอื่นได้ เปรียบเทียบตัวเลือกเหล่านี้กับปัญหาคอขวดที่พบ:
การเปลี่ยนเอนจินฐานข้อมูลเป็นโครงการย้ายระบบ ไม่ใช่การปรับแต่งดัชนีอย่างรวดเร็ว ownCloud รองรับocc db:convert-typeการแปลงระบบดังกล่าว โปรดตรวจสอบข้อกำหนดเบื้องต้น สำรองข้อมูลก่อน และทดสอบอินสแตนซ์ที่แปลงแล้วก่อนที่จะแนะนำให้ผู้ใช้ใช้งาน
ทำซ้ำการกระทำของผู้ใช้แบบเดียวกันภายใต้เงื่อนไขที่เทียบเคียงกันได้ และเปรียบเทียบระยะเวลาการสืบค้น แผนการดำเนินการ จำนวนแถวที่ตรวจสอบ การรับส่งข้อมูลฐานข้อมูล และภาระงานของเซิร์ฟเวอร์ ตรวจสอบให้แน่ใจว่าหน้าหรือแอป ownCloud ที่เกี่ยวข้องทำงานเสร็จสมบูรณ์ตามปกติ และบันทึกไม่แสดงข้อผิดพลาดของฐานข้อมูลหรือการย้ายข้อมูล ผลลัพธ์ที่เร็วขึ้นในการร้องขอครั้งหนึ่งไม่ได้พิสูจน์ถึงการปรับปรุงโดยรวมเสมอไป ให้เปรียบเทียบการร้องขอที่เป็นตัวแทนหลายๆ ครั้ง และคำนึงถึงแคชที่พร้อมใช้งานด้วย
หากการค้นหาข้อมูลยังคงช้าแม้จะใช้ดัชนีที่เหมาะสมแล้ว ให้ตรวจสอบการล็อก พื้นที่จัดเก็บ ความหน่วงของเครือข่าย ตัวประมวลผล PHP และข้อจำกัดของทรัพยากรฐานข้อมูล หากแผนการสืบค้นหรือโครงสร้างตารางไม่ชัดเจน ให้หยุดก่อนที่จะออกคำสั่ง DDL ด้วยตนเอง และขอให้ผู้ดูแลฐานข้อมูลหรือผู้ติดต่อฝ่ายสนับสนุน ownCloud ตรวจสอบ ผลลัพธ์ที่เชื่อถือได้คือโครงสร้างฐานข้อมูลที่สอดคล้องกับเวอร์ชัน 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 ที่มีการตรวจสอบสิทธิ์