15/11/2024

Autres

Installer ONLYOFFICE Docs sur Windows Server 2022 et l’intégrer à Nextcloud

I. Présentation

Dans ce tutoriel, nous allons apprendre à installer ONLYOFFICE Docs Community sur un serveur Windows Server 2022 pour l'intégrer sur une instance Nextcloud (hébergée sur un serveur Debian 11, dans cet exemple).

Grâce à l'intégration d'ONLYOFFICE Docs dans Nextcloud, il devient possible de créer des documents en ligne (document texte, présentation, feuille de calcul) à partir de l'interface Nextcloud en profitant de la richesse des éditeurs ONLYOFFICE. Le tout en gardant la maîtrise de ses données puisque tout est hébergé sur nos propres serveurs. La connexion à Nextcloud va aussi permettre d'utiliser ONLYOFFICE Editors directement depuis un poste de travail, en l'occurrence Windows 11 dans mon cas.

Pour en savoir plus sur ONLYOFFICE Docs et les nombreuses intégrations possibles, consultez le site officiel :

II. Prérequis : PostgreSQL, Erlang, RabbitMQ

Avant même de parler de l'installation d'ONLYOFFICE Docs, il convient de préparer le serveur en installant certains prérequis.

A. Installation de PostgreSQL

Nous allons commencer par installer PostgreSQL pour créer une base de données dédiée à ONLYOFFICE. Sur Windows, l'installeur est accessible sur cette page :

Cliquez sur "Download the installer" puis sur la page suivante cliquez sur le bouton de téléchargement pour Windows, au niveau de la version la plus récente.

ONLYOFFICE Docs - Installer PostgreSQL - Etape 1

Démarrez l'installation... Cliquez sur "Suivant".

ONLYOFFICE Docs - Installer PostgreSQL - Etape 2

Prenez connaissance du chemin d'installation et poursuivez. Les données seront stockées dans : C:\Program Files\PostgreSQL\15\data.

ONLYOFFICE Docs - Installer PostgreSQL - Etape 3

Ici, je vous recommande d'installer à minima "PostgreSQL Server" et "Command Line Tools". Le Stack Builder n'est pas indispensable et le pgAdmin 4 est utile pour avoir une console d'administration de PostgreSQL en mode graphique.

ONLYOFFICE Docs - Installer PostgreSQL - Etape 4

À l'étape suivante, définissez un mot de passe robuste pour le compte "postgre" principal de PostgreSQL.

ONLYOFFICE Docs - Installer PostgreSQL - Etape 5

En ce qui concerne le port d'écoute, vérifiez que c'est bien "5432" qui soit indiqué (et non 5433). N'utilisez pas un port différent, car si vous mettez autre chose, j'ai constaté que c'était source de problème avec ONLYOFFICE.

ONLYOFFICE Docs - Installer PostgreSQL - Etape 6

Choisissez la locale "French, France" et poursuivez.

ONLYOFFICE Docs - Installer PostgreSQL - Etape 7

Patientez pendant l'installation...

ONLYOFFICE Docs - Installer PostgreSQL - Etape 8

Cliquez sur "Terminer".

ONLYOFFICE Docs - Installer PostgreSQL - Etape 9

Voilà, PostgreSQL est en place ! Maintenant, nous allons créer une base de données pour ONLYOFFICE.

Ouvrez une console PowerShell et accédez au répertoire de PostgreSQL qui contient les binaires :

cd "C:\Program Files\PostgreSQL\15\bin"

Ici, on va établir une connexion à l'instance PostgreSQL en utilisant le compte "postgres" :

.\psql.exe -U postgres -p 5432

Ensuite, on va créer un nouvel utilisateur nommé "useroo" avec le mot de passe "OoOo8563" (que vous devez personnaliser !) :

CREATE USER useroo WITH PASSWORD 'OoOo8563';

Puis, créer une base de données nommée "dboo" avec cet utilisateur comme propriétaire (il aura les droits dessus) :

CREATE DATABASE dboo OWNER useroo;

Une fois que c'est fait, on peut quitter ce prompt puisque la base de données est prête. Elle doit être visible avec PgAdmin, si vous souhaitez vérifier. Sinon, en ligne de commande pour lister les bases de données PostgreSQL (une fois connecté via psql.exe) :

\l

B. Installation d'Erlang

La seconde étape de préparation du serveur consiste à installer Erlang, pour prendre en compte ce langage de programmation sur notre serveur. À partir du site officiel, cliquez sur "Download Windows Installer".

ONLYOFFICE Docs - Installer Erlang - Etape 1

Exécutez l'installeur... Au moment de choisir les composants à installer, ne cochez pas "Microsoft DLL's" si c'est précisé "present" comme sur l'image ci-dessous.

ONLYOFFICE Docs - Installer Erlang - Etape 2

Poursuivez afin de réaliser l'installation.

ONLYOFFICE Docs - Installer Erlang - Etape 3

C. Installation de RabbitMQ

Troisième composant à installer sur notre serveur Windows Server : RabbitMQ. Il est développé en Erlang (d'où l'installation précédente) et il s'agit d'un message broker utile au fonctionnement d'ONLYOFFICE Docs. Téléchargez la dernière version stable de RabbitMQ depuis le GitHub officiel (sous Assets) :

Effectuez l'installation à partir de l'assistant. Installez "RabbitMQ Server" et "RabbitMQ Service" pour avoir un service sur Windows.

Installer RabbitMQ sur Windows Server - Etape 1

Poursuivez... Jusqu'à la fin de l'installation, et cliquez sur "Finish".

Installer RabbitMQ sur Windows Server - Etape 2

Le serveur RabbitMQ est installé dans "C:\Program Files\RabbitMQ Server". À partir d'une console PowerShell, il faut que l'on se positionne dans le répertoire qui contient les scripts de configuration :

cd "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.9.29\sbin"

Ici, on va pouvoir créer un nouvel utilisateur :

.\rabbitmqctl.bat add_user 'useroo' 'IT-Connect-2023'

Si comme moi vous obtenez l'erreur suivante : "Error: unable to perform an operation on node 'rabbit@SRV-APPS'. Please see diagnostics information and suggestions below', il y a une manipulation à effectuer (voir cette page).

ONLYOFFICE Docs - Installer RabbitMQ - Etape 3

Vous devez copier le fichier "C:\Windows\system32\config\systemprofile\.erlang.cookie" vers votre profil utilisateur, à savoir "C:\Users\%USERNAME%\.erlang.cookie". Ensuite, relancez la commande précédente et cela fonctionnera.

ONLYOFFICE Docs - Installer RabbitMQ - Etape 4

On donne des permissions à notre utilisateur sur le VirtualHost de base de RabbitMQ :

.\rabbitmqctl set_permissions -p "/" "useroo" ".*" ".*" ".*"

Puis, on supprime le compte guest :

.\rabbitmqctl delete_user guest

Enfin, on liste les utilisateurs et seul "useroo" doit apparaître :

.\rabbitmqctl list_users

ONLYOFFICE Docs - Installer RabbitMQ - Etape 5

Facultatif - Pour ceux qui voudraient aller plus loin, sachez qu'il existe une Management Console pour RabbitMQ mais qu'il faut activer le plugin.

Définir la variable d'environnement ERLANG_HOME :

$env:ERLANG_HOME = "$env:ProgramFiles\Erlang OTP\erts-13.2"

Activer le plugin RabbitMQ Management :

PS C:\Program Files\RabbitMQ Server\rabbitmq_server-3.9.29\sbin> .\rabbitmq-plugins.bat enable rabbitmq_management

Redémarrer le service RabbitMQ :

Restart-Service RabbitMQ

III. Installation d'ONLYOFFICE DocumentServer sur Windows

Voilà, nous venons d'installer tous les prérequis nécessaires à la mise en place du serveur ONLYOFFICE DocumentServer. Désormais, il faut télécharger ONLYOFFICE Docs depuis le site officiel. Voici deux liens utiles :

À partir du deuxième lien ci-dessus, téléchargez l'installeur pour Windows qui fait près de 600 Mo.

Une fois qu'il est téléchargé, démarrez l'installation.

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 1

Prenez connaissance du répertoire d'installation d'ONLYOFFICE DocumentServer. Poursuivez.

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 2

Effectuez une installation complète, ce qui va inclure Certbot (utile pour passer le service en HTTPS par la suite, via Let's Encrypt).

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 3

Poursuivez.

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 4

Les informations de connexion à PostgreSQL doivent être précisées. Ici, on réutilise les informations de connexion à notre base de données PostgreSQL "dboo" : souvenez-vous des informations définies précédemment.

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 5

Dans le même esprit, on va préciser les informations de connexion à notre serveur RabbitMQ. Là encore, on réutilise l'identifiant et le mot de passe défini à la création.

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 6

Poursuivez... L'installation va être effectuée.

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 7

L'assistant nous informe que JWT est actif par défaut et qu'un secret a été généré. Nous pourrons le récupérer dans le fichier "local.json" situé dans le répertoire d'installation d'ONLYOFFICE DocumentServer. Il sera utile pour configurer Nextcloud par la suite.

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 8

Pour finaliser l'installation, redémarrez le serveur Windows Server.

ONLYOFFICE Docs - Installation sous Windows Server 2022 - Etape 9

Une fois que le serveur est redémarré, patientez une ou deux minutes (les services démarrent en différé) et ouvrez un navigateur. Accédez à cette adresse :

http://localhost
# ou
http://ip-du-serveur
# ou
http://nom-DNS-du-serveur

Vous devriez obtenir cette page :

ONLYOFFICE Docs sur Windows Server

C'est un bon début. Autre test à effectuer, l'accès à la page Health Check qui doit renvoyer "true" comme ci-dessous.

http://localhost/healthcheck

ONLYOFFICE Docs - Health Check

Le serveur ONLYOFFICE est en place, mais nous devons l'interfacer avec une autre solution pour permettre la création de documents.

Il y a seulement la possibilité d'activer un serveur de test en amont de l'intégration, via cette commande :

net start DsExampleSvc

Puis, à partir du navigateur on peut accéder à cet environnement qui ne doit pas être utilisé en production :

http://localhost/example/

Maintenant que c'est bon, parlons de l'intégration avec Nextcloud (mais la base de l'installation reste la même pour une autre intégration).

Si vous ne parvenez pas à accéder aux différentes pages évoquées ci-dessus, regardez dans ces fichiers de logs :

C:\Program Files\ONLYOFFICE\DocumentServer\nginx\logs\nginx.error.log
C:\Program Files\ONLYOFFICE\DocumentServer\Log\docservice\out.log

IV. Intégrer ONLYOFFICE Docs à Nextcloud

Dans ce tutoriel, nous partons du principe que le serveur Nextcloud est déjà en ligne. Utilisez le lien ci-dessous si vous avez besoin de procéder à son installation.

Nous devons activer l'application ONLYOFFICE. Cliquez sur votre avatar en haut à droite, puis sur "Applications". Dans la section "Bureautique & texte", vous pouvez trouver l'application ONLYOFFICE. Cliquez dessus puis sur "Télécharger et activer".

Ajouter app ONLYOFFICE dans Nextcloud

Avant de pouvoir connecter les deux applications, il va falloir ajuster la configuration pour utiliser les jetons JWT (JSON).

  • Sur le serveur ONLYOFFICE

Ouvrez le fichier suivant :

C:\Program Files\ONLYOFFICE\DocumentServer\config\local.json

Modifiez son contenu de façon à remplacer la valeur "Authorization" par "AuthorizationJwt" sur ces deux lignes :

ONLYOFFICE Docs - Autorisation JWT

Après avoir fait ça, redémarrez les services ONLYOFFICE via la console "Services" de Windows.

  • Configurer Nextcloud

Le fichier de configuration de Nextcloud doit être édité. Sur mon serveur Nextcloud, il se situe à cet emplacement :

/var/www/html/nextcloud/config/config.php

Dans ce fichier il faut ajouter ces lignes pour autoriser les connexions via JWT avec notre serveur ONLYOFFICE :

'allow_local_remote_servers' => true,
'onlyoffice' => array (
    'verify_peer_off' => true,
    'jwt_header' => "AuthorizationJwt"
)

Comme ceci :

Nextcloud - Paramètres pour ONLYOFFICE Docs

Enregistrez et fermez ce fichier.

  • Configurer l'application sur Nextcloud

Une fois que c'est fait, accédez aux "Paramètres d'administration" de Nextcloud. Dans le menu latéral, une entrée nommée "ONLYOFFICE" doit s'y trouver.

Il va falloir définir l'adresse du serveur ONLYOFFICE Docs (avec le nom DNS de préférence, sinon avec l'adresse IP) et la clé secrète. L'adresse du serveur, vous la connaissez déjà et la clé secrète doit être récupérée sur le serveur ONLYOFFICE à cet emplacement :

C:\Program Files\ONLYOFFICE\DocumentServer\config\local.json

Renseignez ces informations sur l'interface Nextcloud et cliquez sur "Enregistrer".

Nextcloud - Configurer ONLYOFFICE

Si la connexion est effectuée avec succès, une interface avec un ensemble de paramètres est proposée. L'intégration d'ONLYOFFICE à Nextcloud est réussie !

Nextcloud - Options ONLYOFFICE

À partir de là, si vous créez un nouveau document sur Nextcloud, vous avez des choix supplémentaires :

  • Nouveau document
  • Nouvelle feuille de calcul
  • Nouvelle présentation

Si l'on crée un document, l'éditeur ONLYOFFICE s'affiche dans Nextcloud et on peut rédiger notre document en profitant de la puissance de cet éditeur ! Le fichier sera stocké sur notre instance Nextcloud.

Si l'on écrit du texte sur ce fichier, on pourra retrouver ce même contenu si l'on édite le document depuis un autre poste.

Document DOCX dans Nextcloud

V. Installation d'ONLYOFFICE Desktop Editors

Sur un poste de travail (Windows 11 ou autre), vous pouvez installer l'application ONLYOFFICE Desktop Editors qui va permettre de profiter des éditeurs ONLYOFFICE depuis le bureau en se connectant à Nextcloud (ou une autre intégration).

Laissez-vous guider par l'assistant...

Installation ONLYOFFICE Desktop Editors - Etape 1

Prenez connaissance du chemin d'installation.

Installation ONLYOFFICE Desktop Editors - Etape 2

Lorsque l'application se lance, cliquez sur "Connecter à Cloud".

Installation ONLYOFFICE Desktop Editors - Etape 4

Choisissez "Nextcloud" et indiquez l'adresse de votre serveur Nextcloud avant de cliquer sur "Se connecter". Par exemple :

http://192.168.99.11/nextcloud

Connecter ONLYOFFICE Editors à Nextcloud

Depuis Windows 11, je peux créer et éditer des documents avec les éditeurs ONLYOFFICE, en allant chercher les données sur le serveur Nextcloud.

ONLYOFFICE Editors connecté à Nextcloud - Exemple

VI. Conclusion

Ce tutoriel touche à sa fin ! La mise en place combinée d'ONLYOFFICE Docs et de Nextcloud permet d'avoir une solution moderne pour faire de la bureautique en ligne, tout en centralisant et maîtrisant ses données, et sans utiliser un Cloud public. Une alternative très intéressante, d'autant plus qu'ONLYOFFICE supporte de nombreuses intégrations. Vous pouvez aussi installer les deux outils sur le même serveur, et utiliser uniquement des serveurs Linux ou Windows Server.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

5 commentaires sur “Installer ONLYOFFICE Docs sur Windows Server 2022 et l’intégrer à Nextcloud

  • Encore merci Florian pour ce tuto bien détaillé comme à votre habitude !

    Répondre
  • J’utiliser nextcloud en https comment faire passer online office en https ? merci de l’aide

    Répondre
  • Bjr,
    127.0.0.1/welcome fonctionne bien
    Mais :
    127.0.0.1/healthcheck me renvoie un 502 Bad Gateway Nginx

    J’ai regardé mais à part me dire que la connexion a été refusé, je ne vois pas trop. Nginx écouterait t’il sur un mauvais port ? J’ai pourtant suivi le tuto complet sans erreur.

    Merci pour l’aide.

    Greg.

    Répondre
  • Bjr,
    Nouveau problème, quand j’ajoute les lignes dans le config.php de nextcloud (‘alow_local_remote_servers’ => true, etc.), j’ai le message suivant à l’appel de Nexcloud dans un navigateur :

    Internal Server Error

    The server encountered an internal error and was unable to complete your request.
    Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
    More details can be found in the webserver log.

    Dès que je supprime ces lignes de codes, tout refonctionne correctement.

    Est-ce que quelqu’un a une idée ?

    Merci,

    Greg.

    Répondre
    • En regardant les logs, j’ai dans les logs de Nextcloud ce message :
      {« reqId »: »yMJiZPqrasFtR4rbOI11″, »level »:2, »time »: »2023-12-15T13:48:17+00:00″, »remoteAddr »: »127.0.0.1″, »user »: »–« , »app »: »no app in context », »method »: »GET », »url »: »/ », »message »: »Host 127.0.0.1 was not connected to because it violates local access rules », »userAgent »: »Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0″, »version »: » », »data »:[]}

      Répondre

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.