Pređi na glavni sadržaj

Multitenant server

Konfigurisanje multitenant servera​

  1. Instalirajte Developer izdanje servera

    Potrebna je važeća licenca za multi-tenancy kako bi se omogućio režim multi-tenancy.

    note

    Molimo kontaktirajte vašeg prodajnog asistenta kako biste zatražili ovu licencu.

    Molimo registrujte proizvod prateći priložena uputstva.

  2. Otvorite konfiguracioni fajl local.json i postavite polje baseDir na putanju do foldera koji sadrži podešavanja za tenant. Preporučujemo korišćenje vrednosti /var/www/onlyoffice/Data/tenants.

  3. U local.json, postavite polje baseDomain na domen drugog nivoa koji će služiti kao osnovni domen za sve vaše tenante.

  4. Statistika o glavnoj licenci se prikuplja u podrazumevanom tenant-u.

    • Ime podrazumevanog tenant-a je navedeno u polju defaultTenant unutar defaultTenant.

      note

      Ne možete kreirati drugi tenant sa ovim imenom.

    • Zahtevi ka baseDomain koji ne specificiraju tenant automatski se preusmeravaju na podrazumevani tenant.

    • Podrazumevani tenant ne zahteva dodatnu konfiguraciju. Međutim, zahtevi ka ovom tenant-u su potpisani koristeći tajnu definisanu u fajlu local.json.

    • Pogledajte statistiku na info stranici podrazumevanog tenant-a.

Dodavanje novog tenant-a​

  1. Da biste dodali novog tenant-a:

    • Kreirajte novi folder unutar direktorijuma baseDir na serveru.

    • Ime tenant-a će biti formirano koristeći ime foldera i baseDomain (npr. ako je folder nazvan tenant1 a baseDomain je example.com, ime tenant-a postaje tenant1.example.com).

      note

      Osigurajte da je ovaj folder kreiran u okviru sistema fajlova gde se nalazi default.json.

    Unutar svakog foldera tenant-a, uključite sledeća dva obavezna fajla:

    default.json:

    "tenants": {
    "baseDir": "/var/www/onlyoffice/Data/tenants",
    "baseDomain": "mydomain.example",
    "filenameConfig": "config.json",
    "filenameSecret": "secret.key",
    "filenameLicense": "license.lic",
    "defaultTenant": "localhost",
    "cache": {
    "stdTTL": 300,
    "checkperiod": 60,
    "useClones": false
    }
    }
    note

    Implementirajte fajl secret.key za svakog tenant-a kako biste osigurali izolaciju i sigurnost. Ako je odsutan, koristiće se tajna glavnog tenant-a. Ako je JWT tajna specificirana, ona u config.json ima prednost.

    sistem fajlova:

    root@3694c287928a:/var/www/onlyoffice/Data/tenants# 1s -a
    . .. tenant1 tenant2
    root@3694c287928a:/var/www/onlyoffice/Data/tenants#
  2. root@3694c287928a:~# 1s /var/www/onlyoffice/Data/tenants/tenant1
    config.json license.lic
    root@3694c287928a:~#
    • license.lic – obavezni fajl sa licencom tenant-a
    • config.json – obavezni konfiguracioni fajl koji nadjačava glavnu konfiguraciju servera
    note

    Obavezno je popuniti JWT tajnu.

  3. Fajl license.lic nadjačava specifična polja glavne licence za tenant. Njegova pravila su:

    • Potpis: Potpis licence nije potreban.

    • Nasleđivanje polja: Možete uključiti neka ili sva polja iz glavne licence. Polja koja nisu specificirana će podrazumevano koristiti vrednosti iz glavne licence i biće validirana u skladu s tim.

    • Prilagođavanje ograničenja: Ne možete povećati vrednosti u odnosu na glavnu licencu, ali ih možete smanjiti. Primenjiva polja uključuju: connections, connections_view, users_count, users_expire, users_view_count, end_date, timelimited, advanced_api, branding, customization.

      Primer: Možete ukloniti branding i customization ili postaviti probni režim.

      note

      Povećanje vrednosti je neefikasno jer se glavna licenca ponovo proverava svaki put.

    • Keširanje: Kada se pročita, vrednosti licence se keširaju na 5 minuta.

    Na primer, license.lic može imati sledeći sadržaj:

    {"branding":false,"connections":100,"users_count":0}
  4. Fajl config.json vam omogućava da nadjačate određena podešavanja servera. Pravila su:

    • Nenadjačiva podešavanja: Podešavanja korišćena tokom pokretanja servera (kao što su adrese eksternih servisa, putanje logova, licence i keš fajlova) ne mogu biti nadjačana.
    • Nadjačiva podešavanja: Možete nadjačati podešavanja koja utiču na operacije u toku rada, uključujući WOPI konfiguraciju, IP filtriranje, JWT tajnu, onemogućavanje anonimnog pristupa i ograničenja veličine fajlova.
    • Keširanje: Kada se pročita, vrednosti konfiguracije se keširaju na 5 minuta.

    Na primer, fajl config.json može imati sledeći sadržaj:

    {
    "wopi": {
    "enable": true
    },
    "services": {
    "CoAuthoring": {
    "secret": {
    "inbox": {"string": "secret", "file": ""},
    "outbox": {"string": "secret", "file": ""},
    "session": {"string": "secret", "file": ""}
    },
    "token": {
    "enable": {
    "browser": true,
    "request": {
    "inbox": true,
    "outbox": true
    }
    }
    }
    }
    }
    }