Połącz Seafile i Collabora z poprawnym adresem URL WOPI
Włącz bezpieczne edytowanie dokumentów w Seafile, konfigurując adres URL wykrywania, protokół HTTPS i dostęp WOPI Collabora dla swojego wdrożenia.
Aby połączyć Seafile z Collabora Online, włącz protokół HTTPS w Seafile, wdróż Collabora i skieruj integrację Seafile Office do punktu końcowego wykrywania Collabora. Jeśli obie usługi działają w tej samej sieci Docker, aktualny przewodnik integracji Seafile używa wewnętrznego adresu URL http://collabora:9980/hosting/discovery; jeśli Collabora działa na osobnym hoście, użyj zamiast tego publicznego adresu URL HTTPS.
Aktualny podręcznik administratora Seafile opisuje dedykowaną collabora.ymlintegrację i ustawienia Compose w systemie seahub_settings.py. Dokładne pliki wdrożeniowe mogą się różnić w zależności od wersji Seafile, dlatego podczas dostosowywania tych przykładów należy korzystać z podręcznika odpowiadającego zainstalowanej wersji.
seahub_settings.py.Seafile i Collabora komunikują się za pomocą WOPI. Seafile dostarcza informacje o dostępie do dokumentu, a Collabora żąda pliku od Seafile. Adres URL wyszukiwania informuje Seafile, z której usługi Collabora ma korzystać i jakie funkcje edytora reklamuje.
Otwórz Seafile w przeglądarce i sprawdź, czy jego adres zaczyna się od https://i czy certyfikat jest ważny. W przypadku wdrożenia Seafile w Dockerze, aktualna instrukcja pokazuje, jak skonfigurować ustawienia SEAFILE_SERVER_PROTOCOL=httpsw .envpliku, a następnie dokończyć konfigurację HTTPS za pośrednictwem skonfigurowanego odwrotnego serwera proxy. Nie należy przechodzić do publicznego punktu końcowego Seafile z prostym protokołem HTTP.
# In the Seafile deployment .env file
SEAFILE_SERVER_PROTOCOL=https
Zachowaj rzeczywisty certyfikat i klucz prywatny pod kontrolą serwera proxy TLS lub menedżera certyfikatów. Samo to ustawienie nie powoduje wydania certyfikatu ani skonfigurowania odwrotnego serwera proxy. Zakończ kroki HTTPS dla wdrożenia przed włączeniem edycji online w biurze.
W przypadku udokumentowanej konfiguracji Dockera na tym samym hoście, użyj pliku Collabora Compose dostarczonego przez Seafile, zamiast tworzyć niezwiązaną z nim definicję kontenera. Z katalogu wdrożeniowego Seafile pobierz plik odpowiadający wersji podręcznika i dodaj go collabora.ymldo istniejącej COMPOSE_FILElisty w .env. Zachowaj pliki Compose już używane przez instalację.
# Example for a Seafile 14.0 deployment
wget https://manual.seafile.com/14.0/repo/docker/collabora.yml
Ustaw zmienne Collabora udokumentowane przez Seafile w .env:
COLLABORA_IMAGE=collabora/code
COLLABORA_PORT=6232
COLLABORA_USERNAME=your_admin_username
COLLABORA_PASSWORD=use_a_long_unique_secret
COLLABORA_ENABLE_ADMIN_CONSOLE=true
COLLABORA_ENABLE_FILE_LOGGING=false
Użyj unikalnego, silnego hasła i ogranicz dostęp do .envpliku, ponieważ zawiera on dane uwierzytelniające. Przykładowy port to port ujawniony w konfiguracji integracji Seafile; nie zakładaj, że jest to port publiczny na Twoim odwrotnym serwerze proxy. Postępuj zgodnie z odpowiednim collabora.ymlplikiem i konfiguracją serwera proxy dla swojego wydania.
Po dodaniu usługi do wdrożenia uruchom lub zaktualizuj stos Compose, korzystając ze standardowej procedury Seafile. Unikaj publikowania wewnętrznego portu Collabora bezpośrednio w internecie, chyba że Twój projekt wyraźnie tego wymaga i zabezpieczyłeś punkt końcowy.
Edytuj aktywny seahub_settings.pyplik i dodaj ustawienia integracji. W przypadku konfiguracji Compose na tym samym hoście instrukcja Seafile używa nazwy usługi i wewnętrznego portu Collabora:
OFFICE_SERVER_TYPE = 'CollaboraOffice'
ENABLE_OFFICE_WEB_APP = True
OFFICE_WEB_APP_BASE_URL = 'http://collabora:9980/hosting/discovery'
WOPI_ACCESS_TOKEN_EXPIRATION = 30 * 60
OFFICE_WEB_APP_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
ENABLE_OFFICE_WEB_APP_EDIT = True
OFFICE_WEB_APP_EDIT_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
Podany adres http://URL to wewnętrzny adres usługi do usługi w udokumentowanej sieci Docker firmy Seafile. Witryna Seafile dostępna w przeglądarce nadal wymaga protokołu HTTPS. Nie kopiuj tego wewnętrznego adresu do wdrożenia na osobnym hoście.
W przypadku Collabora na innym hoście skonfiguruj Collabora za pomocą protokołu HTTPS na standardowym porcie publicznym, a odwrotny serwer proxy przekierowuje żądania na port nasłuchujący Collabora. Ustaw adres URL bazowy na rzeczywistą publiczną nazwę hosta, na przykład:
OFFICE_WEB_APP_BASE_URL = 'https://office.example.com/hosting/discovery'
Upewnij się, że nazwa hosta w adresie URL jest rozpoznawana i przedstawia prawidłowy certyfikat od klientów, którzy muszą otwierać dokumenty. Skonfiguruj również listę dozwolonych WOPI w Collabora, aby akceptowała hosta serwera Seafile. Oficjalna dokumentacja Dockera w Collabora opisuje aliasgroupzmienną środowiskową służącą do deklarowania dozwolonego hosta WOPI; dopasuj ją do hosta i schematu używanego przez Seafile oraz unikaj szerokiego dostępu wieloznacznego na serwerze produkcyjnym.
Uruchom ponownie Seafile, aby Seahub załadował nowe ustawienia Pythona. Użyj procedury ponownego uruchomienia dla swojego pakietu, stosu Compose lub konfiguracji Kubernetes; nazwy usług i polecenia różnią się w zależności od wdrożenia. Jeśli dodałeś nowy plik Compose, upewnij się, że kontener Collabora działa przed przetestowaniem przepływu pracy w przeglądarce.
Otwórz obsługiwany dokument pakietu Office z poziomu interfejsu internetowego Seafile. Plik powinien otworzyć się w edytorze Collabora, wyświetlić swoją zawartość i zapisać niewielką zmianę testową w Seafile. Pomyślne otwarcie dokumentu jest bardziej przydatne niż sprawdzenie samej strony wyszukiwania, ponieważ uruchamia ono transfer plików przeglądarki, Seafile, Collabora i WOPI.
OFFICE_WEB_APP_BASE_URLdostępność z usługi Seafile. Użyj wewnętrznej nazwy usługi Docker tylko wtedy, gdy oba kontenery korzystają z tej samej sieci.OFFICE_WEB_APP_FILE_EXTENSIONi OFFICE_WEB_APP_EDIT_FILE_EXTENSION. Ogranicz te listy do formatów, których potrzebują Twoi użytkownicy i które obsługuje Twoje wdrożenie Collabora.seahub_settings.pyi ponownie uruchomiłeś właściwą usługę Seafile.W przypadku samodzielnego węzła Collabora, Seafile odsyła administratorów do dokumentacji wdrożeniowej Collabora zamiast korzystać z dołączonego pliku collabora.yml. Dołączony plik jest przeznaczony dla tej samej konfiguracji hosta/sieci Docker, którą opisano powyżej.
Włącz bezpieczne edytowanie dokumentów w Seafile, konfigurując adres URL wykrywania, protokół HTTPS i dostęp WOPI Collabora dla swojego wdrożenia.
Przetestuj schowek systemowy, dostosuj uprawnienia przeglądarki i zidentyfikuj, kiedy wbudowana integracja Collabora wymaga zmiany zasad dotyczących ramek iframe.
Zamontuj pliki czcionek w systemie Docker i Collabora, aby niestandardowe czcionki były wyświetlane w edytorze i poprawnie renderowane w dokumentach.
Utwórz kopię zapasową pliku coolwsd.xml i jego źródeł wdrożeniowych, przywróć je w bezpieczny sposób i zweryfikuj KOD przed ponownym rozpoczęciem edycji przez użytkowników.
Zezwól na konkretne źródło Nextcloud lub inne źródło WOPI w KODZIE, a następnie zweryfikuj listę dozwolonych hostów i odróżnij je od ograniczeń adresu IP źródłowego Nextcloud.
Prześledź połączenia przeglądarki, WOPI i WebSocket Collabora, aby dowiedzieć się, dlaczego dokument się nie otwiera, a następnie zastosuj poprawkę odpowiadającą konfiguracji Nextcloud.
Wdrażaj repliki Collabora CODE za pomocą Helm, przechowuj każdy dokument w jednym podzie dzięki powinowactwu WOPI i weryfikuj przychodzące dane, rozmieszczenie węzłów i edycję w Nextcloud.
Prześledź nieudaną wymianę danych między przeglądarką a coolwsd, a następnie dopasuj trasę odwrotnego serwera proxy do swojej wersji Collabora, włączając w to zmianę w kodzie CODE 26.04 Apache.
Śledź błędy dowodowe Collabora WOPI w przypadku niedopasowanych kluczy, nieaktualnych danych wykrywania, przesunięcia zegara lub zmian adresu URL serwera proxy — bez osłabiania walidacji.
Zresetuj powiększenie przeglądarki, przetestuj czystą sesję i zidentyfikuj, kiedy nieprawidłowo sformatowane menu rozmiarów wymaga aktualizacji serwera Collabora.