Det er svært at undervurdere værdien af online kontorpakker som Google Docs og cloud storage i teknologiorienterede menneskers liv. Teknologien er blevet så udbredt, at selv Microsoft, som længe har domineret kontorapplikationsmarkedet, på det seneste har fokuseret på at udvikle Office 365-webapplikationen og overtale brugerne til at skifte til en abonnementsmodel for at bruge deres egne tjenester. Vi inviterer dem, der er interesseret i processen med at installere og konfigurere deres eget lager under kat.
For nogen tid siden så vi på cloud storage-løsninger og open source webkontorpakker, der nemt kunne implementeres til brug i en mikrovirksomhed. Hovedmotivationen for at holde al dokumentation online er at holde papirarbejdet på et minimum og implementere god forretningspraksis på trods af den lave mængde transaktioner. Den anden side af medaljen er, at det er mindre sikkert at leje en cloud-server til at levere denne service end at gemme den direkte i virksomhedens lokaler, da du ikke har nogen mulighed for at kontrollere fysisk adgang til din server eller trafik. Derfor er ende-til-ende-kryptering og open source-software også påkrævet.
Under hensyntagen til al tilgængelig information om open source-løsninger fandt vi to aktive projekter (med commits i git-lageret i de sidste 12 måneder) udviklet til cloud-lagring: NextCloud og OwnCloud, og den eneste aktive ONLYOFFICE-kontorpakke. Begge cloud storage-værktøjer har nogenlunde samme funktionalitet, og beslutningen om at vælge NextCloud var baseret på eksistensen af beviser for, at det kan integreres med ONLYOFFICE for en behagelig brugerinteraktion med softwaren. Men da vi begyndte at implementere tjenesterne, blev manglen på information om integration af ovenstående tjenester tydelig. Vi fandt 3 vejledningsvideoer om, hvordan man integrerer:
Ingen af de tre videoer besvarede spørgsmålet om at installere ONLYOFFICE-dokumenttjenesten på den samme fysiske server som NextCloud med en delt nginx. I stedet brugte de adskillelsesteknikker som f.eks. at bruge separate porte til dokumentservice-api'et. Et andet forslag var at installere en separat server til Document Service, manuelt konfigurere nginx-instansen indbygget i Document Service til at installere en adgangsnøgle (en forudkendt adgangsnøgle, der bekræfter retten til at få adgang til dataskyen) og TLS-certifikater. Ovenstående tilgange blev betragtet som ikke sikre og ikke effektive nok, så vi integrerede NextCloud, ONLYOFFICE og en fælles nginx, som adskiller anmodninger efter domænenavne ved hjælp af docker-compose. Her er trin for trin information om, hvordan du gør det.
Trin 1: nginx-beholder
Dette er en meget enkel opsætning, men dette trin kræver mest arbejde at konfigurere den omvendte proxyserver. Vi oprettede først docker-compose-konfigurationen til nginx:stable-billedet.
Dette skaber en container med porte 80 og 443 åbne for offentligheden, kortlægger konfigurationen til nginx/nginx-vhost.conf og definerer et lager for certifikater genereret som selvsignerede certifikater eller ved at bruge Let's encrypt's certbot i /nginx/certificates. Mapperne for office.yourdomain.com og cloud.yourdomain.com skal være på denne placering med filerne fullchain1.pem og privkey1.pem i hver for henholdsvis certifikatkæden og serverens private nøgle. Du kan læse mere om, hvordan du genererer et selvsigneret certifikat her. www.akadia.com/services/ssh_test_certificate.html (omdøbning af .key og .crt til .pem fungerer uden at konvertere filstrukturen til nginx).
Derefter definerede vi vhost-filen. Vi definerer først adfærden af port 80 som en simpel omdirigering til https, fordi vi ønsker ikke at tillade nogen http-trafik
Men glem ikke at linke nginx-beholderen til dokumenttjenesten:
services:
...
nginx:
...
depends_on:
- onlyoffice
Trin 3: NextCloud
Tilføj først nye tjenester:
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
og tilføj et link til nginx:
services:
...
nginx:
...
depends_on:
- app
Nu er det tid til at læsse containerne.
docker-compose up -d
Efter et stykke tid vil nginx begynde at omdirigere dig til NextCloud-frontenden, som er standardkonfigurationssiden. Du skal indtaste brugernavnet og adgangskoden til din første administratorbruger og de databaselegitimationsoplysninger, du har angivet i docker-compose.yml. Når opsætningen er fuldført, vil du være i stand til at logge ind. I vores tilfælde tog ventetiden næsten et minut og krævede en yderligere opdatering af login-siden, før vi kunne logge ind på cloud-tjenesten.
Vinduet NextCloud-tjenesteindstillinger
Trin 4: Tilslutning af NextCloud og ONLYOFFICE
På dette trin skal du installere applikationen til NextCloud, som forbinder ONLYOFFICE-funktionaliteten. Lad os starte med applikationens kontrolpanel i øverste højre hjørne af menuen. Find ONLYOFFICE-appen (under Office & tekst eller brug søgning), installer og aktiver den.
Gå derefter til Indstillinger via menuen i øverste højre hjørne, og du skal finde ONLYOFFICE-punktet i venstre menu. Gå ind i det. Du skal registrere adresserne som angivet nedenfor.
Indstillinger for integrationsapplikationer
Den første adresse bruges til at linke til nogle js- og css-filer direkte fra den applikation, der kører i browseren (det er det, vi skal bruge for at åbne adgang til ONLYOFFICE-tjenesten gennem nginx). Den hemmelige nøgle bruges ikke, fordi vi stoler mere på Docker-isolationslaget end den vedvarende godkendelsesnøgle. Den tredje adresse bruges af NextCloud-beholderen til at oprette forbindelse direkte til ONLYOFFICE API, og den bruger det interne standardværtsnavn fra Docker. Nå, det sidste felt bruges, så ONLYOFFICE kan lave forespørgsler tilbage til NextCloud API ved hjælp af en ekstern IP-adresse eller en intern Docker-adresse, hvis du bruger Docker-netværk, men dette bruges ikke i vores tilfælde. Sørg for, at dine firewallindstillinger tillader denne slags interaktioner.
Efter at have gemt vil NextCloud teste forbindelsen og, hvis alt er korrekt, vise dig indstillinger relateret til integrationen - for eksempel hvilke typer filer der kan redigeres af denne integration. Tilpas som du synes passer.
Det sidste trin: hvor finder du editoren
Hvis du går tilbage til dine skylagermapper og klikker på "+" for at oprette en ny fil, så har du en ny mulighed for at oprette et dokument, regneark eller præsentation. Med deres hjælp vil du oprette og straks være i stand til at redigere disse typer filer ved hjælp af ONLYOFFICE.