Questo articolo è stato tradotto dall’AI

Installazione di ONLYOFFICE Docs Enterprise Edition per Docker su un server locale

Introduzione

Enterprise Edition ti consente di installare ONLYOFFICE Docs sul tuo server locale e integrare gli editor online con la piattaforma di collaborazione ONLYOFFICE o con altri sistemi popolari.

ONLYOFFICE Docs è una suite per ufficio online che comprende visualizzatori ed editor per testi, fogli di calcolo e presentazioni, completamente compatibile con i formati Office Open XML: .docx, .xlsx, .pptx e che consente l'editing collaborativo in tempo reale.

Funzionalità

  • Editor di documenti
  • Editor di fogli di calcolo
  • Editor di presentazioni
  • Visualizzatori web mobili
  • Editor web mobili
  • Editing collaborativo
  • Supporto per geroglifici
  • Supporto per tutti i formati popolari: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Consulta l'elenco dettagliato delle funzionalità disponibili per ONLYOFFICE Docs Enterprise Edition.

Utilizzandolo all'interno di ONLYOFFICE Workspace, sarai in grado di:

  • condividere file;
  • gestire i diritti di accesso ai documenti;
  • incorporare documenti su un sito web;
  • visualizzare e modificare file archiviati su Drive, Box, Dropbox, OneDrive, OwnCloud collegati a ONLYOFFICE.

Questa guida ti mostrerà come installare la versione Docker di ONLYOFFICE Docs Enterprise Edition sulla tua macchina.

Requisiti di sistema
  • CPU
    dual core 2 GHz o superiore
  • RAM
    4 GB o più
  • HDD
    almeno 40 GB di spazio libero
  • SWAP
    almeno 4 GB, ma dipende dal sistema operativo host. Più è meglio
  • OS
    Distribuzione Linux amd64 con versione del kernel 3.10 o successiva
  • Requisiti aggiuntivi
    • Docker: qualsiasi versione supportata dal team Docker

Installazione di ONLYOFFICE Docs

È necessario avere installata l'ultima versione di Docker. Se non ce l'hai, consulta la sezione Installazione sul sito di Docker per sapere come ottenerla.
Docker specifica di default i server DNS di Google. Se il tuo ONLYOFFICE Docs non avrà accesso a Internet, ti consigliamo di cambiare l'indirizzo DNS predefinito di Docker con l'indirizzo del tuo server DNS locale. Per farlo, vai al file /etc/default/docker e cambia l'indirizzo IP nella seguente riga con l'indirizzo IP di un server DNS nella tua rete locale:
docker_OPTS="--dns 8.8.8.8"

Per i sistemi operativi basati su RPM come CentOS:

  1. Crea il file di configurazione /etc/docker/daemon.json con il seguente contenuto:
    { "dns" : [ "8.8.8.8" ] }
  2. Riavvia il servizio Docker:
    
    sudo systemctl restart docker.service

Dopo aver installato Docker, avvialo ed esegui il seguente comando:

sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee
Importante A partire dalla versione 7.2, abbiamo aggiunto una generazione casuale del segreto JWT. Se il segreto JWT non è specificato con la variabile d'ambiente, ciò porta alla sua rigenerazione durante ogni riavvio delle VM o del server fisico, quindi potrebbero esserci problemi nelle integrazioni. Per evitare questo problema, specifica il tuo valore in -e JWT_SECRET=my_jwt_secret.

Se non intendi utilizzare JWT nella tua installazione, usa -e JWT_ENABLED=false.

Di default, ONLYOFFICE Docs ascolta le connessioni in entrata utilizzando la porta 80. A partire dalla versione 4.3, puoi cambiare la porta per ONLYOFFICE Docs se prevedi di utilizzarla al posto di quella predefinita. Questo può essere facilmente fatto cambiando la porta di mapping durante l'installazione:
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee
Dove <PORT_NUMBER> è il numero di porta che vuoi che ONLYOFFICE Docs utilizzi.

Questo installerà ONLYOFFICE Docs e tutte le dipendenze necessarie (l'elenco di ciò che viene fatto dallo script può essere trovato qui).

ImportanteL'immagine non è compatibile con l'installazione su Kubernetes. Per ulteriori informazioni su come ottenere ONLYOFFICE Docs su Kubernetes, si prega di fare riferimento alla seguente guida.

Conservazione dei dati al di fuori dei container

Tutti i dati sono memorizzati in directory appositamente designate, volumi di dati, nella seguente posizione:

  • /var/log/onlyoffice per i log di ONLYOFFICE Docs
  • /var/www/onlyoffice/Data per i certificati
  • /var/lib/onlyoffice per la cache dei file
  • /var/lib/postgresql per il database
Consigliamo Consigliamo vivamente di conservare i dati al di fuori dei container Docker sulla macchina host poiché ti consente di aggiornare facilmente ONLYOFFICE Docs una volta rilasciata la nuova versione senza perdere i tuoi dati.

Per accedere ai tuoi dati situati al di fuori del container, devi montare i volumi. Questo può essere fatto specificando l'opzione -v nel comando docker run.

sudo docker run -i -t -d -p 80:80 --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/

Dati  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee
Si prega di notare che, nel caso in cui si tenti di montare cartelle che non sono ancora state create, queste verranno create ma l'accesso ad esse sarà limitato. Sarà necessario modificare manualmente i diritti di accesso.

Normalmente, non è necessario memorizzare i dati del container perché il funzionamento del container non dipende dal suo stato. Salvare i dati sarà utile:

  • per un facile accesso ai dati del container, come i log;
  • per rimuovere il limite sulla dimensione dei dati all'interno del container;
  • quando si utilizzano servizi avviati al di fuori del container come PostgreSQL, Redis, RabbitMQ.

Esecuzione di ONLYOFFICE Docs utilizzando HTTPS

sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee

L'accesso all'applicazione ONLYOFFICE può essere protetto utilizzando SSL per prevenire accessi non autorizzati. Mentre un certificato SSL certificato da CA consente la verifica della fiducia tramite la CA, i certificati autofirmati possono anche fornire un livello di verifica della fiducia equivalente purché ogni client compia alcuni passaggi aggiuntivi per verificare l'identità del tuo sito web. Le istruzioni per ottenere ciò sono fornite di seguito.

Per proteggere l'applicazione tramite SSL, sono essenzialmente necessari due elementi:

  • Chiave privata (.key)
  • Certificato SSL (.crt)

Quindi è necessario creare e installare i seguenti file:

/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt

Quando si utilizzano certificati certificati da CA (ad esempio, Let's Encrypt), questi file vengono forniti dalla CA. Se si utilizzano certificati autofirmati, è necessario generare questi file da soli.

Passaggio di ONLYOFFICE Docs a HTTPS utilizzando certbot

Il modo più semplice per passare ONLYOFFICE Docs a HTTPS è ottenere automaticamente i certificati SSL di Let's Encrypt utilizzando certbot.

Esegui il container Docker di ONLYOFFICE Docs, specificando le porte 80 e 443 e impostando i tuoi valori per le variabili:

sudo docker run -i -t -d -p 80:80 -p 443:443 --restart=always \
    -e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee

Dove:

  • LETS_ENCRYPT_DOMAIN - un nome di dominio da utilizzare per il certificato.
  • LETS_ENCRYPT_MAIL - un'email utilizzata per la registrazione e il contatto per il recupero.

Il certificato firmato da CA letsencrypt.org verrà generato e installato automaticamente sul tuo server. Ora, il tuo ONLYOFFICE Docs dovrebbe essere disponibile all'indirizzo https://yourdomain.com.

Generazione di certificati autofirmati

La generazione di certificati SSL autofirmati comporta una semplice procedura in 3 passaggi

PASSO 1: Crea la chiave privata del server

openssl genrsa -out onlyoffice.key 2048

PASSO 2: Crea la richiesta di firma del certificato (CSR)

openssl req -new -key onlyoffice.key -out onlyoffice.csr

PASSO 3: Firma il certificato utilizzando la chiave privata e il CSR

openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

Hai ora generato un certificato SSL valido per 365 giorni.

Rafforzamento della sicurezza del server

Questa sezione fornisce istruzioni per rafforzare la sicurezza del server.

Per ottenere ciò, è necessario generare parametri DHE più forti.

openssl dhparam -out dhparam.pem 2048
Installazione dei certificati SSL

Dei quattro file generati sopra, è necessario installare i file onlyoffice.key, onlyoffice.crt e dhparam.pem sul server ONLYOFFICE. Il file CSR non è necessario, ma assicurati di eseguire un backup sicuro del file (nel caso in cui ne avessi bisogno di nuovo).

Il percorso predefinito in cui l'applicazione ONLYOFFICE è configurata per cercare i certificati SSL è /var/www/onlyoffice/Data/certs, tuttavia questo può essere modificato utilizzando le opzioni di configurazione SSL_KEY_PATH, SSL_CERTIFICATE_PATH e SSL_DHPARAM_PATH.

Il percorso /var/www/onlyoffice/Data/ è il percorso del data store, il che significa che devi creare una cartella denominata certs all'interno di /app/onlyoffice/DocumentServer/data/ e copiare i file al suo interno e come misura di sicurezza aggiornerai il permesso sul file onlyoffice.key in modo che sia leggibile solo dal proprietario.

mkdir -p /app/onlyoffice/

DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key

E riavviare il container Docker:

sudo docker restart {{DOCUMENT_SERVER_ID}}

Ora sei a un solo passo dall'avere la nostra applicazione sicura.

Parametri di configurazione disponibili
Si prega di fare riferimento alle opzioni del comando docker run per il flag --env-file, dove è possibile specificare tutte le variabili d'ambiente richieste in un unico file. Questo ti eviterà di scrivere un comando docker run potenzialmente lungo.

Di seguito è riportato l'elenco completo dei parametri che possono essere impostati utilizzando le variabili d'ambiente.

  • ONLYOFFICE_HTTPS_HSTS_ENABLED: Opzione di configurazione avanzata per disattivare la configurazione HSTS. Applicabile solo quando SSL è in uso. Predefinito a true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: Opzione di configurazione avanzata per impostare il max-age HSTS nella configurazione vHost di onlyoffice NGINX. Applicabile solo quando SSL è in uso. Predefinito a 31536000.
  • SSL_CERTIFICATE_PATH: Il percorso al certificato SSL da utilizzare. Predefinito a /var/www/onlyoffice/Data/certs/tls.crt.
  • SSL_KEY_PATH: Il percorso alla chiave privata del certificato SSL. Predefinito a /var/www/onlyoffice/Data/certs/tls.key.
  • SSL_DHPARAM_PATH: Il percorso al parametro Diffie-Hellman. Predefinito a /var/www/onlyoffice/Data/certs/dhparam.pem.
  • SSL_VERIFY_CLIENT: Abilita la verifica dei certificati client utilizzando il CA_CERTIFICATES_PATH file. Predefinito a false.
  • DB_TYPE: Il tipo di database. Valori supportati sono postgres, mariadb o mysql. Predefinito a postgres.
  • DB_HOST: L'indirizzo IP o il nome dell'host dove è in esecuzione il server del database.
  • DB_PORT: Il numero di porta del server del database.
  • DB_NAME: Il nome di un database da creare all'avvio dell'immagine.
  • DB_USER: Il nuovo nome utente con permessi di superuser per l'account del database.
  • DB_PWD: La password impostata per l'account del database.
  • AMQP_URI: L'URI AMQP per connettersi al server del broker di messaggi.
  • AMQP_TYPE: Il tipo di broker di messaggi. Valori supportati sono rabbitmq o activemq. Predefinito a rabbitmq.
  • REDIS_SERVER_HOST: L'indirizzo IP o il nome dell'host dove è in esecuzione il server Redis.
  • REDIS_SERVER_PORT: Il numero di porta del server Redis.
  • REDIS_SERVER_PASS: La password del server Redis. La password non è impostata per impostazione predefinita.
  • NGINX_WORKER_PROCESSES: Definisce il numero di processi worker di NGINX.
  • NGINX_WORKER_CONNECTIONS: Imposta il numero massimo di connessioni simultanee che possono essere aperte da un processo worker di NGINX.
  • SECURE_LINK_SECRET: Definisce il segreto per la direttiva di configurazione nginx secure_link_md5. Predefinito a random string.
  • JWT_ENABLED: Specifica l'abilitazione della validazione del JSON web token da parte di ONLYOFFICE Docs. Predefinito a true.
  • JWT_SECRET: Definisce la chiave segreta per validare il JSON web token nella richiesta a ONLYOFFICE Docs. Predefinito a valore casuale.
  • JWT_HEADER: Definisce l'intestazione HTTP che verrà utilizzata per inviare il JSON web token. Predefinito a Authorization.
  • JWT_IN_BODY: Specifica l'abilitazione della validazione del token nel corpo della richiesta a ONLYOFFICE Docs. Predefinito a false.
  • ALLOW_META_IP_ADDRESS: Definisce se è consentito connettersi all'indirizzo IP meta o meno. Predefinito a false.
  • ALLOW_PRIVATE_IP_ADDRESS: Definisce se è consentito connettersi all'indirizzo IP privato o meno. Predefinito a false.
  • WOPI_ENABLED: Specifica l'abilitazione dei gestori wopi. Predefinito a false.
  • USE_UNAUTHORIZED_STORAGE: Imposta a true se si utilizzano certificati autofirmati per il server di archiviazione, ad esempio Nextcloud. Predefinito a false.
  • GENERATE_FONTS: Quando true, rigenera l'elenco dei font e le miniature dei font ecc. ad ogni avvio. Predefinito a true.
  • METRICS_ENABLED: Specifica l'abilitazione di StatsD per ONLYOFFICE Docs. Predefinito a false.
  • METRICS_HOST: Definisce l'host di ascolto di StatsD. Predefinito a localhost.
  • METRICS_PORT: Definisce la porta di ascolto di StatsD. Predefinito a 8125.
  • METRICS_PREFIX: Definisce il prefisso delle metriche StatsD per i servizi backend. Predefinito a ds..
  • LETS_ENCRYPT_DOMAIN: Definisce il dominio per il certificato Let's Encrypt.
  • LETS_ENCRYPT_MAIL: Definisce l'indirizzo email dell'amministratore del dominio per il certificato Let's Encrypt.

Configurazione ipv6 di ONLYOFFICE Docs

Funziona ed è supportato solo per host Linux

Docker attualmente non fornisce indirizzi ipv6 ai container per impostazione predefinita. Questa funzione è attualmente sperimentale.

Per impostare l'interazione tramite ipv6, è necessario abilitare il supporto per questa funzione nel tuo Docker. Per questo, è necessario:

  • creare il file /etc/docker/daemon.json con il seguente contenuto:
    {
    "ipv6": true,
    "fixed-cidr-v6": "2001:db8:abc1::/64"
    }
  • riavviare docker con il seguente comando: systemctl restart docker

Dopo di ciò, tutti i container in esecuzione riceveranno un indirizzo ipv6 e avranno un'interfaccia inet6.

Puoi controllare la tua rete bridge predefinita e vedere il campo EnableIPv6=true. Verrà aggiunta anche una nuova subnet ipv6.

Per ulteriori informazioni, visita il sito ufficiale del manuale Docker.

Registrazione della tua versione Enterprise Edition

Se hai acquistato Enterprise Edition e hai ricevuto il file license.lic, puoi posizionarlo nella tua installazione per ottenere la versione completa del software.

Quando utilizzi il container docker, il file license.lic può essere posizionato in qualsiasi cartella (ad esempio /app/onlyoffice/DocumentServer/data/license.lic), ma sarà necessario montare questa cartella all'avvio del container:

sudo docker run -i -t -d -p 80:80 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee

Dopo di ciò, la tua versione di Enterprise Edition sarà registrata e completa di tutte le funzionalità.

Voci con l'etichetta tag:
Sfoglia tutti i tag