Dit is moeilik om die waarde van aanlyn kantoorsuites soos Google Docs en wolkberging in die lewens van tegnologie-georiënteerde mense te onderskat. Tegnologie het so wydverspreid geraak dat selfs Microsoft, wat lank die kantoortoepassingsmark oorheers het, onlangs daarop gefokus het om die Office 365-webtoepassing te ontwikkel en gebruikers te oorreed om na 'n intekeningmodel oor te skakel vir die gebruik van hul eie dienste. Ons nooi diegene wat belangstel in die proses om hul eie berging onder kat te installeer en op te stel.
Ons het 'n tyd gelede gekyk na wolkbergingsoplossings en oopbron-webkantoorsuites wat maklik vir gebruik in 'n mikro-onderneming ontplooi kan word. Die hoofmotivering om alle dokumentasie aanlyn te hou, is om papierwerk tot die minimum te beperk en goeie sakepraktyke te implementeer ten spyte van die lae volume transaksies. Die ander kant van die munt is dat die huur van 'n wolkbediener om hierdie diens te verskaf minder veilig is as om dit direk op die perseel van die onderneming te stoor, aangesien jy geen manier het om fisiese toegang tot jou bediener of verkeer te oudit nie. Daarom word end-tot-end-enkripsie en oopbronsagteware ook vereis.
Met inagneming van alle beskikbare inligting oor oopbron-oplossings, het ons twee aktiewe projekte gevind (met commits in die git-bewaarplek vir die afgelope 12 maande) wat ontwikkel is vir wolkberging: NextCloud en OwnCloud, en die enigste aktiewe ONLYOFFICE-kantoorpakket. Albei wolkbergingsnutsgoed het min of meer dieselfde funksionaliteit, en die besluit om NextCloud te kies was gebaseer op die bestaan van bewyse dat dit met ONLYOFFICE geïntegreer kan word vir 'n gemaklike gebruikersinteraksie met die sagteware. Toe ons egter die dienste begin ontplooi het, het die gebrek aan inligting oor die integrasie van bogenoemde dienste duidelik geword. Ons het 3 tutoriaalvideo's gevind oor hoe om te integreer:
Nie een van die drie video's het die vraag beantwoord om die ONLYOFFICE-dokumentdiens op dieselfde fisiese bediener as NextCloud met 'n gedeelde nginx te installeer nie. In plaas daarvan het hulle skeidingstegnieke gebruik soos die gebruik van aparte poorte vir die dokumentdiens-api. Nog 'n voorstel was om 'n aparte bediener vir Document Service te ontplooi, deur die nginx-instansie wat in Document Service ingebou is, handmatig te konfigureer om 'n toegangsleutel ('n voorafbekende toegangsleutel wat die reg om toegang tot die datawolk te verkry) en TLS-sertifikate te installeer. Die bogenoemde benaderings is as onveilig en nie doeltreffend genoeg beskou nie, daarom het ons NextCloud, ONLYOFFICE en 'n algemene nginx geïntegreer wat versoeke deur domeinname skei met behulp van docker-compose. Hier is stap vir stap inligting oor hoe om dit te doen.
Stap 1: nginx-houer
Dit is 'n baie eenvoudige opstelling, maar hierdie stap verg die meeste werk om die omgekeerde instaanbediener op te stel. Ons het eers die docker-compose-konfigurasie vir die nginx:stable-beeld geskep.
Dit skep 'n houer met poorte 80 en 443 wat oop is vir die publiek, karteer die konfigurasie na nginx/nginx-vhost.conf , en definieer 'n winkel vir sertifikate wat as selfondertekende sertifikate gegenereer word of met behulp van Kom ons enkripteer se certbot in /nginx/certificates. Hierdie ligging moet vouers vir office.yourdomain.com en cloud.yourdomain.com bevat, met fullchain1.pem- en privkey1.pem-lêers in elk vir onderskeidelik die sertifikaatketting en bediener-privaatsleutel. Jy kan meer lees oor hoe om 'n self-ondertekende sertifikaat hier te genereer. www.akadia.com/services/ssh_test_certificate.html (om .key en .crt na .pem te hernoem werk sonder om die lêerstruktuur vir nginx om te skakel).
Daarna het ons die vhost-lêer gedefinieer. Ons definieer eers die gedrag van poort 80 as 'n eenvoudige herleiding na https, want ons wil geen http-verkeer toelaat nie
Maar moenie vergeet om die nginx-houer aan die dokumentdiens te koppel nie:
services:
...
nginx:
...
depends_on:
- onlyoffice
Stap 3: NextCloud
Voeg eers nuwe dienste 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
en voeg 'n skakel by nginx:
services:
...
nginx:
...
depends_on:
- app
Nou is dit tyd om die houers te laai.
docker-compose up -d
Na 'n rukkie sal nginx jou na die NextCloud-voorkant begin herlei, wat die verstekkonfigurasiebladsy is. Jy sal die gebruikersnaam en wagwoord vir jou eerste admin gebruiker moet invoer en die databasis geloofsbriewe wat jy verskaf het in docker-compose.yml Sodra die opstelling voltooi is, sal jy in staat wees om aan te meld. In ons geval het die wag amper 'n minuut geneem en 'n bykomende verversing van die aanmeldbladsy vereis voordat ons by die wolkdiens kon aanmeld.
NextCloud-diensinstellingsvenster
Stap 4: Koppel NextCloud en ONLYOFFICE
By hierdie stap sal jy die toepassing vir NextCloud moet installeer, wat die ONLYOFFICE-funksie verbind. Kom ons begin met die toepassingsbeheerpaneel in die regter boonste hoek van die spyskaart. Vind die ONLYOFFICE-toepassing (onder Kantoor en teks of gebruik soek), installeer en aktiveer dit.
Gaan daarna na Instellings via die spyskaart in die regter boonste hoek en jy behoort die ONLYOFFICE-item in die linkerkieslys te vind. Gaan daarin. Jy sal die adresse moet registreer soos hieronder aangedui.
Integrasie toepassing instellings
Die eerste adres word gebruik om direk na sommige js- en css-lêers te skakel vanaf die toepassing wat in die blaaier loop (dit is wat ons nodig het om toegang tot die ONLYOFFICE-diens deur nginx oop te maak). Die geheime sleutel word nie gebruik nie, want ons vertrou die Docker-isolasielaag meer as die aanhoudende verifikasiesleutel. Die derde adres word deur die NextCloud-houer gebruik om direk aan die ONLYOFFICE API te koppel, en dit gebruik die standaard interne gasheernaam van Docker. Wel, die laaste veld word gebruik sodat ONLYOFFICE versoeke terug na die NextCloud API kan rig deur 'n eksterne IP-adres of 'n interne Docker-adres te gebruik as jy Docker-netwerke gebruik, maar dit word nie in ons geval gebruik nie. Maak seker dat jou firewall-instellings hierdie soort interaksies toelaat.
Nadat dit gestoor is, sal NextCloud die verbinding toets en, as alles korrek is, vir jou instellings wys wat met die integrasie verband hou - byvoorbeeld watter tipe lêers deur hierdie integrasie geredigeer kan word. Pasmaak soos jy goeddink.
Die laaste stap: waar om die redakteur te vind
As jy teruggaan na jou wolkberging-vouers en op die "+" klik om 'n nuwe lêer te skep, sal jy 'n nuwe opsie hê om 'n dokument, sigblad of aanbieding te skep. Met hul hulp sal jy hierdie tipe lêers met ONLYOFFICE skep en dadelik kan redigeer.