LibreOfficeOnline » History » Version 2
Version 1 (Julien Aubé, 04/06/2019 11:45 AM) → Version 2/12 (Julien Aubé, 04/06/2019 12:30 PM)
h1. LibreOfficeOnline
h2. Objectifs
Si Etherpad et Ethercalc peuvent suffire à des besoins ponctuels, ils se montrent parfois insuffisant pour un groupe de travail plus important. Les services de Google (Drive, ...) sont souvent utilisé dans ce cas, mais si l'on veux s'en défaire, la solution de LibreOffice Online commence à devenir viable.
Ce document explique comment installer sur une VM une instance de NextCloud et LibreOffice Online à destination d'un petit groupe de travail.
h2. Principe
Ce projet https://github.com/smehrbrodt/nextcloud-libreoffice-online a servi de modèle.
Les choix sont les suivants:
* VM sous Debian 9. 1.5Go de RAM, 8Go de disque minimum
* Instance nexcloud pour servir de cadre
* Base de donnée sqlite
* Dans un 1er temps pas de HTTPS *(à revoir)*
* IPv6
* Utilisation de docker & de docker-compose
h2. Étapes préparatoires Etapes
Les étapes suivantes se feront en tant que root:
* Après avoir créé la VM, mettre à jour celle-ci
<pre>
# apt-get update; apt-get dist-upgrade
</pre>
* Installer docker-ce et docker-compose
<pre>
# apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
# apt-get update
# apt-get install docker-ce docker-ce-cli containerd.io docker-compose
</pre>
* Configurer docker pour activer l'IPv6
Dans @/etc/docker/daemon.json@ : (bien sur remplacer les xxxx par votre préfixe IPv6)
<pre><code class="json">
{
"ipv6": true,
"fixed-cidr-v6": "2a03:xxxx:xxxx:xxxx::1/64"
}
</code></pre>
Puis relancer le service docker :
<pre>
# systemctl reload docker
</pre>
* Ajouter l'utilisateur par défaut "debian" dans le groupe docker :
<pre>
# adduser debian docker
</pre>
h2. Instanciation des dockers
Les étapes suivantes se feront en tant qu'utilisateur , ici @debian@. Il faut que cet utilisateur appartienne au groupe @docker@.
* Créer le ficher @.env@ suivant dans @/home/debian@ :
<pre>
NEXTCLOUD_DOMAIN=<fqdn du domaine de la VM>
LO_ONLINE_USERNAME=admin
LO_ONLINE_PASSWORD=<mot de passe admin>
LO_ONLINE_EXTRA_PARAMS=--o:ssl.enable=false
</pre>
* Créer le ficher @docker-compose.yml@ suivant dans @/home/debian@ :
<pre><code class="yaml">
version: '2'
services:
app:
image: nextcloud
ports:
- 80:80
volumes:
- nextcloud:/var/www/html
restart:
always
online:
image: libreoffice/online:master
environment:
domain: ${NEXTCLOUD_DOMAIN}
username: ${LO_ONLINE_USERNAME}
password: ${LO_ONLINE_PASSWORD}
extra_params: ${LO_ONLINE_EXTRA_PARAMS}
DONT_GEN_SSL_CERT: 1
volumes:
- config-volume:/etc/loolwsd
cap_add:
- MKNOD
ports:
- "9980:9980"
restart:
unless-stopped
volumes:
config-volume:
nextcloud:
</code></pre>
* Lancer l'assemblage:
<pre>
~$ docker-compose up
</pre>
Le lancement initial est assez long.
Si tout se passe bien, l'instance nextcloud est disponible sur http://<fqdn> .
Le 1er login requiert le choix du compte administrateur et de la base de donnée (ici sqlite).
* Une fois loggué en administrateur (et près une phase d'administration basique : passage en Français, ...) , il faut installer le connecteur collabora et les group Folders :
<pre>
Menu de droite -> Applications -> Bureautique et Texte -> Collabora Online .
Menu de droite -> Applications -> Fichers -> Group Folders .
</pre>
h2. Objectifs
Si Etherpad et Ethercalc peuvent suffire à des besoins ponctuels, ils se montrent parfois insuffisant pour un groupe de travail plus important. Les services de Google (Drive, ...) sont souvent utilisé dans ce cas, mais si l'on veux s'en défaire, la solution de LibreOffice Online commence à devenir viable.
Ce document explique comment installer sur une VM une instance de NextCloud et LibreOffice Online à destination d'un petit groupe de travail.
h2. Principe
Ce projet https://github.com/smehrbrodt/nextcloud-libreoffice-online a servi de modèle.
Les choix sont les suivants:
* VM sous Debian 9. 1.5Go de RAM, 8Go de disque minimum
* Instance nexcloud pour servir de cadre
* Base de donnée sqlite
* Dans un 1er temps pas de HTTPS *(à revoir)*
* IPv6
* Utilisation de docker & de docker-compose
h2. Étapes préparatoires Etapes
Les étapes suivantes se feront en tant que root:
* Après avoir créé la VM, mettre à jour celle-ci
<pre>
# apt-get update; apt-get dist-upgrade
</pre>
* Installer docker-ce et docker-compose
<pre>
# apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
# apt-get update
# apt-get install docker-ce docker-ce-cli containerd.io docker-compose
</pre>
* Configurer docker pour activer l'IPv6
Dans @/etc/docker/daemon.json@ : (bien sur remplacer les xxxx par votre préfixe IPv6)
<pre><code class="json">
{
"ipv6": true,
"fixed-cidr-v6": "2a03:xxxx:xxxx:xxxx::1/64"
}
</code></pre>
Puis relancer le service docker :
<pre>
# systemctl reload docker
</pre>
* Ajouter l'utilisateur par défaut "debian" dans le groupe docker :
<pre>
# adduser debian docker
</pre>
h2. Instanciation des dockers
Les étapes suivantes se feront en tant qu'utilisateur , ici @debian@. Il faut que cet utilisateur appartienne au groupe @docker@.
* Créer le ficher @.env@ suivant dans @/home/debian@ :
<pre>
NEXTCLOUD_DOMAIN=<fqdn du domaine de la VM>
LO_ONLINE_USERNAME=admin
LO_ONLINE_PASSWORD=<mot de passe admin>
LO_ONLINE_EXTRA_PARAMS=--o:ssl.enable=false
</pre>
* Créer le ficher @docker-compose.yml@ suivant dans @/home/debian@ :
<pre><code class="yaml">
version: '2'
services:
app:
image: nextcloud
ports:
- 80:80
volumes:
- nextcloud:/var/www/html
restart:
always
online:
image: libreoffice/online:master
environment:
domain: ${NEXTCLOUD_DOMAIN}
username: ${LO_ONLINE_USERNAME}
password: ${LO_ONLINE_PASSWORD}
extra_params: ${LO_ONLINE_EXTRA_PARAMS}
DONT_GEN_SSL_CERT: 1
volumes:
- config-volume:/etc/loolwsd
cap_add:
- MKNOD
ports:
- "9980:9980"
restart:
unless-stopped
volumes:
config-volume:
nextcloud:
</code></pre>
* Lancer l'assemblage:
<pre>
~$ docker-compose up
</pre>
Le lancement initial est assez long.
Si tout se passe bien, l'instance nextcloud est disponible sur http://<fqdn> .
Le 1er login requiert le choix du compte administrateur et de la base de donnée (ici sqlite).
* Une fois loggué en administrateur (et près une phase d'administration basique : passage en Français, ...) , il faut installer le connecteur collabora et les group Folders :
<pre>
Menu de droite -> Applications -> Bureautique et Texte -> Collabora Online .
Menu de droite -> Applications -> Fichers -> Group Folders .
</pre>