Projet

Général

Profil

LibreOfficeOnline » Historique » Version 2

Julien Aubé, 06/04/2019 12:30

1 1 Julien Aubé
h1. LibreOfficeOnline
2 1 Julien Aubé
3 1 Julien Aubé
h2. Objectifs
4 1 Julien Aubé
5 1 Julien Aubé
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.
6 1 Julien Aubé
7 1 Julien Aubé
Ce document explique comment installer sur une VM une instance de NextCloud et LibreOffice Online à destination d'un petit groupe de travail.
8 1 Julien Aubé
9 1 Julien Aubé
h2. Principe
10 1 Julien Aubé
11 1 Julien Aubé
Ce projet https://github.com/smehrbrodt/nextcloud-libreoffice-online a servi de modèle.
12 1 Julien Aubé
13 1 Julien Aubé
Les choix sont les suivants:
14 1 Julien Aubé
15 2 Julien Aubé
* VM sous Debian 9. 1.5Go de RAM, 8Go de disque minimum
16 1 Julien Aubé
* Instance nexcloud pour servir de cadre
17 1 Julien Aubé
* Base de donnée sqlite
18 1 Julien Aubé
* Dans un 1er temps pas de HTTPS *(à revoir)*
19 2 Julien Aubé
* IPv6
20 1 Julien Aubé
* Utilisation de docker & de docker-compose
21 1 Julien Aubé
22 2 Julien Aubé
h2. Étapes préparatoires
23 2 Julien Aubé
24 2 Julien Aubé
Les étapes suivantes se feront en tant que root:
25 2 Julien Aubé
26 2 Julien Aubé
* Après avoir créé la VM, mettre à jour celle-ci
27 2 Julien Aubé
28 2 Julien Aubé
<pre>
29 2 Julien Aubé
# apt-get update; apt-get dist-upgrade
30 2 Julien Aubé
</pre>
31 2 Julien Aubé
32 2 Julien Aubé
* Installer docker-ce et docker-compose
33 2 Julien Aubé
34 2 Julien Aubé
<pre>
35 2 Julien Aubé
# apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
36 2 Julien Aubé
# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
37 2 Julien Aubé
# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
38 2 Julien Aubé
# apt-get update
39 2 Julien Aubé
# apt-get install docker-ce docker-ce-cli containerd.io docker-compose
40 2 Julien Aubé
</pre>
41 2 Julien Aubé
42 2 Julien Aubé
* Configurer docker pour activer l'IPv6
43 2 Julien Aubé
44 2 Julien Aubé
Dans @/etc/docker/daemon.json@ : (bien sur remplacer les xxxx par votre préfixe IPv6)
45 2 Julien Aubé
46 2 Julien Aubé
<pre><code class="json">
47 2 Julien Aubé
{
48 2 Julien Aubé
	"ipv6": true,
49 2 Julien Aubé
	"fixed-cidr-v6": "2a03:xxxx:xxxx:xxxx::1/64"
50 2 Julien Aubé
}
51 2 Julien Aubé
</code></pre>
52 2 Julien Aubé
53 2 Julien Aubé
Puis relancer le service docker :
54 2 Julien Aubé
55 2 Julien Aubé
<pre>
56 2 Julien Aubé
# systemctl reload docker
57 2 Julien Aubé
</pre>
58 2 Julien Aubé
59 2 Julien Aubé
* Ajouter l'utilisateur par défaut "debian" dans le groupe docker :
60 2 Julien Aubé
61 2 Julien Aubé
<pre>
62 2 Julien Aubé
# adduser debian docker
63 2 Julien Aubé
</pre>
64 2 Julien Aubé
65 2 Julien Aubé
h2. Instanciation des dockers
66 2 Julien Aubé
67 2 Julien Aubé
Les étapes suivantes se feront en tant qu'utilisateur , ici @debian@. Il faut que cet utilisateur appartienne au groupe @docker@.
68 2 Julien Aubé
69 2 Julien Aubé
* Créer le ficher @.env@ suivant dans @/home/debian@ : 
70 2 Julien Aubé
71 2 Julien Aubé
<pre>
72 2 Julien Aubé
NEXTCLOUD_DOMAIN=<fqdn du domaine de la VM>
73 2 Julien Aubé
LO_ONLINE_USERNAME=admin
74 2 Julien Aubé
LO_ONLINE_PASSWORD=<mot de passe admin>
75 2 Julien Aubé
LO_ONLINE_EXTRA_PARAMS=--o:ssl.enable=false
76 2 Julien Aubé
</pre>
77 2 Julien Aubé
78 2 Julien Aubé
* Créer le ficher @docker-compose.yml@ suivant dans @/home/debian@ :
79 2 Julien Aubé
80 2 Julien Aubé
<pre><code class="yaml">
81 2 Julien Aubé
version: '2'
82 2 Julien Aubé
83 2 Julien Aubé
services:
84 2 Julien Aubé
  app:
85 2 Julien Aubé
    image: nextcloud
86 2 Julien Aubé
    ports:
87 2 Julien Aubé
      - 80:80
88 2 Julien Aubé
    volumes:
89 2 Julien Aubé
      - nextcloud:/var/www/html
90 2 Julien Aubé
    restart:
91 2 Julien Aubé
      always
92 2 Julien Aubé
  online:
93 2 Julien Aubé
    image: libreoffice/online:master
94 2 Julien Aubé
    environment:
95 2 Julien Aubé
      domain: ${NEXTCLOUD_DOMAIN}
96 2 Julien Aubé
      username: ${LO_ONLINE_USERNAME}
97 2 Julien Aubé
      password: ${LO_ONLINE_PASSWORD}
98 2 Julien Aubé
      extra_params: ${LO_ONLINE_EXTRA_PARAMS}
99 2 Julien Aubé
      DONT_GEN_SSL_CERT: 1
100 2 Julien Aubé
    volumes:
101 2 Julien Aubé
      - config-volume:/etc/loolwsd
102 2 Julien Aubé
    cap_add:
103 2 Julien Aubé
      - MKNOD
104 2 Julien Aubé
    ports:
105 2 Julien Aubé
      - "9980:9980"
106 2 Julien Aubé
    restart:
107 2 Julien Aubé
      unless-stopped
108 2 Julien Aubé
volumes:
109 2 Julien Aubé
  config-volume:
110 2 Julien Aubé
  nextcloud:
111 2 Julien Aubé
</code></pre>
112 2 Julien Aubé
113 2 Julien Aubé
* Lancer l'assemblage:
114 2 Julien Aubé
115 2 Julien Aubé
<pre>
116 2 Julien Aubé
~$ docker-compose up
117 2 Julien Aubé
</pre>
118 2 Julien Aubé
119 2 Julien Aubé
Le lancement initial est assez long. 
120 2 Julien Aubé
121 2 Julien Aubé
Si tout se passe bien, l'instance nextcloud est disponible sur http://<fqdn> . 
122 2 Julien Aubé
Le 1er login requiert le choix du compte administrateur et de la base de donnée (ici sqlite).
123 2 Julien Aubé
124 2 Julien Aubé
* 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 : 
125 2 Julien Aubé
126 2 Julien Aubé
<pre>
127 2 Julien Aubé
Menu de droite -> Applications -> Bureautique et Texte -> Collabora Online .
128 2 Julien Aubé
Menu de droite -> Applications -> Fichers -> Group Folders .
129 2 Julien Aubé
</pre>