Collabora Office e Nextcloud su Ubuntu 16.04

Nextcloud Office

In questa serie di articoli vi spiegherò come installare e configurare Nextcloud, oltre ad alcuni consigli utili per metterlo in sicurezza.

Questo tutorial mostrerà come installare il server online Collabora su Ubuntu 16.04 e quindi integrarlo con un server Nextcloud esistente.

Collabora online è una suite per ufficio online open source self-hostable e basata su LibreOffice.

Le sue caratteristiche includono:

  • Modifica di base
  • Alta fedeltà, rendering WYSIWYG
  • Supporta DOC, DOCX, PPT, PPTX, XLS, XLSX, formato documento ODF
  • Importa e visualizza Visio, Publisher e altri 100 o più
  • Editing condiviso



Prerequisiti

  • Ubuntu 16.04
  • Nextcloud
  • Dominio

Il server Collabora Online e il server Nextcloud possono trovarsi sullo stesso computer o su due macchine diverse. Questo tutorial mostra come installare il server online Collabora su Ubuntu 16.04 usando un’immagine Docker creata da Collabora e Nextcloud. Quindi integrarlo con un server Nextcloud esistente.

Step 1: Installa Docker su Ubuntu 16.04

E possibile installare Docker dal repository APT di Docker.

Per semplicità, questo tutorial installa Docker dal repository del software Ubuntu predefinito.

Aprire una finestra di terminale (CTRL + ALT + T) ed eseguire il seguente comando per installare Docker dal repository di Ubuntu.

sudo apt update
sudo apt install docker.io

Una volta installato, il daemon Docker dovrebbe essere avviato automaticamente.

Puoi controllare il suo stato con:

systemctl status docker

Se non è in esecuzione, avvialo con questo comando:

sudo systemctl start docker

E abilita l’avvio automatico:

sudo systemctl enable docker

Di default, Docker utilizza AUFS come driver di archiviazione su Debian e Ubuntu.

Per farlo funzionare con l’ufficio online Collabora, è necessario passare al driver di archiviazione del dispositivo mapper seguendo le istruzioni di seguito.

Crea la seguente directory.

sudo mkdir /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/DeviceMapper.conf

crea un nuovo file sotto questa directory.

Incolla il seguente testo nel file.

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --storage-driver=devicemapper -H fd://

Salva e chiudi il file.

Quindi ricarica Systemd e riavvia il daemon Docker.

sudo systemctl daemon-reload 
sudo systemctl restart docker

Ora basta usare questo comando, vedrai che il driver di archiviazione in uso è devicemapper.

sudo docker info

Output:

Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 1
Server Version: 1.13.1
Storage Driver: devicemapper
Pool Name: docker-253:1-515579-pool

Step 2: Installa ed esegui Collabora Online Server con Docker

Eseguire il comando seguente per estrarre l’ultima immagine Collabora Online Development Edition dall’hub Docker.

sudo docker pull collabora/code

Sostituisci nextcloud \. Your-domain \. Com con il dominio del server nextcloud

sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloud\.your-domain\.com' --restart always --cap-add MKNOD collabora/code

Il server online Collabora ascolterà sulla porta 9980 di localhost (127.0.0.1) può essere visto digitando questo comando:

sudo netstat -lnpt

Step 3: Set up Reverse Proxy

Il server Nextcloud richiede un certificato TLS / SSL sul server , quindi sarà necessario creare un host virtuale, fornire all’host virtuale un nome di dominio, per installare il certificato TLS / SSL e configurare un proxy inverso. Possiamo usare Apache o Nginx per raggiungere questo obiettivo.

in questa guida useremo apache2

Configurare l’host virtuale Apache

Eseguire il comando seguente per creare un file host virtuale Apache. Sostituisci il nome del dominio con il tuo nome di dominio effettivo per il server Collabora.

sudo nano /etc/apache2/sites-available/office.your-domain.com.conf

Inserisci questo testo nel file.

<VirtualHost *:80>  
ServerName office.your-domain.com 
</VirtualHost>

Salva e chiudi il file.

Abilita questo host virtuale con il seguente comando:

sudo a2ensite office.your-domain.com.conf

Quindi riavviare Apache.

sudo systemctl restart apache2

HTTPS ci aiuta a prevenire l’attacco man-in-the-middle e la codifica della password.

Possiamo ottenere un certificato TLS / SSL gratuito da Let’s Encrypt CA.

sudo apt install letsencrypt python-letsencrypt-apache
sudo letsencrypt --apache --agree-tos --email tua-email-address -d tuodominio.com

Ora invia il seguente comando per ottenere un certificato TLS / SSL gratuito.

Ti verrà chiesto di scegliere facile o sicuro. Si consiglia di scegliere la sicurezza in modo che tutte le richieste http vengano reindirizzate a https.

Una volta premuto il pulsante OK, viene ottenuto e installato un certificato TLS / SSL libero sull’host virtuale Apache.

Impostare Apache Reverse Proxy

Per essere in grado di eseguire il proxy utilizzando Apache, eseguire i seguenti comandi per abilitare tutti i moduli Apache.

sudo a2enmod proxy proxy_wstunnel proxy_http ssl

Quindi eseguire il seguente comando per modificare il nuovo file dell’host virtuale creato dal client Let’s Encrypt (certbot).

sudo nano /etc/apache2/sites-enabled/office.your-domain.com-le-ssl.conf

Aggiungi il testo a questo file in modo che assomigli al seguente.

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerName office.your-domain.com

  SSLCertificateFile /etc/letsencrypt/live/office.your-domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/office.your-domain.com/privkey.pem
  Include /etc/letsencrypt/options-ssl-apache.conf

  # Encoded slashes need to be allowed
  AllowEncodedSlashes NoDecode

  # Container uses a unique non-signed certificate
  SSLProxyEngine On
  SSLProxyVerify None
  SSLProxyCheckPeerCN Off
  SSLProxyCheckPeerName Off

  # keep the host
  ProxyPreserveHost On

  # static html, js, images, etc. served from loolwsd
  # loleaflet is the client part of LibreOffice Online
  ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
  ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet

  # WOPI discovery URL
  ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
  ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery

  # Main websocket
  ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon

  # Admin Console websocket
  ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

  # Download as, Fullscreen presentation and Image upload operations
  ProxyPass /lool https://127.0.0.1:9980/lool
  ProxyPassReverse /lool https://127.0.0.1:9980/lool

</VirtualHost>
</IfModule>

Salva e chiudi il file.

Quindi riavviare il server Web Apache.

sudo systemctl restart apache2
Condiviso tramite sito VDMweb

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

6 − 4 =