LibreOfficeOnline » Historique » Version 6
Julien Aubé, 06/04/2019 22:02
1 | 1 | Julien Aubé | h1. LibreOfficeOnline |
---|---|---|---|
2 | 1 | Julien Aubé | |
3 | 1 | Julien Aubé | h2. Objectifs |
4 | 1 | Julien Aubé | |
5 | 3 | Julien Aubé | Si Etherpad et Ethercalc peuvent suffire à des besoins ponctuels, ils se montrent parfois insuffisant pour des groupes de travail plus important et manquent de fonctionnalités. |
6 | 3 | Julien Aubé | Les services de Google (Drive, ...) sont souvent utilisé à leur place, mais si l'on veux s'en défaire, la solution de LibreOffice Online est une alternative viable. |
7 | 1 | Julien Aubé | |
8 | 4 | Julien Aubé | Ce document explique comment installer sur une VM une instance de NextCloud et LibreOffice Online à destination d'un petit groupe - dans mon cas un groupement d'achat local bio appelé "poivron rouge". |
9 | 1 | Julien Aubé | |
10 | 1 | Julien Aubé | h2. Principe |
11 | 1 | Julien Aubé | |
12 | 1 | Julien Aubé | Ce projet https://github.com/smehrbrodt/nextcloud-libreoffice-online a servi de modèle. |
13 | 1 | Julien Aubé | |
14 | 1 | Julien Aubé | Les choix sont les suivants: |
15 | 1 | Julien Aubé | |
16 | 2 | Julien Aubé | * VM sous Debian 9. 1.5Go de RAM, 8Go de disque minimum |
17 | 4 | Julien Aubé | * Instance nexcloud pour la gestion des utilisateurs & de la présentation |
18 | 1 | Julien Aubé | * Base de donnée sqlite |
19 | 1 | Julien Aubé | * Dans un 1er temps pas de HTTPS *(à revoir)* |
20 | 3 | Julien Aubé | * IPv6 activé |
21 | 1 | Julien Aubé | * Utilisation de docker & de docker-compose |
22 | 1 | Julien Aubé | |
23 | 1 | Julien Aubé | h2. Étapes préparatoires |
24 | 2 | Julien Aubé | |
25 | 2 | Julien Aubé | Les étapes suivantes se feront en tant que root: |
26 | 2 | Julien Aubé | |
27 | 3 | Julien Aubé | * Après avoir créé la VM, mettre à jour: |
28 | 1 | Julien Aubé | |
29 | 2 | Julien Aubé | <pre> |
30 | 2 | Julien Aubé | # apt-get update; apt-get dist-upgrade |
31 | 2 | Julien Aubé | </pre> |
32 | 2 | Julien Aubé | |
33 | 3 | Julien Aubé | * Installer docker-ce et docker-compose: |
34 | 2 | Julien Aubé | |
35 | 2 | Julien Aubé | <pre> |
36 | 2 | Julien Aubé | # apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common |
37 | 2 | Julien Aubé | # curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - |
38 | 2 | Julien Aubé | # add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" |
39 | 2 | Julien Aubé | # apt-get update |
40 | 2 | Julien Aubé | # apt-get install docker-ce docker-ce-cli containerd.io docker-compose |
41 | 2 | Julien Aubé | </pre> |
42 | 2 | Julien Aubé | |
43 | 2 | Julien Aubé | * Configurer docker pour activer l'IPv6 |
44 | 2 | Julien Aubé | |
45 | 2 | Julien Aubé | Dans @/etc/docker/daemon.json@ : (bien sur remplacer les xxxx par votre préfixe IPv6) |
46 | 2 | Julien Aubé | |
47 | 2 | Julien Aubé | <pre><code class="json"> |
48 | 2 | Julien Aubé | { |
49 | 2 | Julien Aubé | "ipv6": true, |
50 | 2 | Julien Aubé | "fixed-cidr-v6": "2a03:xxxx:xxxx:xxxx::1/64" |
51 | 2 | Julien Aubé | } |
52 | 2 | Julien Aubé | </code></pre> |
53 | 2 | Julien Aubé | |
54 | 2 | Julien Aubé | Puis relancer le service docker : |
55 | 2 | Julien Aubé | |
56 | 2 | Julien Aubé | <pre> |
57 | 2 | Julien Aubé | # systemctl reload docker |
58 | 2 | Julien Aubé | </pre> |
59 | 2 | Julien Aubé | |
60 | 1 | Julien Aubé | * Ajouter l'utilisateur par défaut "debian" dans le groupe docker : |
61 | 2 | Julien Aubé | |
62 | 2 | Julien Aubé | <pre> |
63 | 2 | Julien Aubé | # adduser debian docker |
64 | 2 | Julien Aubé | </pre> |
65 | 2 | Julien Aubé | |
66 | 3 | Julien Aubé | h2. Instanciation des docks |
67 | 2 | Julien Aubé | |
68 | 2 | Julien Aubé | Les étapes suivantes se feront en tant qu'utilisateur , ici @debian@. Il faut que cet utilisateur appartienne au groupe @docker@. |
69 | 2 | Julien Aubé | |
70 | 2 | Julien Aubé | * Créer le ficher @.env@ suivant dans @/home/debian@ : |
71 | 2 | Julien Aubé | |
72 | 2 | Julien Aubé | <pre> |
73 | 5 | Julien Aubé | NEXTCLOUD_DOMAIN=FQDN du domaine de la VM |
74 | 2 | Julien Aubé | LO_ONLINE_USERNAME=admin |
75 | 5 | Julien Aubé | LO_ONLINE_PASSWORD=mot de passe admin |
76 | 2 | Julien Aubé | LO_ONLINE_EXTRA_PARAMS=--o:ssl.enable=false |
77 | 2 | Julien Aubé | </pre> |
78 | 2 | Julien Aubé | |
79 | 2 | Julien Aubé | * Créer le ficher @docker-compose.yml@ suivant dans @/home/debian@ : |
80 | 2 | Julien Aubé | |
81 | 2 | Julien Aubé | <pre><code class="yaml"> |
82 | 2 | Julien Aubé | version: '2' |
83 | 2 | Julien Aubé | |
84 | 2 | Julien Aubé | services: |
85 | 2 | Julien Aubé | app: |
86 | 2 | Julien Aubé | image: nextcloud |
87 | 2 | Julien Aubé | ports: |
88 | 2 | Julien Aubé | - 80:80 |
89 | 2 | Julien Aubé | volumes: |
90 | 2 | Julien Aubé | - nextcloud:/var/www/html |
91 | 2 | Julien Aubé | restart: |
92 | 2 | Julien Aubé | always |
93 | 2 | Julien Aubé | online: |
94 | 2 | Julien Aubé | image: libreoffice/online:master |
95 | 2 | Julien Aubé | environment: |
96 | 2 | Julien Aubé | domain: ${NEXTCLOUD_DOMAIN} |
97 | 2 | Julien Aubé | username: ${LO_ONLINE_USERNAME} |
98 | 2 | Julien Aubé | password: ${LO_ONLINE_PASSWORD} |
99 | 2 | Julien Aubé | extra_params: ${LO_ONLINE_EXTRA_PARAMS} |
100 | 2 | Julien Aubé | DONT_GEN_SSL_CERT: 1 |
101 | 2 | Julien Aubé | volumes: |
102 | 2 | Julien Aubé | - config-volume:/etc/loolwsd |
103 | 2 | Julien Aubé | cap_add: |
104 | 2 | Julien Aubé | - MKNOD |
105 | 2 | Julien Aubé | ports: |
106 | 2 | Julien Aubé | - "9980:9980" |
107 | 2 | Julien Aubé | restart: |
108 | 2 | Julien Aubé | unless-stopped |
109 | 2 | Julien Aubé | volumes: |
110 | 1 | Julien Aubé | config-volume: |
111 | 2 | Julien Aubé | nextcloud: |
112 | 1 | Julien Aubé | </code></pre> |
113 | 2 | Julien Aubé | |
114 | 2 | Julien Aubé | * Lancer l'assemblage: |
115 | 2 | Julien Aubé | |
116 | 1 | Julien Aubé | <pre> |
117 | 3 | Julien Aubé | ~$ docker-compose up -b |
118 | 2 | Julien Aubé | </pre> |
119 | 2 | Julien Aubé | |
120 | 3 | Julien Aubé | Le lancement initial est assez long. Il est possible de vérifier le déroulement des opérations avec @docker-compose logs@ . |
121 | 2 | Julien Aubé | |
122 | 6 | Julien Aubé | Si tout se passe bien, l'instance nextcloud est disponible sur http://FQDN . |
123 | 1 | Julien Aubé | Le 1er login requiert le choix du compte administrateur et de la base de donnée (ici sqlite). |
124 | 1 | Julien Aubé | |
125 | 3 | 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 : |
126 | 1 | Julien Aubé | |
127 | 1 | Julien Aubé | <pre> |
128 | 1 | Julien Aubé | Menu de droite -> Applications -> Bureautique et Texte -> Collabora Online . |
129 | 1 | Julien Aubé | Menu de droite -> Applications -> Fichers -> Group Folders . |
130 | 1 | Julien Aubé | </pre> |
131 | 3 | Julien Aubé | |
132 | 3 | Julien Aubé | * Toujours en tant qu'administrateur, il faut associer le connecteur collabora avec l'instance LibreOfficeOnline : |
133 | 3 | Julien Aubé | |
134 | 3 | Julien Aubé | <pre> |
135 | 3 | Julien Aubé | Menu de droite -> Paramètres -> Collabora en Ligne |
136 | 3 | Julien Aubé | </pre> |
137 | 3 | Julien Aubé | |
138 | 5 | Julien Aubé | Puis dans le champ @URL (et port) su serveur Collabora Online@ , inscrire @http://FQDN:9980 , et appliquer. |
139 | 3 | Julien Aubé | |
140 | 4 | Julien Aubé | Désormais il est possible de créer (ou importer) dans Nextcloud un fichier .odt, et l'ouvrir en ligne. |
141 | 3 | Julien Aubé | |
142 | 4 | Julien Aubé | La gestion des groupes & des utilisateurs se fait sur l'instance Nextcloud, l'utilisation du plugin Group Folder permet à des utilisateurs de modifier le même document y compris simultanément. |
143 | 3 | Julien Aubé | |
144 | 5 | Julien Aubé | L'URL http://FQDN:9980/loleaflet/dist/admin/admin.html permet d'obtenir quelques statistiques sur l'instance LibreOfficeOnline, néanmoins il est souhaitable de bloquer l'accès à ce port depuis internet à l'aide d'une règle de firewall. |