- Home
- Docs
- Installazione e configurazione
- Comunità
- Versione di Docker
- Installazione di ONLYOFFICE Docs per Docker su un server locale
Installazione di ONLYOFFICE Docs per Docker su un server locale
Introduzione
Community Edition ti permette 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 office online che include 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
- Modifica collaborativa
- Supporto per ideogrammi
- Supporto per tutti i formati popolari: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML
Consulta la lista dettagliata delle funzionalità disponibili per ONLYOFFICE Docs Community 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 Community 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
/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, 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
-e JWT_SECRET=my_jwt_secret.
Se non intendi utilizzare JWT nella tua installazione, usa -e JWT_ENABLED=false.
Usa questo comando se desideri installare ONLYOFFICE Docs separatamente. Per installare ONLYOFFICE Docs integrato con ONLYOFFICE Workspace e ONLYOFFICE Mail, fai riferimento alle istruzioni corrispondenti qui sotto.
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
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).
Verifica dell'installazione
Una volta che il container è in esecuzione, apri http://localhost (o l'indirizzo IP del tuo server) in un browser. Dovrebbe apparire la pagina di benvenuto di ONLYOFFICE Docs, confermando che l'installazione è avvenuta con successo.
Se la pagina di benvenuto non appare, controlla i log del container per eventuali errori:
sudo docker logs <CONTAINER_ID>
Problemi comuni:
- La porta 80 è già in uso da un'altra applicazione. Interrompi l'applicazione in conflitto o usa una porta diversa con
-p <PORT_NUMBER>:80. - Il container continua a riavviarsi. Controlla i log per errori di connessione al database o memoria insufficiente.
- "Connessione rifiutata" nel browser. Attendi 1–2 minuti — il primo avvio richiede tempo poiché il database viene inizializzato.
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. 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/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
Normalmente, non è necessario archiviare 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
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 esegua alcuni passaggi aggiuntivi per verificare l'identità del tuo sito web. Le istruzioni su come 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 sono 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
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 dalla CA di letsencrypt.org verrà generato e installato automaticamente sul tuo server. Ora, i tuoi ONLYOFFICE Docs dovrebbero essere disponibili all'indirizzo https://yourdomain.com.
Generazione di certificati autofirmati
La generazione di certificati SSL autofirmati prevede una semplice procedura in 3 passaggi:
PASSAGGIO 1: Creare la chiave privata del server
openssl genrsa -out onlyoffice.key 2048
PASSAGGIO 2: Creare la richiesta di firma del certificato (CSR)
openssl req -new -key onlyoffice.key -out onlyoffice.csr
PASSAGGIO 3: Firmare 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 ciò, è necessario generare parametri DHE più robusti.
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 chiamata certs all'interno di /app/onlyoffice/DocumentServer/data/ e copiare i file al suo interno e, come misura di sicurezza, aggiornerai i permessi sul file onlyoffice.key per renderlo leggibile solo dal proprietario.
mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /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 riavvia 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
--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 del certificato SSL da utilizzare. Valore predefinito:
/var/www/onlyoffice/Data/certs/tls.crt. - SSL_KEY_PATH: Il percorso della chiave privata del certificato SSL. Valore predefinito:
/var/www/onlyoffice/Data/certs/tls.key. - SSL_DHPARAM_PATH: Il percorso del 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 predefinito:false. - DB_TYPE: Il tipo di database. Valori supportati:
postgres,mariadbomysql. Valore predefinito:postgres. - DB_HOST: L'indirizzo IP o il nome dell'host in cui è 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 superutente 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. Valori supportati:
rabbitmqoactivemq. Valore predefinito:rabbitmq. - REDIS_SERVER_HOST: L'indirizzo IP o il nome dell'host in cui è in esecuzione il server Redis.
- REDIS_SERVER_PORT: Il numero di porta del server Redis.
- 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 convalida del token web JSON da parte di ONLYOFFICE Docs. Valore predefinito:
true. - JWT_SECRET: Definisce la chiave segreta per convalidare il token web JSON nella richiesta a ONLYOFFICE Docs. Valore predefinito: valore casuale.
- JWT_HEADER: Definisce l'intestazione HTTP che verrà utilizzata per inviare il token web JSON. Valore predefinito:
Authorization. - JWT_IN_BODY: Specifica l'abilitazione della convalida del token nel corpo della richiesta a ONLYOFFICE Docs. 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 predefinito:false. - GENERATE_FONTS: Quando è impostato su
true, rigenera l'elenco dei font e le miniature dei font ecc. a ogni avvio. Valore predefinito:true. - METRICS_ENABLED: Specifica se StatsD è abilitato 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.
Installazione di ONLYOFFICE Docs integrato con ONLYOFFICE Workspace e ONLYOFFICE Mail
ONLYOFFICE Docs fa parte di ONLYOFFICE Workspace che comprende anche ONLYOFFICE Community Server, ONLYOFFICE Control Panel e ONLYOFFICE Mail. Nel caso tu voglia installarli tutti e integrarli tra loro, leggi queste istruzioni.
Modi alternativi per installare ONLYOFFICE Docs
In alternativa, puoi utilizzare uno script di installazione automatica per installare l'intero Workspace in una sola volta. Per far funzionare correttamente il server di posta, è necessario specificare il suo nome host yourdomain.com.
PASSAGGIO 1: Scarica il file dello script di installazione
Esegui il seguente comando:
curl -O https://download.onlyoffice.com/install/workspace-install.sh
PASSAGGIO 2: Installa Workspace
Esegui il seguente comando per farlo:
bash workspace-install.sh -md yourdomain.com
Oppure puoi utilizzare docker-compose per installare ONLYOFFICE Docs. Vedi le istruzioni qui su come farlo.
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.