Je těžké podceňovat hodnotu online kancelářských balíků, jako jsou Dokumenty Google a cloudové úložiště, v životě technicky orientovaných lidí. Technologie se natolik rozšířila, že i Microsoft, který dlouhodobě dominuje trhu kancelářských aplikací, se v poslední době zaměřuje na vývoj webové aplikace Office 365 a přesvědčování uživatelů, aby přešli na model předplatného pro využívání vlastních služeb. Zveme ty, kteří mají zájem o proces instalace a konfigurace vlastního úložiště pod kat.
Před časem jsme se podívali na řešení cloudového úložiště a open source webové kancelářské sady, které lze snadno nasadit pro použití v mikropodniku. Hlavní motivací pro udržování veškeré dokumentace online je omezit papírování na minimum a zavést dobré obchodní praktiky i přes nízký objem transakcí. Druhou stranou mince je, že pronájem cloudového serveru k poskytování této služby je méně bezpečný než jeho uložení přímo v prostorách podniku, protože nemáte žádné prostředky pro audit fyzického přístupu k vašemu serveru nebo provozu. Proto je také vyžadováno end-to-end šifrování a open source software.
S přihlédnutím ke všem dostupným informacím o open source řešeních jsme našli dva aktivní projekty (s commity v git úložišti za posledních 12 měsíců) vyvinuté pro cloudové úložiště: NextCloud a OwnCloud a jediný aktivní kancelářský balík ONLYOFFICE. Oba nástroje cloudového úložiště mají zhruba stejnou funkcionalitu a rozhodnutí zvolit NextCloud bylo založeno na existenci důkazů, že jej lze integrovat s ONLYOFFICE pro pohodlnou uživatelskou interakci se softwarem. Když jsme však začali služby nasazovat, ukázal se nedostatek informací o integraci výše uvedených služeb. Našli jsme 3 výuková videa o tom, jak integrovat:
Žádné ze tří videí neodpovědělo na otázku instalace dokumentové služby ONLYOFFICE na stejný fyzický server jako NextCloud se sdíleným nginx. Místo toho použili separační techniky, jako je použití samostatných portů pro rozhraní API služby dokumentů. Další navrhovanou možností bylo nasazení samostatného serveru pro Document Service, ruční konfiguraci instance nginx zabudované do Document Service pro instalaci přístupového klíče (předem známý přístupový klíč, který potvrzuje právo přístupu k datovému cloudu) a certifikátů TLS. Výše uvedené přístupy nebyly považovány za bezpečné a dostatečně účinné, proto jsme integrovali NextCloud, ONLYOFFICE a běžný nginx, který odděluje požadavky podle doménových jmen, pomocí docker-compose. Zde jsou krok za krokem informace, jak na to.
Krok 1: kontejner nginx
Toto je velmi jednoduché nastavení, ale tento krok vyžaduje nejvíce práce při konfiguraci reverzního proxy serveru. Nejprve jsme vytvořili konfiguraci docker-compose pro obrázek nginx:stable.
Tím se vytvoří kontejner s porty 80 a 443 otevřenými pro veřejnost, namapuje se konfigurace na nginx/nginx-vhost.conf a definuje úložiště pro certifikáty generované jako certifikáty s vlastním podpisem nebo pomocí certbota Let's encrypt v /nginx/certificates. Toto umístění by mělo obsahovat složky office.yourdomain.com a cloud.yourdomain.com se soubory fullchain1.pem a privkey1.pem pro řetězec certifikátů a soukromý klíč serveru. Více o tom, jak vygenerovat certifikát s vlastním podpisem, si můžete přečíst zde. www.akadia.com/services/ssh_test_certificate.html (přejmenování .key a .crt na .pem funguje bez převodu struktury souboru pro nginx).
Poté jsme definovali soubor vhost. Nejprve definujeme chování portu 80 jako jednoduché přesměrování na https, protože nechceme povolit žádný http provoz
Ale nezapomeňte propojit kontejner nginx se službou dokumentů:
services:
...
nginx:
...
depends_on:
- onlyoffice
Krok 3: NextCloud
Nejprve přidejte nové služby:
services:
...
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- /data/nextcloud_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=#put some password here
- MYSQL_PASSWORD=#put some other password here
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
depends_on:
- db
- onlyoffice
restart: always
a přidejte odkaz na nginx:
services:
...
nginx:
...
depends_on:
- app
Nyní je čas naložit kontejnery.
docker-compose up -d
Po chvíli vás nginx začne přesměrovávat na frontend NextCloud, což je výchozí konfigurační stránka. Budete muset zadat uživatelské jméno a heslo pro prvního administrátora a přihlašovací údaje k databázi, které jste poskytli v docker-compose.yml Po dokončení nastavení se budete moci přihlásit. V našem případě trvalo čekání téměř minutu a vyžadovalo dodatečné obnovení přihlašovací stránky, než jsme se mohli přihlásit do cloudové služby.
Okno nastavení služby NextCloud
Krok 4: Připojení NextCloud a ONLYOFFICE
V tomto kroku budete muset nainstalovat aplikaci pro NextCloud, která propojuje funkcionalitu ONLYOFFICE. Začněme ovládacím panelem aplikace v pravém horním rohu nabídky. Najděte aplikaci ONLYOFFICE (v části Office & text nebo pomocí vyhledávání), nainstalujte ji a aktivujte.
Poté přejděte do Nastavení přes nabídku v pravém horním rohu a v levém menu byste měli najít položku ONLYOFFICE. Jděte do toho. Budete muset zaregistrovat adresy, jak je uvedeno níže.
Nastavení integrační aplikace
První adresa slouží k propojení na některé soubory js a css přímo z aplikace běžící v prohlížeči (to je to, co potřebujeme k otevření přístupu ke službě ONLYOFFICE přes nginx). Tajný klíč se nepoužívá, protože více důvěřujeme izolační vrstvě Docker než trvalému ověřovacímu klíči. Třetí adresu používá kontejner NextCloud k přímému připojení k API ONLYOFFICE a používá výchozí interní název hostitele z Dockeru. Poslední pole se používá k tomu, aby ONLYOFFICE mohl odesílat požadavky zpět na NextCloud API pomocí externí IP adresy nebo interní adresy Docker, pokud používáte sítě Docker, ale to se v našem případě nepoužívá. Ujistěte se, že nastavení brány firewall umožňuje tyto druhy interakcí.
Po uložení NextCloud otestuje připojení a pokud je vše v pořádku, ukáže vám nastavení související s integrací – například jaké typy souborů lze touto integrací upravovat. Přizpůsobte si, jak uznáte za vhodné.
Poslední krok: kde najít editor
Pokud se vrátíte do složek cloudového úložiště a kliknutím na „+“ vytvoříte nový soubor, budete mít novou možnost vytvořit dokument, tabulku nebo prezentaci. S jejich pomocí vytvoříte a ihned budete moci upravovat tyto typy souborů pomocí ONLYOFFICE.