ล้างคำเตือนของ ownCloud Apache .htaccess อย่างปลอดภัย
ตั้งค่า AllowOverride All เฉพาะสำหรับเว็บรูทของ ownCloud ตรวจสอบความถูกต้องของ Apache vhost ที่ใช้งานอยู่ และโหลดใหม่อย่างปลอดภัยเพื่อกู้คืนกฎ .htaccess
บ่อยครั้งที่ผู้ใช้เข้าสู่หน้าเข้าสู่ระบบ Keycloak ยืนยันตัวตน แล้วก็กลับไปยังหน้าจอเข้าสู่ระบบ ownCloud Infinite Scale หรือเห็นข้อผิดพลาด “ผู้ใช้ไม่รู้จัก” สาเหตุทั่วไปคือ ผู้ให้บริการโดเมนไม่ตรงกัน ไคลเอนต์เว็บที่คัดลอกมาจากตัวอย่างเวอร์ชันอื่น หรือการอ้างสิทธิ์ข้อมูลประจำตัวไม่ตรงกับบัญชี oCIS ให้กำหนดค่า Keycloak เป็นผู้ให้บริการ OpenID Connect (OIDC) ภายนอกของ oCIS ตั้งค่าทั้งสามค่าให้ตรงกัน และตรวจสอบว่าเบราว์เซอร์และไคลเอนต์สามารถเข้าถึงผู้ให้บริการผ่าน HTTPS ได้
คู่มือนี้ใช้โฮสต์สมมติ: cloud.example.comสำหรับ oCIS และsso.example.comสำหรับ Keycloak การกำหนดค่าอ้างอิงถึงเอกสาร ownCloud Infinite Scale 8.2 โปรดเปรียบเทียบชื่อกับเอกสารสำหรับเวอร์ชันที่คุณติดตั้งก่อนนำไปใช้ นี่สำหรับ Infinite Scale (oCIS) ไม่ใช่ ownCloud Server 10
ผู้ให้บริการยืนยันตัวตน (IdP) ทำหน้าที่ตรวจสอบสิทธิ์ผู้ใช้สำหรับบริการอื่น OpenID Connect คือโปรโตคอลการลงชื่อเข้าใช้ที่ทำให้ oCIS สามารถเชื่อถือข้อมูลการเข้าสู่ระบบและข้อมูลประจำตัวของ Keycloak ได้ Realm คือชุดผู้ใช้ ไคลเอนต์ และการตั้งค่าที่แยกต่างหากของ Keycloak เลือก Realm ที่จะให้บริการ oCIS จากนั้นระบุ URL ของผู้ออกบัตร: สำหรับ Realm ตัวอย่างocisคือhttps://sso.example.com/realms/ocis.
ก่อนแก้ไข oCIS โปรดเปิดhttps://sso.example.com/realms/ocis/.well-known/openid-configurationในเบราว์เซอร์ เอกสารการค้นหา OpenID Connect นี้อธิบายถึงเอนด์พอยต์ของผู้ให้บริการ ตรวจสอบให้แน่ใจว่าissuerค่าตรงกับ URL ของโดเมนทุกประการ รวมถึงรูปแบบ โฮสต์ ตัวพิมพ์ใหญ่-เล็ก และเส้นทาง ผู้ออกใบรับรองต้องไม่ใช่หน้าการดูแลระบบหรือ URL การค้นหาที่ยาวกว่า ใบรับรอง TLS ของผู้ให้บริการต้องได้รับการยอมรับจากเบราว์เซอร์ของผู้ใช้และจากเซิร์ฟเวอร์/คอนเทนเนอร์ oCIS

หาก URL สำหรับการค้นหาไม่โหลด ให้แก้ไขปัญหา DNS, การกำหนดเส้นทางพร็อกซีแบบย้อนกลับ, ไฟร์วอลล์ หรือใบรับรองก่อน การตอบสนองของเบราว์เซอร์ที่สำเร็จเพียงอย่างเดียวไม่ได้พิสูจน์ว่าคอนเทนเนอร์ oCIS สามารถเข้าถึง Keycloak ได้ ตรวจสอบการเข้าถึงเครือข่ายจากเครือข่ายการปรับใช้ของเซิร์ฟเวอร์ด้วย กฎการค้นหา OpenID Connect กำหนดให้ผู้ออกบัตรที่ส่งคืนต้องระบุผู้ให้บริการรายเดียวกัน โปรดดูข้อกำหนดการค้นหา OpenID Connect
ใช้ตัวอย่างการปรับใช้ Keycloak ของ ownCloud ที่ได้รับการดูแลรักษา เป็นจุดเริ่มต้น และจับคู่ไฟล์ realm กับเวอร์ชัน oCIS ของคุณ อย่าใช้เวอร์ชันที่แตกต่างกัน: ตัวอย่าง compose ปัจจุบันใช้ web client ID webในขณะที่บันทึกการตั้งค่าเก่าระบุว่าocis-webKeycloak และ oCIS ต้องใช้ client ID เดียวกัน
ใน Keycloak ให้เปิดโดเมนและเว็บไคลเอ็นต์ที่เลือกไว้ จับคู่ขั้นตอนการเข้าสู่ระบบและรหัสไคลเอ็นต์กับตัวอย่างของ ownCloud ตั้งค่า URI การเปลี่ยนเส้นทางที่ถูกต้องไปยังที่อยู่การเรียกกลับที่โดเมนนั้นต้องการ โดยใช้โฮสต์ HTTPS สาธารณะ ตั้งค่าต้นทางเว็บตามที่เทมเพลตต้องการเท่านั้น สัญลักษณ์ตัวแทนด้านล่างเป็นเพียงตัวอย่าง ไม่ใช่คำแนะนำสำหรับการใช้งานจริง รูปแบบการเปลี่ยนเส้นทางที่กว้างอาจทำให้เกิดปลายทางที่ไม่พึงประสงค์ได้ ป้ายกำกับจะแตกต่างกันไปตามเวอร์ชันของ Keycloak

รักษาชื่อโฮสต์สาธารณะของ Keycloak ให้คงที่ หาก TLS สิ้นสุดที่พร็อกซีแบบย้อนกลับ ให้กำหนดค่าชื่อโฮสต์สาธารณะและส่วนหัวพร็อกซีที่เชื่อถือได้ของพร็อกซีแบบย้อนกลับ มิฉะนั้นการเปลี่ยนเส้นทางอาจใช้รูปแบบหรือโฮสต์ที่ไม่ถูกต้อง โปรดปฏิบัติตามคำแนะนำเกี่ยวกับพร็อกซีแบบย้อนกลับของ Keycloakเปลี่ยนข้อมูลประจำตัวผู้ดูแลระบบสาธิตก่อนเปิดเผย Keycloak
เพิ่มตัวแปรเหล่านี้ลงในบริการ oCIS ในการกำหนดค่าการปรับใช้ของคุณ โดยคงการตั้งค่าและข้อมูลลับอื่นๆ ไว้ ตัวอย่างนี้ใช้ URL สมมติและรหัสไคลเอ็นต์ตัวอย่างปัจจุบัน:
OCIS_URL=https://cloud.example.com
OCIS_OIDC_ISSUER=https://sso.example.com/realms/ocis
WEB_OIDC_CLIENT_ID=web
PROXY_OIDC_REWRITE_WELLKNOWN=true
OCIS_EXCLUDE_RUN_SERVICES=idp
OCIS_URLคือที่อยู่ oCIS สาธารณะ ผู้ออกบัตรและรหัสไคลเอ็นต์ต้องตรงกับ Keycloak ทุกประการ การเขียนใหม่จะเปิดใช้งานเส้นทางการค้นหาที่ใช้โดยไคลเอ็นต์บนเดสก์ท็อป Android และ iOS การยกเว้นจะidpหยุดผู้ให้บริการในตัวในการใช้งาน IdP ภายนอก หากการตั้งค่าของคุณตั้งใจใช้บริการนั้น ให้ละเว้นตัวเลือกนี้

ใช้การเปลี่ยนแปลงด้วยกระบวนการรีสตาร์ทตามปกติของการใช้งานของคุณ สำหรับ Docker Compose ให้รันคำสั่งdocker compose up -dจากไดเร็กทอรี compose เพื่อสร้างบริการที่เปลี่ยนแปลงขึ้นใหม่ จากนั้นตรวจสอบบันทึก oCIS ใช้ใบรับรอง TLS ที่เชื่อถือได้ในสภาพแวดล้อมการใช้งานจริง ตัวอย่างของ ownCloud ระบุINSECURE=trueตัวเลือกใบรับรองแบบลงนามเองในเครื่อง ให้ลบออกหรือตั้งค่าเป็น false บนเซิร์ฟเวอร์ที่เชื่อมต่อกับอินเทอร์เน็ต ownCloud ยังระบุว่าไม่ควรใช้PROXY_OIDC_INSECUREในสภาพแวดล้อมการใช้งานจริง ด้วย
Claim คือฟิลด์ข้อมูลประจำตัว OIDC เช่นsub, preferred_username, หรือemailoCIS ใช้ Claim นี้ในการค้นหาบัญชี สำหรับผู้ใช้ที่มีอยู่แล้ว ให้แมป Claim กับแอตทริบิวต์ที่ผู้ใช้ใช้งานอยู่แล้ว เช่น ชื่อผู้ใช้ อีเมล หรือรหัสผู้ใช้ หากไม่ตรงกัน อาจทำให้เกิดข้อความ “ไม่พบผู้ใช้” หลังจาก Keycloak ยอมรับการเข้าสู่ระบบแล้ว
ในการสร้างบัญชีเมื่อเข้าสู่ระบบครั้งแรก ให้ตั้งค่าPROXY_AUTOPROVISION_ACCOUNTS=trueเฉพาะเมื่อต้องการและหลังจากเปิดใช้งานการเขียนในแบ็กเอนด์ผู้ใช้ oCIS Graph แล้ว ตัวระบุต้องไม่ซ้ำกัน เสถียร และไม่เคยถูกกำหนดใหม่ ownCloud ระบุsubว่าเหมาะสม ใช้ที่อยู่อีเมลหรือชื่อผู้ใช้ที่ต้องการเฉพาะในกรณีที่ไม่สามารถเปลี่ยนแปลงได้ รักษาความสอดคล้องของข้อมูลการสร้างและการค้นหา:
PROXY_AUTOPROVISION_ACCOUNTS=true
PROXY_AUTOPROVISION_CLAIM_USERNAME=sub
PROXY_USER_OIDC_CLAIM=sub
PROXY_USER_CS3_CLAIM=username
ตรวจสอบให้แน่ใจว่า Keycloak ส่งคืน claim ที่เลือกไว้ใน token หรือการตอบสนอง userinfo หากปิดใช้งานการจัดเตรียมอัตโนมัติ ผู้ใช้ใหม่จะไม่ถูกสร้างขึ้นเมื่อลงชื่อเข้าใช้ และหากใช้แบ็กเอนด์ Graph แบบอ่านอย่างเดียว การจัดเตรียมอาจล้มเหลว เพิ่มการแมปกลุ่มหรือบทบาทหลังจากที่การลงชื่อเข้าใช้สำเร็จแล้วเท่านั้น โปรดศึกษาเอกสารพร็อกซีและการจัดเตรียมอัตโนมัติของ ownCloud เวอร์ชัน 8.2ก่อนที่จะเปิดใช้งานการเข้าถึงแบบเขียนหรือเปลี่ยนแปลงการแมปข้อมูลประจำตัว
เปิด oCIS ในหน้าต่างเบราว์เซอร์แบบส่วนตัวแล้วลงชื่อเข้าใช้ คุณควรจะเข้าสู่โดเมน Keycloak ยืนยันตัวตน และกลับไปยังโฮสต์ oCIS เดียวกันกับบัญชีที่คาดหวังไว้ ทดสอบบัญชีที่มีอยู่ก่อน หากเปิดใช้งานการจัดเตรียม ให้ทดสอบผู้ใช้ใหม่ที่ได้รับอนุมัติหนึ่งรายและยืนยันว่าสร้างขึ้นแล้วด้วยชื่อผู้ใช้ที่ต้องการ ลงชื่อออกและลงชื่อเข้าใช้ซ้ำอีกครั้ง

สำหรับการค้นหาบนเดสก์ท็อปหรือมือถือ ให้เปิด ; การเขียนใหม่ควรเปิดเผยข้อมูลผู้ให้บริการของ Keycloak การวนลูปการเข้า สู่https://cloud.example.com/.well-known/openid-configurationระบบบ่งชี้ถึงโฮสต์การเปลี่ยนเส้นทางหรือความไม่ตรงกันของรูปแบบ ผู้ใช้ที่ถูกปฏิเสธหลังจากเข้าสู่ระบบสำเร็จบ่งชี้ถึงการอ้างสิทธิ์ที่ขาดหายไปหรือความไม่ตรงกันระหว่างPROXY_USER_OIDC_CLAIMและPROXY_USER_CS3_CLAIM
ตั้งค่า 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 ที่มีการตรวจสอบสิทธิ์