เชื่อมต่อ Collabora Online กับ ownCloud Infinite Scale

ใช้บริการ Collaboration ของ ownCloud Infinite Scale เป็นตัวเชื่อมต่อ WOPI ระหว่างเว็บ UI และ Collabora Online สำหรับการติดตั้งใหม่ วิธีที่ปลอดภัยที่สุดคือocis_fullการใช้ตัวอย่าง Docker Compose แบบโมดูลาร์อย่างเป็นทางการของ ownCloud ซึ่งประกอบด้วย Infinite Scale, Collaboration, Collabora และ Traefik ตั้งค่า URL สาธารณะของ Infinite Scale, Collabora และ WOPI ใช้ใบรับรอง TLS ที่ถูกต้อง และรักษาความลับของบริการทั้งหมดให้สอดคล้องกัน อย่ากำหนดค่าราวกับว่า Infinite Scale เป็น ownCloud Server แบบดั้งเดิม

ความแตกต่างนี้ได้รับการยืนยันในเอกสารปัจจุบันของ ownCloud แล้ว: Infinite Scale ผสานรวมชุดโปรแกรมสำนักงานผ่าน WOPI และบริการ Collaboration ของมัน บริการดังกล่าวจะเข้ามาแทนที่เซิร์ฟเวอร์ภายนอกแบบเก่าcs3org/wopiในเวอร์ชันใหม่กว่า ดังนั้นผู้ดูแลระบบที่อัปเกรดจากเวอร์ชันเก่าจะต้องปฏิบัติตามคำแนะนำในการย้ายข้อมูลสำหรับเวอร์ชันที่ติดตั้งไว้

1. ตรวจสอบข้อกำหนดเบื้องต้นของเวอร์ชันและการเชื่อมต่อเครือข่าย

ตรวจสอบเวอร์ชัน Infinite Scale ที่แน่นอนก่อนติดตั้งอะไรก็ตาม เอกสาร ownCloud ปัจจุบันระบุว่าบริการ Collaboration อยู่ในเอกสารการพัฒนาเวอร์ชัน 9.0 และบอกว่าต้องเริ่มต้นใช้งานแยกต่างหากเมื่อ Infinite Scale ทำงานในโหมดควบคุมดูแล ตัวอย่าง ownCloud full-stack ยังเตือนด้วยว่าการตั้งค่าขึ้นอยู่กับเวอร์ชันที่มีบริการ Collaboration และใช้งานไม่ได้กับเวอร์ชัน 5.x ที่ใช้งานจริง ใช้เอกสารและไฟล์ Compose ที่ตรงกับเวอร์ชันที่ติดตั้งของคุณ อย่าคัดลอกตัวอย่างแบบ rolling example ไปยังระบบที่ใช้งานจริงรุ่นเก่าโดยไม่ตรวจสอบความเข้ากันได้ก่อน

สำหรับการใช้งานแบบสาธารณะ ให้วางแผนใช้ชื่อโฮสต์แยกต่างหาก เช่นcloud.example.com, office.example.com, และwopi.example.comเบราว์เซอร์ต้องสามารถเข้าถึง URL ของระบบคลาวด์และ Collabora ได้ ในขณะที่ Collabora ต้องสามารถเข้าถึงเอนด์พอยต์ WOPI ที่ Infinite Scale เปิดเผยได้ DNS, ไฟร์วอลล์ และความเชื่อถือ TLS ต้องทำงานได้ทั้งสองทิศทาง โฮสต์ที่เข้าถึงได้จากแล็ปท็อปของคุณ แต่ไม่สามารถเข้าถึงได้จากคอนเทนเนอร์ Collabora นั้นไม่เพียงพอ

ตัวอย่างการใช้งาน ownCloud ใช้ Traefik เป็นรีเวิร์สพร็อกซี และคาดหวังว่าเซิร์ฟเวอร์จะมี SSL ที่ถูกต้อง การตั้งค่าทดสอบในเครื่องสามารถใช้ใบรับรองแบบลงนามเองได้ แต่การติดตั้งใช้งานสาธารณะไม่ควรปิดใช้งานการตรวจสอบใบรับรองโดยไม่แจ้งให้ทราบล่วงหน้า ควรตัดสินใจว่าจะใช้ชื่อโฮสต์และใบรับรองใดก่อนที่จะกำหนดค่าสแต็ก

2. เริ่มต้นจากตัวอย่าง Compose ที่ตรงกันของ ownCloud

  1. เปิด คู่มือการใช้งานoCIS แบบโมดูลาร์เต็มรูปแบบพร้อม WebOfficeอย่างเป็นทางการของ ownCloud และ ไดเร็กทอรีตัวอย่าง ocis_full ที่เกี่ยวข้อง สำหรับการใช้งานจริง โปรดตรวจสอบเวอร์ชันหรือแท็กที่ตรงกับเวอร์ชัน Infinite Scale ของคุณ แทนที่จะพึ่งพา branch ที่มีการเปลี่ยนแปลงอยู่ตลอดเวลาของ repository
  2. ตรวจสอบไฟล์ตัวอย่าง.envตั้งค่าOCIS_DOMAIN, COLLABORA_DOMAIN, และWOPISERVER_DOMAINให้เป็นชื่อโฮสต์ที่ชี้ไปยังเซิร์ฟเวอร์ของคุณ ตัวอย่างนี้เปิดใช้งาน Collabora ด้วยCOLLABORA=:collabora.yml; คงการตั้งค่านี้ไว้หากคุณต้องการใช้ Collabora เป็นโปรแกรมแก้ไขเอกสารสำนักงาน
  3. ตั้งค่าข้อมูลประจำตัวผู้ดูแลระบบที่ปลอดภัยและเป็นส่วนตัว และปฏิบัติตามคำแนะนำ TLS สำหรับการใช้งานจริงตามตัวอย่าง อย่าใช้รหัสผ่านตัวอย่าง หากเวอร์ชันของที่เก็บข้อมูลมีการเปลี่ยนแปลงชื่อตัวแปรสภาพแวดล้อมหรือโครงสร้างไฟล์ ให้ใช้ไฟล์จากเวอร์ชันที่มีการติดแท็กเดียวกันแทนที่จะผสมคำแนะนำจากเวอร์ชันต่างๆ
  4. ตรวจสอบการตั้งค่า Compose ก่อนเริ่มต้นใช้งาน ยืนยันว่า Collabora, Collaboration, Infinite Scale และบริการพร็อกซีใช้เครือข่ายและการตั้งค่าเดียวกันตามที่ต้องการ คู่มือ ownCloud เตือนว่าหาก Collaboration ทำงานในคอนเทนเนอร์แยกต่างหาก การตั้งค่า Infinite Scale ที่เกี่ยวข้องและรหัสลับที่สร้างขึ้นจะต้องแชร์กับบริการอื่นๆ ด้วย

ตัวอย่างการปรับใช้เป็นสแต็กแบบบูรณาการ ไม่ใช่การกำหนดค่าสากลสำหรับทุกการติดตั้งที่มีอยู่ หากคุณใช้งาน Infinite Scale อยู่แล้วด้วย systemd, Kubernetes หรือ reverse proxy แบบกำหนดเอง ให้ใช้รูปแบบการปรับใช้แบบเดิม และกำหนดค่าบริการ Collaboration และ App Registry โดยใช้เอกสารประกอบสำหรับเวอร์ชันนั้นแทนที่จะเริ่มสแต็กใหม่ทั้งหมด

3. เชื่อมต่อ Collaboration กับ Collabora โดยใช้ WOPI

การตั้งค่าหลักจะระบุ URL ของตัวแก้ไขและแหล่งข้อมูล WOPI ที่สามารถเข้าถึงได้จากภายนอก ในเอกสารบริการปัจจุบันCOLLABORATION_APP_NAMEคือชื่อที่แสดงของแอปCOLLABORATION_APP_PRODUCTระบุผลิตภัณฑ์COLLABORATION_APP_ADDRชี้ไปยัง Collabora และCOLLABORATION_WOPI_SRCคือ URL ที่ Collabora ใช้ในการอ่านและเขียนไฟล์ผ่าน Infinite Scale การกำหนดค่าเชิงแนวคิดจะมีลักษณะดังนี้:

COLLABORATION_APP_NAME=CollaboraOnline
COLLABORATION_APP_PRODUCT=Collabora
COLLABORATION_APP_ADDR=https://office.example.com
COLLABORATION_WOPI_SRC=https://wopi.example.com

ใช้ URL สาธารณะจริงและรูปแบบตัวแปรที่จำเป็นสำหรับการใช้งานของคุณ หากบริการสื่อสารกันบนเครือข่ายคอนเทนเนอร์ภายใน ที่อยู่ภายในอาจเหมาะสมสำหรับการตั้งค่าหนึ่ง ในขณะที่ URL ที่แสดงต่อเบราว์เซอร์อาจเหมาะสมสำหรับการตั้งค่าอื่น อย่าแทนที่ชื่อโฮสต์เฉพาะคอนเทนเนอร์ลงในค่าที่ Collabora ต้องแก้ไขจากภายนอก

บริการ Collaboration ยังต้องการค่ารันไทม์ Infinite Scale OCIS_URL, OCIS_JWT_SECRET, OCIS_REVA_GATEWAY, และMICRO_REGISTRY_ADDRESSด้วย ค่าเหล่านี้ต้องตรงกับอินสแตนซ์ที่กำลังทำงานอยู่ ตัวอย่าง full-stack อย่างเป็นทางการได้จัดเตรียมความสัมพันธ์ของบริการสำหรับเครือข่าย Compose ของตนเองไว้แล้ว อย่าสร้างรหัสลับใหม่สำหรับบริการเดียวหรือปิดใช้งานการตรวจสอบคีย์พิสูจน์ WOPI เพื่อหลีกเลี่ยงความไม่ตรงกัน เปิดใช้งานการตรวจสอบใบรับรองสำหรับใบรับรองสาธารณะที่เชื่อถือได้ มีการCOLLABORATION_APP_INSECUREระบุไว้ในเอกสารเฉพาะเป็นตัวเลือกสำหรับใบรับรองแอป WOPI ที่ลงนามด้วยตนเองเท่านั้น ไม่ใช่การแก้ไขทั่วไปในการใช้งานจริง

รีจิสทรีแอปจะควบคุมว่าแอป Office ใดจะปรากฏสำหรับแต่ละประเภท MIME และแอปใดจะเปิดโดยค่าเริ่มต้น หาก Collabora ทำงานอยู่ แต่เอกสารไม่แสดงตัวเลือก "เปิดด้วย" ให้ตรวจสอบการกำหนดค่าประเภท MIME และdefault_appค่าของมันในรีจิสทรี ชื่อที่ใช้ต้องตรงกับชื่อแอป Office ที่กำหนดค่าไว้ ownCloud ระบุสิ่งนี้เป็นการกำหนดค่า YAML ตัวแปรสภาพแวดล้อมไม่สามารถใช้แทนการแมปประเภท MIME ได้

4. เริ่ม ทดสอบ และวินิจฉัยการทำงานร่วมกัน

ใช้ตัวอย่าง Compose อย่างเป็นทางการ ตรวจสอบความถูกต้องของการกำหนดค่าที่แสดงผล แล้วเริ่มใช้งานสแต็กจากไดเร็กทอรีการปรับใช้:

docker compose config
docker compose up -d

หากคุณไม่ได้ใช้ตัวอย่าง Compose โปรดเริ่มบริการเกตเวย์ แอปโพรวิเดนเซอร์ และคอลลาโบราก่อน ในโหมดควบคุมดูแล ownCloud ระบุวิธีการเริ่มคอลลาโบราอย่างชัดเจนด้วยคำสั่ง `startCollaboration` ocis collaboration server; มันจะไม่เริ่มโดยอัตโนมัติ ตรวจสอบให้แน่ใจว่าได้กำหนดค่าตัวแปรสภาพแวดล้อมที่จำเป็นในกระบวนการบริการคอลลาโบราแล้วก่อนที่จะเริ่มใช้งาน

  1. เปิดhttps://office.example.com/hosting/discoveryในเบราว์เซอร์ ปลายทางที่เข้าถึงได้ควรส่งคืน XML การค้นหาของ Collabora แทนที่จะเป็นข้อผิดพลาด DNS, TLS หรือพร็อกซี
  2. ลงชื่อเข้าใช้ Infinite Scale เปิดเอกสารที่รองรับ และเลือก Collabora หาก UI มีแอป Office หลายตัวให้เลือก ทดสอบทั้งไฟล์ที่มีอยู่แล้ว และหากเปิดใช้งานใน App Registry ให้สร้างเอกสารใหม่ด้วย
  3. ทำการแก้ไขเล็กน้อย รอจนกว่าตัวบ่งชี้การบันทึกจะหยุดนิ่ง ปิดโปรแกรมแก้ไข แล้วเปิดไฟล์อีกครั้งเพื่อตรวจสอบว่าการเปลี่ยนแปลงได้รับการบันทึกแล้ว
  4. หากโปรแกรมแก้ไขไม่เปิดขึ้น ให้ตรวจสอบบันทึกของ Infinite Scale Collaboration และ App Provider, บันทึกของ Collabora และบันทึกของ reverse-proxy ในช่วงเวลาเดียวกัน ข้อความ “Unauthorized WOPI host” ชี้ไปที่การกำหนดค่าความเชื่อถือ WOPI ของ Collabora; การเรียกกลับที่ล้มเหลวหรือข้อผิดพลาด TLS ชี้ไปที่การเข้าถึง URL หรือความเชื่อถือของใบรับรอง; ตัวเลือกแอปที่หายไปชี้ไปที่ App Registry

การผสานรวมที่สำเร็จหมายความว่าเบราว์เซอร์โหลดตัวแก้ไข การเชื่อมต่อ WOPI ไปยัง Infinite Scale และการแก้ไขยังคงอยู่หลังจากเปิดใหม่ ชื่อคอนเทนเนอร์ การเชื่อมต่อ URL และตำแหน่งไฟล์การกำหนดค่าที่แน่นอนจะขึ้นอยู่กับเวอร์ชันของ Infinite Scale และวิธีการปรับใช้ โปรดดูเอกสาร ownCloud ที่ตรงกับเวอร์ชันสำหรับรายละเอียดเหล่านั้น โดยเฉพาะอย่างยิ่งเมื่อย้ายจากเซิร์ฟเวอร์ WOPI ภายนอกแบบเดิม

อ้างอิง: การกำหนดค่าบริการ ownCloud Collaboration , การกำหนดค่า ownCloud App Registryและบันทึกการเผยแพร่และบันทึกการย้ายข้อมูลของ Infinite Scale

ฝากความเห็น

ปกป้องเอกสาร Collabora CODE ที่จัดเก็บไว้ด้วยการเข้ารหัสพื้นที่จัดเก็บข้อมูล

ปกป้องเอกสาร Collabora CODE ที่จัดเก็บไว้ด้วยการเข้ารหัสพื้นที่จัดเก็บข้อมูล

รักษาความปลอดภัยของไฟล์ที่แก้ไขใน Collabora CODE โดยการเข้ารหัสเลเยอร์การจัดเก็บข้อมูล ปกป้องข้อมูลชั่วคราว และตรวจสอบการเข้ารหัสและการกู้คืน

ติดตั้ง Collabora CODE บนสถาปัตยกรรม ARM64 ด้วยอิมเมจที่ถูกต้อง

ติดตั้ง Collabora CODE บนสถาปัตยกรรม ARM64 ด้วยอิมเมจที่ถูกต้อง

ตรวจสอบสถาปัตยกรรมโฮสต์ของคุณ ยืนยันว่าแท็ก CODE เผยแพร่ ARM64 ลบการตั้งค่า AMD64 ที่บังคับใช้ และแยกข้อผิดพลาดของรูปภาพออกจากปัญหาด้านสิทธิ์หรือหน่วยความจำ

เชื่อมต่อ Collabora Online กับ ownCloud Infinite Scale

เชื่อมต่อ Collabora Online กับ ownCloud Infinite Scale

ตั้งค่าการเชื่อมต่อ WOPI ระหว่าง Collabora Online และ ownCloud Infinite Scale กำหนดค่า URL บริการที่ถูกต้อง และตรวจสอบว่าการแก้ไขเอกสารได้รับการบันทึกแล้ว

การส่งออกไฟล์บล็อกใน Collabora CODE ผ่าน WOPI

การส่งออกไฟล์บล็อกใน Collabora CODE ผ่าน WOPI

ป้องกันการส่งออกเอกสารใน Collabora Online CODE โดยการตั้งค่าสิทธิ์ WOPI DisableExport จากนั้นตรวจสอบว่าโฮสต์และผู้แก้ไขบังคับใช้สิทธิ์นี้หรือไม่

วาง Collabora ไว้ด้านหลัง Nginx โดยไม่ทำให้ WebSockets เสียหาย

วาง Collabora ไว้ด้านหลัง Nginx โดยไม่ทำให้ WebSockets เสียหาย

ตั้งค่าการยุติ TLS ของ Nginx, เส้นทาง Collabora และส่วนหัว WebSocket จากนั้นทดสอบปลายทางสาธารณะก่อนเปิดเอกสารจริง

หยุดการสิ้นสุดเซสชันการแก้ไขโค้ดที่ 10 นาที

หยุดการสิ้นสุดเซสชันการแก้ไขโค้ดที่ 10 นาที

ตรวจสอบหาสาเหตุของการตัดการเชื่อมต่อ CODE ที่กินเวลา 10 นาที ว่าเกิดจากพร็อกซี โหลดบาลานเซอร์ หรือเส้นทาง WebSocket จากนั้นแก้ไขค่าหมดเวลาและตรวจสอบว่าเซสชันยังคงเชื่อมต่ออยู่หรือไม่

ติดตั้ง Collabora CODE บน Kubernetes ด้วย Helm

ติดตั้ง Collabora CODE บน Kubernetes ด้วย Helm

ติดตั้ง Helm chart อย่างเป็นทางการของ Collabora กำหนดค่าการเข้าถึง WOPI และความสัมพันธ์ของ ingress และตรวจสอบการปรับใช้โดยปราศจากข้อผิดพลาดในการตั้งค่าทั่วไป

ติดตามเอกสาร Collabora ว่างเปล่าไปยังเลเยอร์ที่ล้มเหลว

ติดตามเอกสาร Collabora ว่างเปล่าไปยังเลเยอร์ที่ล้มเหลว

ใช้คำขอจากเบราว์เซอร์ บันทึก WOPI และการตรวจสอบพร็อกซีแบบเจาะจงเพื่อค้นหาสาเหตุที่ Collabora เปิดเอกสารว่างเปล่า และเลือกวิธีแก้ไขที่เหมาะสมกับหลักฐานที่พบ

เปิดใช้งานการตรวจสอบการสะกดคำหลายภาษาใน Collabora Online (โค้ด)

เปิดใช้งานการตรวจสอบการสะกดคำหลายภาษาใน Collabora Online (โค้ด)

ตั้งค่าพจนานุกรมและแท็กข้อความในเอกสารของ CODE Docker ให้ถูกต้อง เพื่อให้ภาษาอังกฤษ ภาษาฝรั่งเศส และภาษาอื่นๆ ที่รองรับ ได้รับการตรวจสอบการสะกดคำอย่างถูกต้อง

ตั้งค่าตัวจับเวลาการไม่ใช้งานของ Collabora สำหรับมุมมองเอกสารที่ใช้งานอยู่

ตั้งค่าตัวจับเวลาการไม่ใช้งานของ Collabora สำหรับมุมมองเอกสารที่ใช้งานอยู่

ปรับค่าเกณฑ์การไม่ใช้งานต่อการแสดงผลใน coolwsd และแยกความแตกต่างจากค่าการหรี่แสงแท็บพื้นหลัง การปิดเอกสาร การบันทึกอัตโนมัติ และการหมดอายุการเข้าสู่ระบบ