Multitenant server
Konfigurisanje multitenant servera
-
Instalirajte Developer izdanje servera
Potrebna je važeća licenca za multi-tenancy kako bi se omogućio režim multi-tenancy.
noteMolimo kontaktirajte vašeg prodajnog asistenta kako biste zatražili ovu licencu.
Molimo registrujte proizvod prateći priložena uputstva.
-
Otvorite konfiguracioni fajl
local.jsoni postavite polje baseDir na putanju do foldera koji sadrži podešavanja za tenant. Preporučujemo korišćenje vrednosti/var/www/onlyoffice/Data/tenants. -
U
local.json, postavite polje baseDomain na domen drugog nivoa koji će služiti kao osnovni domen za sve vaše tenante. -
Statistika o glavnoj licenci se prikuplja u podrazumevanom tenant-u.
-
Ime podrazumevanog tenant-a je navedeno u polju defaultTenant unutar
defaultTenant.noteNe možete kreirati drugi tenant sa ovim imenom.
-
Zahtevi ka
baseDomainkoji 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
-
Da biste dodali novog tenant-a:
-
Kreirajte novi folder unutar direktorijuma
baseDirna serveru. -
Ime tenant-a će biti formirano koristeći ime foldera i
baseDomain(npr. ako je folder nazvantenant1abaseDomainje example.com, ime tenant-a postajetenant1.example.com).noteOsigurajte 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}}noteImplementirajte fajl
secret.keyza 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 uconfig.jsonima prednost.sistem fajlova:
root@3694c287928a:/var/www/onlyoffice/Data/tenants# 1s -a. .. tenant1 tenant2root@3694c287928a:/var/www/onlyoffice/Data/tenants# -
-
root@3694c287928a:~# 1s /var/www/onlyoffice/Data/tenants/tenant1config.json license.licroot@3694c287928a:~#
license.lic– obavezni fajl sa licencom tenant-aconfig.json– obavezni konfiguracioni fajl koji nadjačava glavnu konfiguraciju servera
noteObavezno je popuniti JWT tajnu.
-
Fajl
license.licnadjač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
brandingicustomizationili postaviti probni režim.notePoveć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.licmože imati sledeći sadržaj:{"branding":false,"connections":100,"users_count":0} -
-
Fajl
config.jsonvam 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.jsonmož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}}}}}}