Non classé

Déployer son propre Google Docs / Office Online… avec Nextcloud + OnlyOffice (sur un Synology)

Et si on allait plus loin dans l’utilisation de votre instance de Nextcloud (installée précédemment sur votre Synology) ?
Vous cherchiez une vraie alternative à Google Docs, ou Microsoft Office Online ?

OnlyOffice propose une solution très aboutie, gratuite, installable facilement dès lors que votre NAS Synology permet l’utilisation de machines virtuelles (liste des modèles compatibles).
Cet éditeur propose plusieurs versions de son éditeur en ligne, et nous allons utiliser l’édition Community du Document Server, gratuite, libre, offrant des fonctionnalités d’édition complètes.
Vous pouvez jeter un œil à la liste des différences selon les éditions ici.

Nous allons voir ici comment l’installer, sur un Windows Server dans un premier temps (encore quelques points à voir sur une Debian, je partage une installation fonctionnelle !).

Quelques pré-requis, donc :

  • Un Nas Synology supportant le paquet Virtual Machine Manager
  • Virtual Machine Manager installé et configuré (un coup de pouce ?)
  • Une machine virtuelle Windows Server fonctionnelle
  • Votre installation de Nextcloud
  • Un sous-domaine déclaré chez votre registrar, dédié à votre serveur de document (du type office.mondomaine.tld)
  • Un certificat SSL comportant ce sous-domaine.

Une fois connecté à votre Windows Server, rendez-vous sur https://helpcenter.onlyoffice.com/fr/server/windows/document/install-office-apps.aspx pour télécharger les pré-requis : Erlang, RabbitMQ, Redis, et PostgreSQL. Téléchargez aussi le serveur de documents « nu » : Document Server 5.3.

Installez les 4 composants dans cet ordre (vous serez amenés à installer d’autres dépendances, installez tout 😊 ). Notez bien le mot de passe choisi pour PostGre SQL.

Il faut ensuite créer la base de données PostGre, avec laquelle OnlyOffice va fonctionner.

Deux méthodes :

Via l’invite de commande

Depuis l’invite de commande Windows (Windows + R puis cmd), collez ces lignes l’une après l’autre (le mot de passe PostGre vous sera demandé à chaque fois)

cd /D "%ProgramFiles%\PostgreSQL\9.6\bin"
psql -U postgres -c "CREATE DATABASE onlyoffice;"
psql -U postgres -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
psql -U postgres -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
cmd-creation-bdd-role-groupe

Seconde méthode, par l’interface graphique :

Lancez le programme pgAdmin4.exe (dans le dossier ProgramFiles\PostgreSQL\9.6\pgAdmin 4\bin), puis suivez les étapes suivantes :

  • Faites un clic droit sur l’élément Login / Group Roles dans le menu de gauche, puis sélectionnez Créer -> Login / Group Role.
  • Dans une nouvelle fenêtre qui s’ouvre, entrez onlyoffice dans le champ Nom.
postgre-creation login-group onlyoffice
  • Basculez dans l’onglet « Définition », et entrez onlyoffice dans le champ Mot de passe.
  • Accédez à l’onglet Privilèges, et définissez la valeur « Peut se connecter ? » sur « Oui ».
postgre-configuration-bdd
  • Enregistrez le tout
  • Créez la base de données onlyoffice en choisissant onlyoffice en tant que propriétaire de la base :
    • Pour ce faire, faites un clic droit sur l’élément Bases de données dans le menu de gauche, sélectionnez « Créer -> Base de données… ». Dans la fenêtre qui s’ouvre, entrez onlyoffice dans le champ « Base de données » et sélectionnez le rôle onlyoffice, puis cliquez sur enregistrez vos modifications.

L’ensemble des pré-requis est installé, il est temps d’installer le Document Server !

Installation du Document Server

Étant donné que vous avez déjà (au moins) votre Nextcloud sur le même serveur, le serveur de document devra utiliser un autre port que les ports par défaut (80 / 443).
Il va falloir choisir un port différent, 8090 dans mon cas d’exemple. Commencez par ouvrir ce port au niveau de votre routeur, en le redirigeant vers l’IP de votre machine virtuelle. Ce port sera spécifié au début de l’installation du Document Server.

Depuis une invite de commande (Windows + R, puis cmd), rendez-vous dans le dossier contenant le fichier onlyoffice-documentserver.exe.

Lancez l’installation depuis l’invite de commande en personnalisant le port :

onlyoffice-documentserver.exe /DS_PORT=XXXX

où XXXX est le nombre du port choisi.

Vous devriez voir la fenêtre de l’installeur OnlyOffice s’ouvrir quelques instants plus tard.

Acceptez les conditions d’utilisation, et validez l’ensemble des écrans sans toucher aux paramètres (tout doit déjà être complété). À la fin du processus, vous devriez avoir une page Web s’ouvrant sur un message « Document Server is running », confirmant que votre instance est bien lancée.

Configurer votre Document Server en SSL

Nous allons maintenant basculer le service en SSL, avec nos propres certificats SSL. Vous pouvez importer des certificats créés par vos propres moyens, pour ma part, j’ai choisi d’utiliser le même certificat que pour l’ensemble des services de mon NAS Synology.
Récupérons le certificat depuis le panneau de configuration du Synology :

export-certificat

Vous devriez obtenir un zip comportant le certificat, ainsi que votre clef privée. Déposez ces deux fichiers dans un dossier de votre machine virtuelle (Le plus simple étant d’accéder aux dossiers partagés de votre Synology depuis votre machine rituelle).

Un template du fichier de configuration du Document Server en SSL existe déjà. Nous allons utiliser ce template, et le décliner avec notre propre configuration.

De retour dans notre machine virtuelle, toujours depuis votre invite de commande, entrez :

net stop DsProxySvc

Une fois votre Document Server arrêté, copiez le fichier template à l’aide de la commande :

COPY /Y "%ProgramFiles%\ONLYOFFICE\DocumentServer\nginx\conf\de-ssl.conf.tmpl" "%ProgramFiles%\ONLYOFFICE\DocumentServer\nginx\conf\ds.conf"

Puis rendez-vous dans le dossier Program Files\ONLYOFFICE\DocumentServer\nginx\conf\ et éditez le fichier ds.conf :

  • Modifiez le port du Document Server
HTTPS host
server {
listen 0.0.0.0:8090 ssl;
listen [::]:8090 ssl default_server;
  • {{SSL_CERTIFICATE_PATH}} : le chemin de votre certificat SSL
  • {{SSL_KEY_PATH}} : le chemin de votre clef privée

Sauvegardez votre fichier, puis relancez le Document Server :

net start DsProxySvc

Il ne nous reste plus qu’à connecter le Document Server à notre Nextcloud pour enfin profiter de l’édition en ligne !

Configuration d’OnlyOffice dans Nextcloud

Rendez-vous sur votre Nextcloud, et installez l’application OnlyOffice.

onlyoffice-application-nextcloud

Accédez aux paramètres de l’application (Paramètres / OnlyOffice), puis entrez l’adresse de votre Document Server, sans oublier le https ni le port ! (https://office.mondomaine.tld:8090)

Vous devriez obtenir un message de confirmation de prise en compte des paramètres. Vous pouvez maintenant choisir quels fichiers seront ouverts par OnlyOffice par défaut.

Limiter l’accès à votre Document Server

En bonus, si vous ne souhaitez pas que n’importe qui puisse utiliser votre Document Server sur son propre Nextcloud (ou autre), vous pouvez limiter les IP qui peuvent l’exploiter.

De retour dans votre machine virtuelle, stoppez le Document Server (dans l’invite de commande, net stop DsProxySvc), puis éditez le fichier default.json, que vous trouverez dans le dossier /Program Files/ONLYOFFICE/Document Server/config/.

Cherchez la ligne ipfilter, puis modifiez les lignes qui suivent comme ceci :

"ipfilter": {
 "rules": [
 {
 "address": "votre-ip-de-machine-virtuelle",
 "allowed": true
 },
 {
 "address": "*",
 "allowed": false
 }
 ],
 "useforrequest": true,
 "errorcode": 403
}

Relancez le Document Server avec un « net start DsProxySvc », et vous êtes parés à créer des documents en ligne, éditer et collaborer !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *