- Accueil
- Docs
- Installation et réglage
- Communauté
- Version sous Docker
- Installer ONLYOFFICE Docs sous Docker sur KylinOS
Installer ONLYOFFICE Docs sous Docker sur KylinOS
Introduction
Édition Communauté permet d'installer ONLYOFFICE Docs sur votre serveur local et d'intégrer les éditeurs en ligne à la plateforme de collaboration ONLYOFFICE ou à d'autres systèmes populaires.
ONLYOFFICE Docs est une suite bureautique en ligne comprenant des visionneuses et des éditeurs pour les documents texte, les feuilles de calcul et les présentations, entièrement compatible avec les formats Office Open XML : .docx, .xlsx, .pptx, et permettant la co-édition en temps réel.
Fonctionnalités
- Éditeur de documents
- Éditeur de classeurs
- Éditeur de présentations
- Visionneuses mobiles web
- Édition collaborative
- Prise en charge des idéogrammes
- 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 Communauté.
En l'utilisant avec ONLYOFFICE Workspace, vous pourrez :
- partager des fichiers ;
- gérer les droits d'accès aux documents ;
- intégrer des documents sur un site web ;
- afficher et modifier des fichiers stockés sur Drive, Box, Dropbox, OneDrive, ownCloud connectés à ONLYOFFICE.
À partir de la version 7.2, les images Docker d'ONLYOFFICE Docs ont été refactorisées pour fonctionner sur Kylin Linux Advanced Server OS édition V10. Ce guide vous explique comment installer la version Docker d'ONLYOFFICE Docs Édition Communauté sur KylinOS.
Configuration système minimale
- Processeur : double cœur 2 GHz ou supérieur
- RAM : 4 Go ou plus
- Disque dur : au moins 40 Go d'espace libre
- SWAP : au moins 4 Go, selon le système d'exploitation hôte. Plus est préférable
- Système d'exploitation : noyau Linux 3.10 pour l'architecture amd64 ou version ultérieure
- Docker : KylinOS prend en charge toutes les versions
Installer ONLYOFFICE Docs
/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 :
- Créez le fichier de configuration
/etc/docker/daemon.jsonavec le contenu suivant :{ "dns" : [ "8.8.8.8" ] } - Redémarrez le service Docker :
sudo systemctl restart docker.service
Désactiver SELinux
Désactivez SELinux dans le fichier de configuration /etc/selinux/config.
Ouvrez le fichier /etc/selinux/config dans un éditeur de texte, remplacez la ligne SELINUX=enforcing ou SELINUX=permissive par SELINUX=disabled, puis enregistrez les modifications.
Redémarrez votre serveur pour que les modifications prennent effet. Vérifiez ensuite que SELinux est bien 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
-e JWT_SECRET=my_jwt_secret.
Si vous ne souhaitez pas utiliser JWT lors de l'installation, utilisez -e JWT_ENABLED=false.
La clé --security-opt seccomp=unconfined est nécessaire pour désactiver les profils de sécurité du conteneur. Pour plus de détails, consultez cette page.
Vous pouvez également utiliser notre profil de sécurité personnalisé : kylin-seccomp7.json.
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
Où <PORT_NUMBER> est le numéro de port qui sera utilisé par ONLYOFFICE Docs.Cette commande installe ONLYOFFICE Docs et toutes ses dépendances (la liste des opérations effectuées par le script est disponible ici).
Ajouter une exception de pare-feu
Ajoutez également une exception pour le service firewalld.service :
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Une fois la configuration terminée, saisissez http://localhost dans la barre d'adresse de votre navigateur pour accéder à la page d'accueil d'ONLYOFFICE Docs, où vous trouverez des instructions supplémentaires sur la façon d'activer les exemples de documents ou d'intégrer les éditeurs en ligne dans votre application web à l'aide de l'API fournie.
Stocker des données en dehors du conteneur
Toutes les données sont stockées dans les répertoires suivants :
/var/log/onlyofficepour les journaux d'activité d'ONLYOFFICE Docs/var/www/onlyoffice/Datapour les certificats/var/lib/onlyofficepour le cache des fichiers/var/lib/postgresqlpour la base de données
Pour accéder aux données stockées en dehors du conteneur, montez des volumes en utilisant 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
En règle générale, il n'est pas nécessaire de conserver les données du conteneur, car les opérations de celui-ci ne dépendent pas de son état. La conservation des données est utile dans les cas suivants :
- 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 de services lancés en dehors du conteneur, tels que PostgreSQL, Redis, RabbitMQ.
Exécuter ONLYOFFICE Docs en 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
Le protocole SSL peut être utilisé pour sécuriser l'accès à l'application et prévenir tout accès non autorisé. Des certificats SSL émis par une autorité de certification permettent d'établir la confiance. Des certificats auto-signés offrent un niveau de fiabilité équivalent s'ils sont correctement sécurisés côté client et si des mesures supplémentaires sont prises pour vérifier l'identité de votre site. Suivez les instructions ci-dessous pour réaliser ces opérations.
Pour sécuriser l'application avec SSL, vous aurez besoin de :
- Clé privée (.key)
- Certificat SSL (.crt)
Vous devrez créer et installer les fichiers suivants :
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
Lorsque vous utilisez des certificats SSL émis par une autorité de certification (par exemple, Let's Encrypt), ces fichiers vous sont fournis par l'autorité. Si vous utilisez des certificats auto-signés, vous devez les générer vous-même.
Passer ONLYOFFICE Docs en HTTPS avec certbot
Le moyen le plus simple de passer ONLYOFFICE Docs en HTTPS est d'obtenir automatiquement un certificat SSL auprès de Let's Encrypt à l'aide de certbot.
Lancez le conteneur Docker ONLYOFFICE Docs sur les ports 80 et 443 en renseignant 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
Où :
- LETS_ENCRYPT_DOMAIN — le nom de domaine à utiliser pour le certificat.
- LETS_ENCRYPT_MAIL — l'adresse e-mail à utiliser lors de l'inscription et de la récupération.
Le certificat émis par l'autorité de certification letsencrypt.org sera généré et installé automatiquement sur votre serveur. Votre ONLYOFFICE Docs sera alors accessible à l'adresse https://yourdomain.com.
Générer des certificats auto-signés
La génération de certificats SSL auto-signés se déroule en trois étapes.
É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 à l'aide de la clé privée et du CSR :
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Vous avez ainsi généré un certificat SSL valable 365 jours.
Renforcer la sécurité de votre serveur
Cette section contient des instructions pour renforcer la sécurité de votre serveur.
Pour ce faire, générez de bons paramètres DHE :
openssl dhparam -out dhparam.pem 2048
Installer des certificats SSL
Les fichiers à installer sur le serveur ONLYOFFICE sont les quatre fichiers générés : onlyoffice.key, onlyoffice.crt et dhparam.pem. Vous n'avez pas besoin du CSR, mais conservez-en une sauvegarde sécurisée.
Par défaut, l'application ONLYOFFICE recherche les certificats SSL dans le répertoire /var/www/onlyoffice/Data/certs. Vous pouvez modifier ce chemin à l'aide des options de configuration SSL_KEY_PATH, SSL_CERTIFICATE_PATH et SSL_DHPARAM_PATH.
Le chemin /var/www/onlyoffice/Data/ correspond au répertoire de stockage des données. Créez un sous-dossier certs dans /app/onlyoffice/DocumentServer/data/, déplacez-y les fichiers, puis restreignez les droits d'accès au fichier onlyoffice.key en lecture seule pour le propriétaire :
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
Redémarrez le conteneur Docker :
sudo docker restart {{DOCUMENT_SERVER_ID}}
Votre application est désormais sécurisée.
Paramètres de configuration disponibles
docker run trop longue, vous pouvez stocker toutes les variables d'environnement dans un fichier texte brut et le transmettre à l'aide du paramètre --env-file :
sudo docker run ... --env-file /path/to/your.env onlyoffice/documentserver
Voici la liste des paramètres configurables à l'aide des variables d'environnement.
- ONLYOFFICE_HTTPS_HSTS_ENABLED : option avancée pour désactiver la configuration HSTS. S'applique uniquement en mode SSL. Valeur par défaut :
true. - ONLYOFFICE_HTTPS_HSTS_MAXAGE : option avancée pour configurer le paramètre HSTS max-age dans la configuration NGINX vHost d'ONLYOFFICE. S'applique uniquement en mode SSL. Valeur par défaut :
31536000. - SSL_CERTIFICATE_PATH : chemin du certificat SSL. Valeur par défaut :
/var/www/onlyoffice/Data/certs/tls.crt. - SSL_KEY_PATH : chemin de la clé privée du certificat SSL. Valeur par défaut :
/var/www/onlyoffice/Data/certs/tls.key. - SSL_DHPARAM_PATH : chemin du paramètre Diffie-Hellman. Valeur par défaut :
/var/www/onlyoffice/Data/certs/dhparam.pem. - SSL_VERIFY_CLIENT : active la vérification des certificats client à l'aide du fichier
CA_CERTIFICATES_PATH. Valeur par défaut :false. - DB_TYPE : type de base de données. Valeurs acceptées :
postgres,mariadbetmysql. Valeur par défaut :postgres. - DB_HOST : adresse IP ou nom d'hôte du serveur de base de données.
- DB_PORT : numéro de port d'accès à la base de données.
- DB_NAME : nom de la base de données créée au démarrage de l'image.
- DB_USER : nom du nouvel utilisateur disposant de tous les droits sur la base de données.
- DB_PWD : mot de passe du compte de base de données.
- AMQP_URI : URI AMQP pour la connexion au serveur de messagerie.
- AMQP_TYPE : type de courtier de messages. Valeurs acceptées :
rabbitmqouactivemq. Valeur par défaut :rabbitmq. - REDIS_SERVER_HOST : adresse IP ou nom d'hôte du serveur Redis.
- REDIS_SERVER_PORT : numéro de port d'accès au serveur Redis.
- NGINX_WORKER_PROCESSES : définit le nombre de processus worker NGINX.
- NGINX_WORKER_CONNECTIONS : définit le nombre maximum de connexions simultanées par processus worker NGINX.
- SECURE_LINK_SECRET : définit la clé secrète pour la directive NGINX secure_link_md5. Valeur par défaut : chaîne aléatoire.
- JWT_ENABLED : indique si la validation du jeton JSON est activée pour ONLYOFFICE Docs. Valeur par défaut :
true. - JWT_SECRET : définit la clé secrète pour la validation du jeton JSON dans les requêtes envoyées à ONLYOFFICE Docs. Valeur par défaut : valeur aléatoire.
- JWT_HEADER : définit l'en-tête HTTP utilisé pour transmettre le jeton JSON. Valeur par défaut :
Authorization. - JWT_IN_BODY : indique si la validation du jeton dans le corps de la requête est activée. Valeur par défaut :
false. - WOPI_ENABLED : indique si le gestionnaire WOPI est activé. Valeur par défaut :
false. - USE_UNAUTHORIZED_STORAGE : définissez
truesi vous utilisez des certificats auto-signés pour votre serveur de stockage (ex. Nextcloud). Valeur par défaut :false. - GENERATE_FONTS : si
true, régénère la liste et les miniatures des polices à chaque démarrage. Valeur par défaut :true. - METRICS_ENABLED : indique si StatsD est activé pour ONLYOFFICE Docs. Valeur par défaut :
false. - METRICS_HOST : définit l'hôte d'écoute StatsD. Valeur par défaut :
localhost. - METRICS_PORT : définit le port d'écoute StatsD. Valeur par défaut :
8125. - METRICS_PREFIX : définit le préfixe de métriques StatsD pour les services d'administration. Valeur par défaut :
ds.. - LETS_ENCRYPT_DOMAIN : définit le domaine pour le certificat Let's Encrypt.
- LETS_ENCRYPT_MAIL : définit l'adresse e-mail de l'administrateur du domaine pour le certificat Let's Encrypt.