- Home
- Docs
- Installazione e configurazione
- Sviluppatore
- Versione di Docker
- Installazione di ONLYOFFICE Docs per Docker su un server locale
Installazione di ONLYOFFICE Docs per Docker su un server locale
Introduzione
Developer Edition ti consente di installare ONLYOFFICE Docs sul tuo server locale e integrare gli editor online con la tua applicazione web.
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 la modifica collaborativa in tempo reale.
Funzionalità
- Editor di documenti
- Editor di fogli di calcolo
- Editor di presentazioni
- Visualizzatori web mobili
- Editor web mobili
- Modifica collaborativa
- Supporto per geroglifici
- Supporto per tutti i formati più diffusi: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML
Consulta la lista dettagliata delle funzionalità disponibili per ONLYOFFICE Docs Developer Edition.
Questa guida ti mostrerà come installare la versione Docker di ONLYOFFICE Docs Developer Edition sulla tua macchina.
Requisiti di sistema
-
CPUdual core 2 GHz o superiore
-
RAM4 GB o più
-
HDDalmeno 40 GB di spazio libero
-
SWAPalmeno 4 GB, ma dipende dal sistema operativo host. Più è meglio
-
OSDistribuzione Linux amd64 con versione del kernel 3.10 o successiva
-
Requisiti aggiuntivi
- Docker: qualsiasi versione supportata dal team Docker
Installazione di ONLYOFFICE Docs
/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:
-
Crea il file di configurazione
/etc/docker/daemon.jsoncon il seguente contenuto:{ "dns" : [ "8.8.8.8" ] } -
Riavvia il servizio Docker:
sudo systemctl restart docker.service
Dopo aver installato Docker, eseguilo ed esegui il seguente comando:
sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
-e JWT_SECRET=my_jwt_secret.
Se non intendi utilizzare JWT nella tua installazione, usa -e JWT_ENABLED=false.
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
Dove <PORT_NUMBER> è il numero di porta che vuoi che ONLYOFFICE Docs utilizzi.
Questo installerà ONLYOFFICE Docs e tutte le dipendenze necessarie (la lista di ciò che viene fatto dallo script può essere trovata qui).
Archiviazione dei dati al di fuori dei container
Tutti i dati sono archiviati in directory appositamente designate, volumi di dati, nella seguente posizione:
/var/log/onlyofficeper i log di ONLYOFFICE Docs/var/www/onlyoffice/Dataper i certificati/var/lib/onlyofficeper la cache dei file/var/lib/postgresqlper il database
Per accedere ai tuoi dati situati al di fuori del container, devi montare i volumi. 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/Data \
-v /app/onlyoffice/DocumentServer/lib:/var/lib/
onlyoffice \
-v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
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-de
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 questo risultato sono fornite di seguito.
Per proteggere l'applicazione tramite SSL, sono essenzialmente necessarie due cose:
- 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-de
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 di recupero.
Il certificato firmato da CA di 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 prevede una semplice procedura in 3 passaggi
PASSAGGIO 1: Crea la chiave privata del server
openssl genrsa -out onlyoffice.key 2048
PASSAGGIO 2: Crea la richiesta di firma del certificato (CSR)
openssl req -new -key onlyoffice.key -out onlyoffice.csr
PASSAGGIO 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 tuo server.
Per ottenere questo risultato, è 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 in futuro).
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 dell'archivio dati, 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 per essere leggibile solo dal proprietario.
mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /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 protetta.
Parametri di configurazione disponibili
--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. Valore predefinito
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. Valore predefinito
31536000. - SSL_CERTIFICATE_PATH: Il percorso al certificato SSL da utilizzare. Valore predefinito
/var/www/onlyoffice/Data/certs/tls.crt. - SSL_KEY_PATH: Il percorso alla chiave privata del certificato SSL. Valore predefinito
/var/www/onlyoffice/Data/certs/tls.key. - SSL_DHPARAM_PATH: Il percorso al parametro Diffie-Hellman. Valore predefinito
/var/www/onlyoffice/Data/certs/dhparam.pem. - SSL_VERIFY_CLIENT: Abilita la verifica dei certificati client utilizzando il
CA_CERTIFICATES_PATH file. Valore predefinitofalse. - DB_TYPE: Il tipo di database. I valori supportati sono
postgres,mariadbomysql. Valore predefinitopostgres. - 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'AMQP URI per connettersi al server del broker di messaggi.
- AMQP_TYPE: Il tipo di broker di messaggi. I valori supportati sono
rabbitmqoactivemq. Valore predefinitorabbitmq. - 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 di default.
- 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. Valore predefinito
random string. - JWT_ENABLED: Specifica l'abilitazione della validazione del token JSON web da parte di ONLYOFFICE Docs. Valore predefinito
true. - JWT_SECRET: Definisce la chiave segreta per validare il token JSON web nella richiesta a ONLYOFFICE Docs. Valore predefinito valore casuale.
- JWT_HEADER: Definisce l'intestazione HTTP che verrà utilizzata per inviare il token JSON web. Valore predefinito
Authorization. - JWT_IN_BODY: Specifica l'abilitazione della validazione del token nel corpo della richiesta a ONLYOFFICE Docs. Valore predefinito
false. - ALLOW_META_IP_ADDRESS: Definisce se è consentito connettere l'indirizzo IP meta o meno. Valore predefinito
false. - ALLOW_PRIVATE_IP_ADDRESS: Definisce se è consentito connettere l'indirizzo IP privato o meno. Valore predefinito
false. - WOPI_ENABLED: Specifica l'abilitazione dei gestori wopi. Valore predefinito
false. - USE_UNAUTHORIZED_STORAGE: Imposta su
truese si utilizzano certificati autofirmati per il server di archiviazione, ad esempio Nextcloud. Valore predefinitofalse. - GENERATE_FONTS: Quando
true, rigenera l'elenco dei font e le miniature dei font ecc. ad ogni avvio. Valore predefinitotrue. - METRICS_ENABLED: Specifica l'abilitazione di StatsD per ONLYOFFICE Docs. Valore predefinito
false. - METRICS_HOST: Definisce l'host di ascolto di StatsD. Valore predefinito
localhost. - METRICS_PORT: Definisce la porta di ascolto di StatsD. Valore predefinito
8125. - METRICS_PREFIX: Definisce il prefisso delle metriche StatsD per i servizi backend. Valore predefinito
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
Docker attualmente non fornisce indirizzi ipv6 ai container per impostazione predefinita. Questa funzione è attualmente sperimentale.
Per configurare l'interazione tramite ipv6, è necessario abilitare il supporto per questa funzione nel tuo Docker. Per questo, è necessario:
-
creare il file
/etc/docker/daemon.jsoncon 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 lì 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 Developer Edition
Se hai acquistato la Developer 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-de
Dopo di ciò, la tua versione di Developer Edition sarà registrata e completa di tutte le funzionalità.