Installer ONLYOFFICE Docs sous Docker sur KylinOS

Introduction

Édition Développeur permet d'installer ONLYOFFICE Docs sur votre serveur local et intégrer des éditeurs en ligne dans votre application Web.

ONLYOFFICE Docs est une suite bureautique complète comportant des visionneuses, des éditeurs de texte, classeurs et présentations complètement compatibles avec les formats Office Open XML: .docx, .xlsx, .pptx permettant l'édition collaborative en temps réel.

Fonctionnalités

  • Éditeur de documents
  • Éditeur de classeurs
  • Éditeur de présentations
  • Visionneuses mobiles web
  • Éditeurs mobiles web
  • Édition collaborative
  • Prise en charge des hiéroglyphes
  • Prise en charge des formats les plus populaires: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Consultez la liste détaillée des fonctionnalités disponibles pour ONLYOFFICE Docs Édition Développeur.

À partir de la version v7.2, on a refait des images ONLYOFFICE Docs Docker à lancer sur Kylin Linux Advanced Server OS édition V10. Ce guide vous explique comment installer la version Docker ONLYOFFICE Docs Édition Développeur sur KylinOS.

Configuration système minimale
  • Processeur:
    double cœur à 2 GHz ou plus
  • Mémoire RAM
    4 Go ou plus
  • HDD
    au moins 40 Go d'espace disponible
  • SWAP
    au moins 4 Go, mais cela dépend du système d'exploitation hôte. Plus il y en a, mieux c'est
  • Système d'exploitation
    Noyau Linux 3.10 pour l'architecture amd64 ou version ultérieure
  • Docker: KylinOS prend en charge toutes versions

Installer ONLYOFFICE Docs

Docker configure les serveurs DNS par défaut. Si votre application ONLYOFFICE Docs reste sans accès à Internet, il est recommandé de remplacer l'adresse DNS de Docker par votre serveur DNS local. Pour ce faire, passez au fichier /etc/default/docker et remplacez l'adresse IP de la ligne suivante par l'adresse IP d'un serveur DNS de votre réseau local:
docker_OPTS="--dns 8.8.8.8"

Pour les systèmes d'exploitation basés sur RPM tels que CentOS:

  1. Créez le fichier de configuration /etc/docker/daemon.json comportant ce qui suit:
    { "dns" : [ "8.8.8.8" ] }
  2. Redémarrez le service Docker:
    
    sudo systemctl restart docker.service
Désactiver SELinux.

Il faut désactiver SELinux dans le fichier config /etc/selinux/config.

Ouvrez le fichier /etc/selinux/config avec un éditeur de texte, remplacez la chaîne SELINUX=enforcing ou SELINUX=permissive par SELINUX=disabled et enregistrez les modifications.

Redémarrez votre serveur pour prendre en compte ces modifications. Assurez-vous que SELinux est désactivé:

[root@test ~]# sestatus
SELinux status:                 disabled
Installer ONLYOFFICE Docs

Exécutez la commande suivante pour installer ONLYOFFICE Docs:

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
Important À partir de la version 7.2, nous avons ajouté la génération aléatoire de la clé secrète JWT. Lorsque la clé secrète JWT n'inclut pas la variable d'environnement, cette clé sera regénérée pendant chaque redémarrage du serveur virtualisé ou physique, donc des problèmes d'intégration peuvent survenir. Pour éviter ce problème, saisissez votre valeur dans -e JWT_SECRET=my_jwt_secret.

Si vous n'allez pas utiliser JWT pendant l'installation, utilisez -e JWT_ENABLED=false.

La clé --security-opt seccomp=unconfined est nécessaire pour désactiver des profils de sécurité du conteneur. Plus de détails ici.

Vous pouvez également utiliser notre profil de sécurité personnalisé: kylin-seccomp7.json.

Par défaut, ONLYOFFICE Docs écoute les connexions entrant dans le port 80. À partir de la version 4.3, vous pouvez changer le port pour ONLYOFFICE Docs si vous souhaitez remplacer le port par défaut. On peut facilement le faire en reconfigurant le mappage de port pendant l'installation:
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
<PORT_NUMBER> est le numéro du port qui sera utilisé par ONLYOFFICE Docs.

Cela permet d'installer ONLYOFFICE Docs et toutes ses dépendances (la liste de ce qui est fait par le script est disponible ici).

Créez une exception dans le pare-feu

Il faut également ajouter une exception au service firewalld.service:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

Une fois la configuration terminée, vous pouvez saisir http://localhost dans la barre d'adresse du navigateur pour ouvrir la page d'accueil ONLYOFFICE Docs où vous trouverez des instructions détaillées sur l'activation des modèles de documents ou l'intégration des éditeurs dans votre application web en utilisant API.

Stocker des données en dehors du conteneur

Toutes les données sont stockées sous forme de répertoires individuels sur le lien suivant:

  • /var/log/onlyoffice pour l'historique d'ONLYOFFICE Docs
  • /var/www/onlyoffice/Data pour les certificats
  • /var/lib/onlyoffice pour le cache du fichier
  • /var/lib/postgresql pour la base de données
Conseil Il est donc fortement recommandé de stocker vos données en dehors des conteneurs Docker sur une machine hôte permettant de mettre à jour plus facilement ONLYOFFICE Docs dès qu'une nouvelle version est disponible sans perdre les données.

Pour obtenir l'accès aux données stockées en dehors du conteneur, il faut donc monter des volumes. Pour ce faire, indiquez l'option -v dans la commande d'exécution docker.

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
Veuillez noter qu'en cas de montage d'un volume qui n'existe pas encore, Docker le créera pour vous, mais l'accès sera limité. Il faut modifier les permissions d'accès manuellement.

Habituellement, vous n'avez pas à enregistrer des données du conteneur puisque les opérations du conteneur ne dépendent pas de son état. Il est utile d'enregistrer des données:

  • pour un accès facile aux données du conteneur telles que l'historique;
  • pour supprimer la limite de taille des données à l'intérieur du conteneur;
  • lors de l'utilisation des services lancés en dehors du conteneur tels que PostgreSQL, Redis, RabbitMQ.

Lancer ONLYOFFICE Docs à l'aide de HTTPS

sudo docker run -i -t -d -p 443:443 --security-opt seccomp=unconfined --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee

Le SSL peut être utilisé dans le but de sécuriser l'accès à l'application et prévenir tout l'accès non autorisé. Des certificats SSL émis par une autorité de certification permettent d'instaurer la confiance via l'autorité de certification. Des certificats auto-signés fournissent aussi un niveau égal de fiabilité, s'ils sont correctement sécurisés par le client et si on prend des mesures supplémentaires pour vérifier l'identité de votre site. Suivez les instructions ci-après pour réaliser ces procédures.

Pour sécuriser l'application avec SSL, il faut deux choses:

  • Clé privée (.key)
  • Certificat SSL (.crt)

Alors, il vous faut créer et installer les fichiers suivants:

/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt

Lors de l'utilisation des certificats SSL émis par une autorité de certification (par exemple, Let's Encrypt), c'est l'autorité de certification qui fournit ces fichiers. Quand vous utilisez des certificats auto-signés, vous devez générer ces fichiers vous-même.

Faire passer ONLYOFFICE Docs en HTTPS en utilisant certbot

Le moyen le plus simple de faire passer ONLYOFFICE Docs en HTTPS est d'obtenir automatiquement le Certificat SSL de Let's Encrypt en utilisant certbot.

Lancez le conteneur Docker d'ONLYOFFICE Docs sur les ports 80 et 443 et saisissez vos propres valeurs pour les variables:

sudo docker run -i -t -d -p 80:80 -p 443:443 --security-opt seccomp=unconfined --restart=always \
    -e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de

Où:

  • LETS_ENCRYPT_DOMAIN - le nom de domaine à utiliser pour le certificat.
  • LETS_ENCRYPT_MAIL - l'adresse email à utiliser lors de l'enregistrement et de la récupération.

Le certificat letsencrypt.org émis par l'autorité de certification sera généré et installé automatiquement sur votre serveur. Désormais, votre ONLYOFFICE Docs doit être disponible sur https://yourdomain.com.

Générer des certificats auto-signés

La génération des certificats SSL auto-signés se déroule en trois étapes simples.

ÉTAPE 1: Créez la clé privée du serveur

openssl genrsa -out onlyoffice.key 2048

ÉTAPE 2: Créez une demande de signature de certificat (CSR)

openssl req -new -key onlyoffice.key -out onlyoffice.csr

ÉTAPE 3: Signez le certificat en utilisant la clé privée et CSR

openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

Alors, vous avez généré un certificat SSL avec une période de validité de 365 jours.

Renforcer la sécurité de votre serveur

Dans cette section, vous trouverez les instruction pour renforcer la sécurité de votre serveur.

Pour ce faire, il faut générer de bons paramètres DHE.

openssl dhparam -out dhparam.pem 2048
Installer des Certificats SSL

Les fichiers à installer sur serveur onlyoffice sur quatre fichiers générés onlyoffice.key, onlyoffice.crt et dhparam.pem . Vous n'avez pas besoin du CSR, mais assurez-vous de faire une sauvegarde sécurisée (au cas où vous en auriez besoin).

Le chemin d'accès au certificat SSL recherché par l'application onlyoffice par défaut est /var/www/onlyoffice/Data/certs, mais il est possible de le changer en utilisant des options de configuration SSL_KEY_PATH, SSL_CERTIFICATE_PATH et SSL_DHPARAM_PATH .

Le chemin /var/www/onlyoffice/Data/ est le chemin au data store, ce qui signifie qu'il vous faut créer un dossier nommé certs dans /app/onlyoffice/DocumentServer/data/ et y déplacer des fichiers. Ensuite, modifiez la permission d'accès au fichier onlyoffice.key en le rendant lisible que par le propriétaire comme mesure de sécurité.

mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key

Réinitialisez le conteneur Docker:

sudo Docker restart {{DOCUMENT_SERVER_ID}}

Vous êtes sur le point de sécuriser notre application.

Paramètres de configuration disponibles
Veuillez vérifier des options de la commande Docker run avec l'indicateur --env-file où vous pouvez indiquer toutes les variables d'environnement dans un seul fichier. Cela vous aidera à éviter de coder une chaîne longue de la commande d'exécution Docker.

Consultez ci-dessous la liste des paramètres que vous pouvez configurer à l'aide des variables d'environnement.

  • ONLYOFFICE_HTTPS_HSTS_ENABLED: Une option de configuration avancée pour désactiver la configuration HSTS. Ne s'applique que lors de l'utilisation de SSL. La valeur par défaut est true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: Une option de configuration avancée pour réglage du paramètre HSTS max-age dans la configuration NGINX vHost d'onlyoffice. Ne s'applique que lors de l'utilisation de SSL. La valeur par défaut est 31536000.
  • SSL_CERTIFICATE_PATH: Le chemin du certificat SSL à utiliser. Par défaut, /var/www/onlyoffice/Data/certs/tls.crt.
  • SSL_KEY_PATH: Le chemin à la clé privé du certificat SSL. Par défaut, /var/www/onlyoffice/Data/certs/tls.key.
  • SSL_DHPARAM_PATH: Le chemin au paramètre Diffie-Hellman. Par défaut, /var/www/onlyoffice/Data/certs/dhparam.pem.
  • SSL_VERIFY_CLIENT: Activation de la vérification des certificats du client en utilisant CA_CERTIFICATES_PATH file. La valeur par défaut est false.
  • DB_TYPE: Le type de base de données. Les valeurs prises en charge postgres, mariadb ou mysql. La valeur par défaut est postgres.
  • DB_HOST: L'adresse IP ou le nom du hôte où le serveur est en cours d'exécution.
  • DB_PORT: Le numéro du port utilisé pour accéder à la base de données.
  • DB_NAME: Le nom de la base de données qui sera créée lors du lancement de l'image.
  • DB_USER: Le nouveau nom du utilisateur qui possède tous les droits au niveau d'une base de données.
  • DB_PWD: Le mot de passe défini sur le compte de la base de données.
  • AMQP_URI: AMQP URI permet de vous connecter au serveur de l'agent de messages.
  • AMQP_TYPE: Le type de l'agent de messages. Les valeurs prises en charge rabbitmq ou activemq. La valeur par défaut est rabbitmq.
  • REDIS_SERVER_HOST: L'adresse IP ou le nom du hôte où le serveur Redis est en cours d'exécution.
  • REDIS_SERVER_PORT: Le numéro du port utilisé pour accéder au serveur Redis.
  • NGINX_WORKER_PROCESSES: Définit le nombre de processus actifs NGINX.
  • NGINX_WORKER_CONNECTIONS: Définit le nombre maximum de connexions simultanées auxquelles peut accéder un processus NGINX.
  • SECURE_LINK_SECRET: Définit la clé secrète pour la directive de configuration nginx secure_link_md5. La valeur par défaut est chaîne aléatoire.
  • JWT_ENABLED: Indique l'activation de la validation du jeton JSON par ONLYOFFICE Docs. La valeur par défaut est true.
  • JWT_SECRET: Définit la clé secrète pour la validation du jeton JSON dans la demande à ONLYOFFICE Docs. La valeur par défaut est une valeur aléatoire.
  • JWT_HEADER: Définit l'en-tête HTTP à utiliser pour envoyer le jeton JSON. La valeur par défaut est Authentification.
  • JWT_IN_BODY: Indique l'activation de la validation du jeton dans le corps de la demande envoyée à ONLYOFFICE Docs. La valeur par défaut est faux.
  • WOPI_ENABLED: Indique si le gestionnaire wopi est activé. La valeur par défaut est false.
  • USE_UNAUTHORIZED_STORAGE: Indiquez vrai si vous utilisez des certificats auto-signés pour votre serveur de stockage, par exemple, Nextcloud. La valeur par défaut est false.
  • GENERATE_FONTS: Si vrai, régénère la liste et les miniatures des polices, etc. à chaque démarrage. La valeur par défaut est true.
  • METRICS_ENABLED: Indique l'activation de StatsD pour ONLYOFFICE Docs. La valeur par défaut est false.
  • METRICS_HOST: Définit l'hôte d'écoute StatsD. La valeur par défaut est localhost.
  • METRICS_PORT: Définit le port d'écoute StatsD. La valeur par défaut est 8125.
  • METRICS_PREFIX: Définit le préfixe métrique StatsD pour les services d'administration. La valeur par défaut est ds..
  • LETS_ENCRYPT_DOMAIN: Définit le domaine pour le certificat Let's Encrypt.
  • LETS_ENCRYPT_MAIL: Définit l'adresse email de l'administrateur du domaine pour le certificat Let's Encrypt.

Enregistrer votre version de l'édition Développeur

Si vous avez acheté l'Édition Développeur et on vous a envoyé le fichier license.lic, vous pouvez placer ce fichier dans votre installation pour obtenir une version complète du logiciel.

Lors de l'utilisation du conteneur Docker, vous pouvez placer le fichier license.lic dans n'importe quel dossier (par exemple /app/onlyoffice/DocumentServer/data/license.lic), mais il faut monter ce dossier lorsque le conteneur démarre:

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de

Maintenant, votre version de l'édition Développeur est une version complète et enregistrée.

Hébergez ONLYOFFICE Docs sur votre serveur ou utilisez dans le cloud

Articles avec le tag :
Parcourir tous les tags