LibreOfficeOnline » Historique » Version 10
Julien Aubé, 29/03/2020 22:48
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 | 1 | Julien Aubé | |
7 | 7 | Julien Aubé | Les services de Google (Drive, ...) sont souvent utilisé à leur place, mais si l'on veux s'en défaire, la solution LibreOffice Online est une alternative viable. |
8 | 7 | Julien Aubé | |
9 | 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". |
10 | 1 | Julien Aubé | |
11 | 1 | Julien Aubé | h2. Principe |
12 | 1 | Julien Aubé | |
13 | 1 | Julien Aubé | Ce projet https://github.com/smehrbrodt/nextcloud-libreoffice-online a servi de modèle. |
14 | 1 | Julien Aubé | |
15 | 1 | Julien Aubé | Les choix sont les suivants: |
16 | 1 | Julien Aubé | |
17 | 1 | Julien Aubé | * VM sous Debian 9. 1.5Go de RAM, 8Go de disque minimum |
18 | 9 | Julien Aubé | * Nexcloud pour la gestion des utilisateurs & la présentation des fichiers |
19 | 1 | Julien Aubé | * Base de donnée sqlite |
20 | 7 | Julien Aubé | * HTTPS à travers LetsEncrypt (non détaillé ici - utilisation de nginx) |
21 | 3 | Julien Aubé | * IPv6 activé |
22 | 1 | Julien Aubé | * Utilisation de docker & de docker-compose |
23 | 1 | Julien Aubé | |
24 | 9 | Julien Aubé | h2. Installation de Docker |
25 | 2 | Julien Aubé | |
26 | 2 | Julien Aubé | Les étapes suivantes se feront en tant que root: |
27 | 2 | Julien Aubé | |
28 | 8 | Julien Aubé | * Après avoir créé la VM sous Debian (Buster), mettre à jour: |
29 | 1 | Julien Aubé | |
30 | 2 | Julien Aubé | <pre> |
31 | 2 | Julien Aubé | # apt-get update; apt-get dist-upgrade |
32 | 2 | Julien Aubé | </pre> |
33 | 2 | Julien Aubé | |
34 | 3 | Julien Aubé | * Installer docker-ce et docker-compose: |
35 | 2 | Julien Aubé | |
36 | 2 | Julien Aubé | <pre> |
37 | 2 | Julien Aubé | # apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common |
38 | 2 | Julien Aubé | # curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - |
39 | 2 | Julien Aubé | # add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" |
40 | 2 | Julien Aubé | # apt-get update |
41 | 2 | Julien Aubé | # apt-get install docker-ce docker-ce-cli containerd.io docker-compose |
42 | 2 | Julien Aubé | </pre> |
43 | 2 | Julien Aubé | |
44 | 2 | Julien Aubé | * Configurer docker pour activer l'IPv6 |
45 | 2 | Julien Aubé | |
46 | 2 | Julien Aubé | Dans @/etc/docker/daemon.json@ : (bien sur remplacer les xxxx par votre préfixe IPv6) |
47 | 2 | Julien Aubé | |
48 | 2 | Julien Aubé | <pre><code class="json"> |
49 | 2 | Julien Aubé | { |
50 | 2 | Julien Aubé | "ipv6": true, |
51 | 2 | Julien Aubé | "fixed-cidr-v6": "2a03:xxxx:xxxx:xxxx::1/64" |
52 | 2 | Julien Aubé | } |
53 | 2 | Julien Aubé | </code></pre> |
54 | 2 | Julien Aubé | |
55 | 2 | Julien Aubé | Puis relancer le service docker : |
56 | 2 | Julien Aubé | |
57 | 2 | Julien Aubé | <pre> |
58 | 2 | Julien Aubé | # systemctl reload docker |
59 | 2 | Julien Aubé | </pre> |
60 | 2 | Julien Aubé | |
61 | 1 | Julien Aubé | * Ajouter l'utilisateur par défaut "debian" dans le groupe docker : |
62 | 2 | Julien Aubé | |
63 | 2 | Julien Aubé | <pre> |
64 | 2 | Julien Aubé | # adduser debian docker |
65 | 2 | Julien Aubé | </pre> |
66 | 1 | Julien Aubé | |
67 | 9 | Julien Aubé | * Installer git : |
68 | 1 | Julien Aubé | |
69 | 9 | Julien Aubé | <pre> |
70 | 9 | Julien Aubé | # apt-get install git |
71 | 9 | Julien Aubé | </pre> |
72 | 9 | Julien Aubé | |
73 | 9 | Julien Aubé | |
74 | 9 | Julien Aubé | h2. Installation de nginx |
75 | 9 | Julien Aubé | |
76 | 9 | Julien Aubé | <pre> |
77 | 9 | Julien Aubé | # apt-get install nginx-light |
78 | 9 | Julien Aubé | # apt-get install certbot python3-certbot-nginx |
79 | 9 | Julien Aubé | </pre> |
80 | 9 | Julien Aubé | |
81 | 9 | Julien Aubé | La mise en place du certificat LetsEncrypt est nécessaire à ce moment, mais ne fait pas partie de la procédure. |
82 | 9 | Julien Aubé | (TODO : Insérer un tuto certbot + nginx) |
83 | 9 | Julien Aubé | |
84 | 9 | Julien Aubé | h2. Installation de Nextcloud |
85 | 9 | Julien Aubé | |
86 | 10 | Julien Aubé | Le choix a été fait d'installer nextcloud manuellement: |
87 | 10 | Julien Aubé | (TODO: Trouver ici un tuto correct pour nextcloud sous debian en HTTPS) |
88 | 9 | Julien Aubé | |
89 | 9 | Julien Aubé | |
90 | 10 | Julien Aubé | h2. Instanciation du dock "LibreOffice Online" |
91 | 9 | Julien Aubé | |
92 | 1 | Julien Aubé | Les étapes suivantes se feront en tant qu'utilisateur , ici @debian@. Il faut que cet utilisateur appartienne au groupe @docker@. |
93 | 2 | Julien Aubé | |
94 | 9 | Julien Aubé | <pre> |
95 | 9 | Julien Aubé | # git clone https://github.com/smehrbrodt/nextcloud-libreoffice-online.git |
96 | 9 | Julien Aubé | </pre> |
97 | 2 | Julien Aubé | |
98 | 9 | Julien Aubé | * Créer le ficher @.env@ suivant dans @/home/debian/nextcloud-libreoffice-online/libreoffice-online@ : |
99 | 9 | Julien Aubé | |
100 | 1 | Julien Aubé | <pre> |
101 | 10 | Julien Aubé | NEXTCLOUD_DOMAIN=@FQDN du domaine de la VM@ |
102 | 2 | Julien Aubé | LO_ONLINE_USERNAME=admin |
103 | 10 | Julien Aubé | LO_ONLINE_PASSWORD=@mot de passe admin@ |
104 | 2 | Julien Aubé | </pre> |
105 | 2 | Julien Aubé | |
106 | 9 | Julien Aubé | * Vérifier que le ficher @docker-compose.yml@ suivant dans @/home/debian/nextcloud-libreoffice-online/libreoffice-online@ : |
107 | 2 | Julien Aubé | |
108 | 2 | Julien Aubé | <pre><code class="yaml"> |
109 | 2 | Julien Aubé | version: '2' |
110 | 2 | Julien Aubé | |
111 | 2 | Julien Aubé | services: |
112 | 2 | Julien Aubé | online: |
113 | 2 | Julien Aubé | image: libreoffice/online:master |
114 | 1 | Julien Aubé | environment: |
115 | 2 | Julien Aubé | domain: ${NEXTCLOUD_DOMAIN} |
116 | 2 | Julien Aubé | username: ${LO_ONLINE_USERNAME} |
117 | 2 | Julien Aubé | password: ${LO_ONLINE_PASSWORD} |
118 | 2 | Julien Aubé | extra_params: ${LO_ONLINE_EXTRA_PARAMS} |
119 | 2 | Julien Aubé | DONT_GEN_SSL_CERT: 1 |
120 | 2 | Julien Aubé | volumes: |
121 | 2 | Julien Aubé | - config-volume:/etc/loolwsd |
122 | 2 | Julien Aubé | cap_add: |
123 | 2 | Julien Aubé | - MKNOD |
124 | 2 | Julien Aubé | ports: |
125 | 2 | Julien Aubé | - "9980:9980" |
126 | 2 | Julien Aubé | restart: |
127 | 2 | Julien Aubé | unless-stopped |
128 | 9 | Julien Aubé | |
129 | 1 | Julien Aubé | volumes: |
130 | 2 | Julien Aubé | config-volume: |
131 | 1 | Julien Aubé | </code></pre> |
132 | 2 | Julien Aubé | |
133 | 2 | Julien Aubé | * Lancer l'assemblage: |
134 | 2 | Julien Aubé | |
135 | 1 | Julien Aubé | <pre> |
136 | 3 | Julien Aubé | ~$ docker-compose up -b |
137 | 2 | Julien Aubé | </pre> |
138 | 2 | Julien Aubé | |
139 | 10 | Julien Aubé | Le lancement initial est assez long. Il est possible de vérifier le déroulement des opérations avec @docker-compose logs -f@ . |
140 | 2 | Julien Aubé | |
141 | 10 | Julien Aubé | Si tout se passe bien, l'instance nextcloud est disponible sur https://FQDN . |
142 | 10 | Julien Aubé | Le 1er login requiert le choix du compte administrateur et de la base de donnée. |
143 | 1 | Julien Aubé | |
144 | 10 | Julien Aubé | * Une fois loggué en tant qu'administrateur (et près une phase d'administration basique : passage en Français, ...) , il faut installer le connecteur collabora et les Group Folders : |
145 | 1 | Julien Aubé | |
146 | 1 | Julien Aubé | <pre> |
147 | 1 | Julien Aubé | Menu de droite -> Applications -> Bureautique et Texte -> Collabora Online . |
148 | 1 | Julien Aubé | Menu de droite -> Applications -> Fichers -> Group Folders . |
149 | 1 | Julien Aubé | </pre> |
150 | 3 | Julien Aubé | |
151 | 10 | Julien Aubé | * Toujours en tant qu'administrateur, il faut associer le connecteur collabora avec l'instance LibreOffice Online : |
152 | 3 | Julien Aubé | |
153 | 3 | Julien Aubé | <pre> |
154 | 3 | Julien Aubé | Menu de droite -> Paramètres -> Collabora en Ligne |
155 | 3 | Julien Aubé | </pre> |
156 | 3 | Julien Aubé | |
157 | 5 | Julien Aubé | Puis dans le champ @URL (et port) su serveur Collabora Online@ , inscrire @http://FQDN:9980 , et appliquer. |
158 | 3 | Julien Aubé | |
159 | 4 | Julien Aubé | Désormais il est possible de créer (ou importer) dans Nextcloud un fichier .odt, et l'ouvrir en ligne. |
160 | 3 | Julien Aubé | |
161 | 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. |
162 | 3 | Julien Aubé | |
163 | 10 | Julien Aubé | L'URL http://FQDN:9980/loleaflet/dist/admin/admin.html permet d'obtenir quelques statistiques sur l'instance LibreOffice Online, néanmoins il est souhaitable de bloquer l'accès à ce port depuis internet à l'aide d'une règle de firewall. |