Tutoriels | Installation

Documentation – Tutoriels installation | Cloud Juris-Tyr©


Nextcloud | InvoiceNinja | Dolibarr | CollaboraOnline | OnlyOffice | Serveur de mail Postfix – Dovecot | SignaturePDF | Firefly-IIII & module import des relevés bancaires | WordPress | Jitsi MeetLibreChat | Web Whisper + | Ollama Open UI | SecureAi Tools | AFFiNE


L’objectif est d’installer une solution logicielle similaire à celle de « Juris-Tyr » mais avec le nom, le logo et le nom de domaine de votre entreprise ou de votre cabinet d’avocats…

Concrètement, il s’agit d’installer un ensemble de logiciels open source accessibles via des ‘sites internet’ hébergés sur un serveur informatique dont vous avez la maîtrise.

Ces logiciels sont tous open source, ils sont « gratuits » et ils peuvent être modifiés pour répondre aux besoins spécifiques de votre entreprise ou cabinet d’avocat(s) le cas échéant. Cependant, il est important de noter que la mise en place et la configuration de ces logiciels peuvent nécessiter du temps et des compétences techniques (…compétences que vous pouvez acquérir en suivant nos tutoriels d’installation détaillés). Ainsi, il est possible que vous deviez recourir à un prestataire de services informatiques pour les installer sur un serveur et les utiliser efficacement.


Vous pouvez choisir entre une installation simplifiée et suivre nos tutoriels d’installation détaillés.

L’installation simplifiée dure environ 45 minutes et permet d’installer sur un serveur / VPS de la société OVH Cloud la majorité des logiciels (tous les logiciels à l’exception des logiciels de comptabilité ‘Dolibarr’ et ‘Firefly III’, du logiciel de gestion de projet AFFiNE, et du webmail ‘Roundcube’.

Le suivi des tutoriels d’installation détaillés vous permettra d’appendre comment installer et gérer un serveur informatique, vous occuper de sa maintenance et des mises à jour et de sélectionner les logiciels open source dont vous avez besoin, sur un serveur / VPS, ou sur un serveur informatique situé dans vos locaux.


Vous accèderez à ces logiciels en tapant les adresses suivantes dans la barre d’adresse de votre navigateur :
(remplacer exemple.com par le nom de domaine de votre entreprise ou de votre cabinet d’avocats)

  • cloud.exemple.com (pour accéder à Nextcloud, l’application de gestion de fichiers et de collaboration avec vos collaborateurs et clients)
  • facturation.exemple.com (pour accéder à l’application de facturation Invoiceninja afin d’envoyer des factures et des propositions de devis à vos clients)
  • comptabilite.exemple.com (pour accéder à l’application de comptabilité / ERP Dolibarr afin de gérer la comptabilité de votre entreprise)
  • onlyoffice.exemple.com (pour accéder à la suite bureautique en ligne Onlyoffice afin de créer et d’éditer des documents Office Word, Excel…)
  • visio.exemple.com (pour accéder à Jitsi Meet afin d’organiser des visioconférences avec vos clients ou vos partenaires)
  • pdf.exemple.com (pour accéder à SignaturePDF afin d’annoter et modifier des fichiers PDF de manière confidentielle)
  • exemple.com/wp-login (pour accéder à WordPress afin de créer et d’éditer votre site internet ‘exemple.com’ à destination de vos clients)
  • postfixadmin.exemple.com ou mail.exemple.com (pour créer/supprimer des comptes e-mail liés au nom de domaine : co*****@ex*****.com , jo*******@ex*****.com …etc.)
  • ai.exemple.com (pour accéder à ‘Ollama Web UI’, un logiciel d’intelligence artificielle basé sur les modèles de langages open source ou sur GPT4)
  • vocal.exemple.com (pour utiliser la reconnaissance vocale Whisper de la société OpenAI – avec le traitement et sauvegarde des données sur votre serveur)


Les sociétés américaines telles que Google et Microsoft proposent des services et applications en ligne similaires à celles présentes sur la plateforme Juris-Tyr à travers Google Workspace ou Microsoft Office 360 par exemple, ou ‘Notion’. Cependant ces services ne sont pas réellement ‘gratuits’. En effet, le prix à payer est parfois un abonnement mensuel par utilisateur pour avoir une capacité de stockage décente et en tout état de cause vos données et celles de vos clients peuvent être exploitées par ces sociétés et souvent enregistrées sur des serveurs situés à l’étranger. Il est toujours désagréable de recevoir des publicités ciblées sur votre smartphone en fonction du thème d’un dossier confidentiel que vous avez traité pour un client…

Or le fait de gérer ‘en interne’, sur votre propre serveur cloud, ces services et applications vous permet de retrouver une certaine maîtrise de vos données tout en économisant par rapport aux prix de leurs abonnements aux différents services en ligne qui sont souvent fixés selon le nombre d’utilisateurs.

En effet, avec une solution logicielle telle que celle proposée par Juris-Tyr, et l’installation de ces applications sur un serveur qui vous appartient, le coût mensuel ou annuel est identique quel que soit le nombre d’utilisateurs de votre plateforme.


Tutoriels d’installation détaillés

Avec ces tutoriels, vous allez apprendre comment installer sur un serveur, plusieurs logiciels collaboratifs et de gestion utilisés sur la plateforme Juris-tyr, tel que par exemple Nextcloud, ainsi que d’autres applications en ligne ‘auto-hébergées’ (InvoiceNinjaOnlyOffice…) que vous pourrez personnaliser selon le fonctionnement de votre entreprise.

Ce tutoriel /didacticiel est complet et il peut sembler un peu complexe… car il détaille toutes les étapes nécessaires en expliquant sommairement ce que vous faites, pour que vous puissiez comprendre comment fonctionne un serveur sur lequel sont installées des applications en ligne et le cas échéant intervenir vous-même en cas de ‘problème’ (…Souvent ‘intervenir’ en informatique consiste, soit à supprimer le logiciel défaillant avec la commande ‘sudo apt purge [nom du logiciel]’, puis le réinstaller avec la commande ‘sudo apt install [nom du logiciel ]’ , ou à supprimer le répertoire / dossier concerné avec la commande ‘sudo rm -R /var/www/html/[nom-du-dossier]’ puis enfin à reprendre, étape par étape, les explications de ce tutoriel, soit à redémarrer, l’ordinateur serveur, …soit à tout simplement réinstaller la sauvegarde de la veille du serveur ou du VPS …(ie. via le service optionnel de sauvegardes automatiques du VPS de la société OVHCloud).

Ces différentes applications en ligne, mises ensemble, peuvent remplacer un logiciel de gestion pour une entreprise ou société de services ou pour un cabinet d’avocats pour leurs fonctionnalités principales. Elle facilitent le télétravail en étant accessibles depuis n’importe quel ordinateur avec un navigateur et ayant un accès à internet.


L’installation nécessite de disposer :

  • soit d’un serveur dédié/privé de type ‘VPS’ (serveur privé virtuel), souscrit par exemple via un abonnement mensuel auprès d’OVHCloud, Hostsinger, Nuxit, …etc., (choix 1) ;
  • soit d’avoir chez soi ou à son cabinet, un ordinateur qui sera utilisé comme un ordinateur – serveur et fonctionnant sous le système d’exploitation ‘Linux – Ubuntu’ ou ‘Linux – Debian’. Dans ce cas, aucun abonnement n’est nécessaire mais il convient de faire attention à bien effectuer en lieu sûr des sauvegardes régulières du serveur, de prendre en compte les risques d’incendie au sein de locaux, les risques de mauvaises manipulations et d’absence de sauvegarde, les risques de panne, les risques de cambriolage…etc. (choix 2).

Bref, vous aurez compris notre message, peu subtil… Nous recommandons, en pratique, de souscrire à un abonnement à un serveur privé / dédié ‘VPS’ auprès d’un prestataire tel que OVHCloud, Hostsinger, MagicOnline, Nuxit…etc. plutôt que de procéder à une installation sur un ordinateur serveur installé dans vos locaux ou à votre domicile.

Par contre, le choix d’un ordinateur serveur installé au sein de vos locaux peut se justifier si vos besoins de stockage sont plus importants que ceux offerts par le prestataire d’un VPS (plus de 200 Go), ou en raison du tarif de l’abonnement au VPS, et/ou si vous disposez d’une connexion et de matériels performants dans vos locaux (la fibre pour la connexion à internet, un ordinateur serveur performant et récent). Dans ce cas, l’assistance d’un prestataire informatique peut également permettre de mieux sécuriser ce type d’installation… (par des systèmes de sauvegardes de sécurité dans un lieu extérieur de vos locaux, onduleur, routeur additionnel au modem, connexion de secours…etc.)

Positionnez vous confortablement dans votre fauteuil devant votre ordinateur, avec un café ou votre thé vert favori et commencez la lecture de ce tutoriel…


Installation de Nextcloud sur un serveur local ou un serveur VPS
avec d’autres applications open source

L’installation implique de suivre plusieurs tutoriels, eux-mêmes décomposés en différentes étapes.

  • Une fois que vous avez accompli les tutoriels 1, 2 et 3, vous pouvez choisir d’installer, ou non, dans l’ordre, ou dans le désordre, les logiciels en ligne open source des tutoriels suivants.
  • Certains des tutoriels indiquent la mention : (facultatif), cela signifie qu’il n’est pas indispensable de les lire ou de les suivre si vous n’êtes pas concerné, ou si vous ne voulez pas installer le logiciel open source concernée. Il peut s’agir également de conseils de dépannage ou de vérifications que tout fonctionne bien sur votre serveur ou VPS…
Sommaire :

-> Se rendre au sommaire
-> Poster un commentaire


L’installation vous semble un peu trop complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez un peu de temps et vous souhaitez apprendre comment installer un serveur ?

Let’s go!


Tutoriel 1 : Souscrire à un abonnement à serveur dédié / VPS, ou configurer son ordinateur-serveur

-> Se rendre au sommaire
-> Poster un commentaire


Etape 1 : Avoir un serveur.

Pour installer les mêmes logiciels et applications en ligne utilisés sur la plateforme Juris-Tyr, vous devez avoir un ‘serveur’.

A cette fin, vous pouvez ;


Choix n°1 – installer/souscrire à un abonnement à un serveur dédié / VPS (recommandé) :

Vous pouvez faire le choix de souscrire à un abonnement à un serveur dédié ou ‘VPS’ auprès d’OVH par exemple.

Il s’agit du choix que nous recommandons.

Cette solution avec un abonnement mensuel à régler à un prestataire pour l’accès à un serveur dédié (VPS) (OVH, Nuxit, Hostsinger …etc.) est certes plus coûteuse à moyen ou long terme qu’utiliser son propre ordinateur serveur mais cela présente l’avantage de la sécurisation de vos données en cas d’événement grave survenant dans les locaux du cabinet du domicile ou de l’étude (incendie, d’inondation, cambriolage…etc.) et d’une mise à jour régulière de l’offre et du matériel VPS mis à disposition par le prestataire.

L’incendie du datacenter de la société OVHcloud il y a quelques années a été un événement exceptionnel dont on peut d’ailleurs regretter que ladite société n’ait pas pris à l’époque les mesures de sécurité nécessaires et pourtant évidentes pour éviter que les sauvegardes soient réalisées au même endroit que les serveurs…

Cependant, d’une part cet événement est exceptionnel et d’autre part OVH semble avoir pris les mesures pour limiter que ce type de dommage ne se reproduise à l’avenir tout en gardant des prix relativement intéressants

C’est la raison pour laquelle, malgré cet événement, nous préconisons une solution d’installation sur un serveur privé virtuel / VPS que ce soit via la société OVHCloud ou via d’autres prestataires similaires pour des questions de sécurité, de performance du système, de mise à jour régulières du matériel / serveur et in fine, de tranquillité d’esprit…

Si vous recherchez un serveur privé virtuel (VPS), nous vous recommandons ceux d’OVH dont le montant des abonnements est raisonnable et avec des serveurs situés en France, ce qui est une obligation pour les cabinets d’avocats français ou pour d’autres professions réglementés (le secteur médical par exemple).

Il existe toutefois d’autres prestataires avec des offres tout aussi recommandables…


Etape 1 : Souscrire à un abonnement et installer un serveur virtuel privé / VPS sur OVHCloud ou auprès d’un autre prestataire (Nuxit, Hostsinger…):

Cliquez sur le lien suivant, pour souscrire à un abonnement à un VPS auprès du prestataire OVHCloud :

https://www.ovhcloud.com/fr/vps/

Et / Ou consultez ce didacticiel pour comprendre comment acheter et utiliser un VPS :

https://www.malekal.com/quest-ce-quun-vps-et-comment-installer-debuter-et-se-servir-de-son-vps-ovh/

Concernant les offres d’abonnement de la société OVHcloud, l’offre « Starter » à 3,50 € HT par mois permet de faire des tests et d’intaller les logiciels et applications. Cette offre permet d’installer les applications de la plateforme Juris-Tyr et de la tester. Toutefois pour une utilisation quotidienne, le VPS avec cette offre, risque de manquer de réactivité, notamment s’il y a plusieurs utilisateurs connectés en même temps.

Ainsi, sauf pour une installation de test, si vous souhaitez une utilisation plus ‘confortable’ (rapide) de la plateforme, nous vous recommandons de privilégier la souscription à une offre d’abonnement « Essential » à 11,50€ HT par mois ou « Comfort » à 21,62 € HT par mois.

Lors de votre souscription à un VPS, vous devez choisir l’installation du système d’exploitation ‘Ubuntu 22.04’.

L’abonnement à OVHCloud peut être résilié selon le respect d’un préavis d’un mois (hors engagement annuel).
Il convient de cocher la case ‘sans engagement’ le cas échéant.

Nous vous recommandons également de souscrire à l’option de sauvegarde automatique du serveur du Prestataire (OVHCloud ou autres).

Une fois que vous avez souscrit à une des offres d’abonnement à un VPS auprès du prestataire OVHCloud (par exemple…), l’espace client de gestion de votre VPS s’affichera ainsi :


Etape 2 : Enregistrez vos login et et mots de passe de connexion à votre VPS

Vous recevrez par e-mail les codes de connexion à votre VPS (le login et le mot de passe).

En général le login est ‘ubuntu’ si vous avez choisi de faire installer une distribution (OS) « Ubuntu 22.04 » sur votre VPS lors de votre souscription à un abonnement.

Veuillez conserver ces login et mot de passe car vous allez les utiliser prochainement pour vous connecter à votre serveur VPS, via le logiciel « Putty » (sous Windows).

Vous venez de souscrire à une offfre d’abonnement à un VPS.
Passons à l’étape 3, l’achat d’un nom de domaine.

-> Passer à l’étape 3 : l’achat d’un nom de domaine…


Choix n°2 – Configurer son modem et son propre ordinateur serveur installé dans vos locaux :

Vous pouvez faire le choix d’utiliser un ordinateur faisant office de serveur, installé dans votre cabinet ou à votre domicile, sur lequel est installé une distribution linux ‘Ubuntu Server’ ou ‘Debian’.

Cette solution est relativement économique et vous gérez en interne 100% toutes vos données et celles de vos clients.

Par contre, cette solution est un peu plus complexe à installer et les risques inhérents aux cas de force majeure, aux pannes…etc. peuvent être une source de stress.

Ce choix d’utiliser votre propre ordinateur serveur peut, par contr,e se justififier si vous avez besoin de capacité de stockage qu’un abonnement à un VPS ne peut offrir (plus de 640 GO), ou serait trop couteux. Par ailleurs, nous vous recommandons d’effectuer des sauvegardes régulières de votre ordinateur serveur, au sein de vos locaux et à distance.

Vous pouvez utiliser un ancien ordinateur pour le convertir en serveur. Cependant, nous vous recommandons de partir sur du matériel neuf, même à moindre coût, et doté de suffisamment de mémoire RAM et d’un disque dur SSD récent.

Un mini pc, un micro-ordinateur de type Raspberry 4B ou 5 – 8Go, ou un Orange Pi 5 – 16Go peuvent tout à fait convenir pour un serveur. Le cas échéant nous vous proposons une liste d’achat pour créer un serveur à moindre coût.

Achat d’un ordinateur serveur (selon un budget minimal de l’ordre de 400 € / 500 € TTC avec écran et clavier) :


Une fois que vous disposez du matériel et surtout d’un ordinateur qui fera office de serveur :

  1. Installez sur cet ordinateur le système d’exploitation Ubuntu Desktop 22.04 (ou conservez le système d’exploitation par défaut si vous avez acquis un Raspberry 5 ou d’un OrangePi 5)
    (consultez ce tutoriel : https://lecrabeinfo.net/installer-ubuntu-22-04-lts-le-guide-complet.html),
  2. Branchez un disque dur secondaire à l’ordinateur – serveur,
  3. Installez l’application TimeShift (si elle n’est pas déjà installée par défaut) et paramétrez une sauvegarde journalière de votre disque du principal sur ce disque dur secondaire,
    (consultez ce tutoriel : https://www.malekal.com/comment-creer-et-restaurer-une-sauvegarde-systeme-sur-ubuntu-timeshift/).

Après l’acquisition du matériel, il faut configurer l’ordinateur serveur et le modem / routeur.

Vous avez en principe une connexion à internet via votre Fournisseur d’Accès à Internet (SFR, Free, Orange…etc.) via un modem routeur qui vous est loué par ce fournisseur.

Il va falloir depuis un ordinateur, vous devrez vous connecter, via votre navigateur internet, sur ce modem/routeur de votre Fournisseur d’Accès à Internet à l’adresse : http://192.168.1.1 ou http://192.168.1.1, pour le configurer afin d’ouvrir certains « ports » (80, 443, 143, 25, 110, 587, 465, 993, 995 …etc) depuis / vers l’adresse IP locale de votre ordinateur serveur (192.168.0.??).

Cette démarche est nécessaire pour que votre ordinateur serveur soit accessible depuis Internet. Nous allons voir comment réaliser cela en 2 étapes.

La première étape est de configurer votre ordinateur serveur pour lui attribuer une adresse IP locale fixe (192.168.00.xx), c’est à dire qui ne change pas à chaque fois que vous le redémarrez ou que vous redémarrer votre modem ou cet ordinateur serveur. La deuxième étape consiste à configurer votre modem / routeur pour que certains ports soient ouverts et renvoient le trafic internet vers cet ordinateur serveur.


Etape 1 : Attribuez une adresse IP locale à votre ordinateur utilisé comme serveur dans vos locaux

Pour attribuer une adresse IP fixe à une ordinateur, vous devez suivre les tutoriels accessibles via ces liens :

Puis, une fois que votre ordinateur serveur a une adresse IP ‘locale’ fixe (192.0.168.xx…), vous devrez faire en sorte que cet ordinateur utilisé comme serveur au sein de votre réseau local, soit également « visible » sur internet , c’est à dire en tapant dans la barre d’adresse d’un navigateur internet, l’adresse IP ‘publique’ de votre modem / routeur et attribuée par votre fournisseur d’accès à internet (http://246.xxx.xxx.xxx ou http://192.168.1.1 ou http://192.168.0.1 ou http://monmodem …etc.). Il s’agit de la deuxième étape.


Etape 2 : configurez votre modem / routeur pour que votre ordinateur utilisé comme serveur dans vos locaux soit visible sur internet

La deuxième étape consiste à ouvrir certains ports de votre connexion internet en paramétrant votre modem / routeur.

A cette fin, nous vous invitons à suivre les tutoriels suivants, et plus particulièrement le premier qui a été réalisé pour un modem du fournisseur d’accès à internet « Red by SFR » sur un micro ordinateur Raspberry :

Il décrit les étapes de configuration du modem avec un abonnement à internet avec le fournisseur d’accès à internet « RedBySFR » mais ces étapes sont similaires pour configurer les modems d’autres fournisseurs d’accès à internet.

Quasiment tous les fournisseurs d’accès Internet permettent d’ouvrir (presque tous) les ports du modem pour héberger vos sites Internet depuis l’ordinateur serveur situé dans vos locaux.

Cette solution d’auto hébergement est manifestement la plus économique à moyen ou à long terme mais présente un risque en cas d’événement grave survenant dans les locaux (incendie, d’inondation, risque électrique, cambriolage…etc.).

Une sauvegarde journalière du serveur entier sur un deuxième ordinateur ou disque dur situé dans un autre lieu ou a minima une synchronisation des fichiers Nextcloud depuis un autre ordinateur situé à un autre endroit que vos locaux est recommandée.

La sauvegarde du serveur entier (dont le serveur de mails), dont les données sont cryptées, peut également être effectuée ‘manuellement’ sur un disque dur portable que vous conserverez dans un lieu différent du lieu ou est situé l’ordinateur serveur


Pour suivre ce tutoriel, vous avez donc besoin d’un serveur fonctionnant sous un système d’exploitation Ubuntu 22.04 ou Débian, exécuté sur votre ordinateur serveur local accessible depuis ‘l’extérieur (internet) ou sur un serveur dédié de type VPS.

Une fois que vous avez souscrit à un abonnement à un serveur dédié/privé VPS exécutant ‘Ubuntu 22.04′, ou que vous avez un ordinateur-serveur sous Ubuntu 22.04’, configuré pour avoir une adresse IP locale fixe et avec votre modem également configuré pour que votre ordinateur-serveur soit accessible depuis l’extérieur, suivez les instructions ci-dessous.

Nous aurons besoin de configurer la pile logicielle ‘LAMP’ avec un nom de domaine. Cela implique que vous devrez préalablement acheter un nom de domaine auprès d’un prestataire tel que OVHcloud, ou NameCheap ou une autre société gestionnaire de noms de domaine, il s’agit de l’étape 3.

-> Se rendre au sommaire
-> Poster un commentaire


Etape 3 : Achetez un nom de domaine

Après avoir un serveur ou un VPS, vous devrez choisir, puis acheter, un nom de domaine auprès d’un prestataire (auprès d’un gestionnaire de nom de domaine).

Nous vous recommandons de vérifier que le nom de domaine choisi est disponible et qu’il ne contrevient pas aux droits d’une autre entreprise ou d’une personne (par une confusion entre des noms similaires).

Par exemple : pour une entreprise ou un cabinet d’avocats s’appelant Dupont ou Snow, le nom de domaine à acquérir pourra être : cabinetdupont.fr ou snow.com …etc. sauf si une entreprise a déjà choisi ce nom de domaine…

Dans ce tutoriel, nous utilisons le nom de domaine ‘ exemple.com ‘ (ou « votre-domaine.com » ou « example.com ») que vous devez remplacer par le nom de domaine que vous avez acheté (cabinetdupont.fr ; snow.com …etc.).

Nous configurerons ce nom de domaine et ses sous domaines au sein du serveur à la phase 4 (lors de l’installation de Nextcloud) et aux phases suivantes.


Tutoriel – Comment acheter un nom de domaine sur le site de la société OVHCloud :

Nous vous proposons un tutoriel pour acheter un nom de domaine sur le site de la société OVHCloud, cependant vous pouvez passer par les services de toute autre société proposant les mêmes services (NameCheap, Hostsinger…etc.).

Connectez-vous sur le site internet d’un prestataire gestionnaire de noms de domaine. Par exemple sur le site de la société OVHCloud…

https://www.ovhcloud.com/fr/

Cliquez sur l’onglet « Hébergements web et Domaines » puis sur « Noms de domaine » :

Choisissez un nom de domain et indiquez le dans la barre de recheche puis cliquez sur le bouton « Rechercher ».
Par exemple dans l’exemple ci-dessous : « cabinetdupond.com » :

Choisissez l’extension du nom de domaine (en .com, .fr …etc.), puis cliquez sur le bouton « Continuez la commande »
Dans l’exemple ci-dessous, nous avons choisi une extension de nom de domaine en « .com »
:

Eventuellement, ajoutez l’option « DNS Anycast » pour améliorer le chargement de votre site internet (facultatif).
Cliquez sur le bouton « Continuez la commande » :

Dans le cadre du suivi de ce tutoriel, il est inutile de choisir une option d’hébergement.
Cliquez sur le bouton « Continuez la commande » :

Connectez vous à votre compte client ou créez un compte client, puis réglez le montant demandé pour l’achat de votre nom de domaine.


Installation de la solution logicielle en local (sur un ordinateur serveur installé dans vos locaux) :

Si vous avez choisi d’installer la solution logicielle sur votre ordinateur serveur dans vos locaux (le choix n°2…) et que votre fournisseur d’accès à internet n’est pas Free (en France), vous ne disposez pas a priori d’une adresse IP ‘fixe’ mais d’une adresse IP ‘dynamique’, il faut donc configurer votre ordinateur serveur pour qu’il actualise régulièrement l’adresse IP rattachée à votre nom de domaine. Vous devrez alors suivre les étapes suivantes :

Faire pointer le nom de domaine vers l’IP publique du serveur avec DynDNS :

Maintenant que nous avons un nom de domaine et que notre ordinateur serveur dispose d’une IP publique, il ne nous reste plus qu’à faire pointer le premier vers la seconde.

Pour faire pointer un nom de domaine vers une adresse IP, on ajoute un enregistrement dit de « Type A » dans ce que l’on appelle la « zone DNS » du nom de domaine, qui est une sorte de fichier de configuration permettant de définir le comportement de notre nom de domaine. Sur un serveur « normal », c’est ce que nous aurions fait, mais dans notre cas les choses sont un peu plus compliquées.

Contrairement aux serveurs loués chez un professionnel, les connexions domestiques ont généralement des IPs dynamiques (à l’exception du Fournisseur d’accès à internet Free ou OVH). Pour réduire les coûts et pouvoir plus facilement gérer leur stock d’IPs disponibles les fournisseurs d’accès attribuent souvent une nouvelle IP à votre box à chaque fois que celle-ci est redémarrée.

Conséquence, si nous ajoutions simplement à notre DNS un champ A pointant vers notre IP publique actuelle, au prochain redémarrage/changement d’adresse de notre box, notre site deviendrait inaccessible. Il nous faut donc un moyen de mettre à jour très régulièrement le champ A vers l’IP publique actuelle de notre box. Bonne nouvelle, pour ça il existe le DDNS ou DynDNS, pour Dynamic DNS.

Dans notre cas nous avons un nom de domaine chez OVH et nous disposons d’un ordinateur serveur. Le plus simple pour nous va donc être d’utiliser le service DynDNS d’OVH avec un script hébergé sur le serveur.

1. Configurer le DynDNS OVH :

Pour commencez, connectez vous à votre profil OVH et rendez-vous dans le la partie Web du manager, dans la colonne de gauche cliquez sur « Domaines », puis sur votre nom de domaine pour arriver sur la page de gestion.

Page générale de gestion d’un domaine chez OVH.
https://raspberry-pi.fr/nom-domaine/

Rendez-vous maintenant dans l’onglet « Zone DNS », cherchez un enregistrement de type A, et supprimez le.

Ensuitez, allez dans l’onglet DynHost, et cliquez sur « Gérer les accès » puis sur « Créer un identifiant ». Vous allez avoir un formulaire avec 4 champs à remplir :

Formulaire de création de l’identifiant DynHost qui sera utilisé pour mettre à jour l’IP.
https://raspberry-pi.fr/nom-domaine/
  • Suffixe de l’identifiant : Rentrez ce que vous voulez.
  • Sous-domaine : Rentrez *, ce qui validera tous les sous-domaines possibles, y compris l’absence de sous domaine.
  • Mot de passe & Confirmation : Choisissez un mot de passe solide, il sera utilisé par le script pour autoriser la modification de l’IP.

Une fois l’identifiant créé, cliquez sur le bouton de retour et sur « Ajouter un DynHost ». Cette fois vous devrez remplir deux champs :

Le formulaire pour créer un DynHost.
https://raspberry-pi.fr/nom-domaine/
  • Sous-domaine : Laissez le vide pour utiliser le nom de domaine global. Si vous souhaitez utilisez un sous-domaine vous pouvez le remplir avec la sous-partie de votre choix.
  • IP actuelle : Rentrez votre IP publique actuelle, vous pouvez la trouver ici.

Maintenant que nous avons configuré le DynHost sur OVH, nous allons pouvoir créer le script qui sera utilisé par la Raspberry Pi pour mettre à jour l’IP.

2. Configurer le serveur pour utiliser le DynHost OVH :

Il existe plusieurs façon de mettre à jour un DynDNS. Dans notre cas nous allons créer un script qui sera exécuté toutes les 5 minutes, récupérera notre IP publique et enverra une requête à OVH pour mettre à jour l’IP du nom de domaine.

Pour cela sur notre ordinateur serveur nous allons commencer par télécharger le script dyndns.sh dans le dossier /usr/local/sbin et lui donner les droits nécessaires pour qu’il soit lisible et exécutable uniquement par l’administrateur :

sudo wget https://raw.githubusercontent.com/RaspbianFrance/dyndnsovh/master/dyndns.sh -O /usr/local/sbin/dyndns.sh
sudo chmod 700 /usr/local/sbin/dyndns.sh

Nous allons maintenant modifier le script pour y renseigner nos propres réglages. Pour cela, ouvrez le script en tant que root avec nano en lançant la commande suivante :

sudo nano /usr/local/sbin/dyndns.sh

Dans le fichier, cherchez les lignes suivantes :

DYNHOST_ID=''
DYNHOST_PASSWORD=''
DOMAIN_NAME=''

Et pour chacune de ces lignes, entrez entre les ' les informations suivantes :

  • DYNHOST_ID : L’identifiant DynHost que vous avez créé chez OVH (c’est la chaine au format votrenomdedomaine.fr-xxxx).
  • DYNHOST_PASSWORD : Le mot de passe que vous aviez défini pour l’identifiant DynHost.
  • DOMAIN_NAME : Votre nom de domaine (avec son sous-domaine si jamais vous en avez défini un sous domaine plutôt que d’utiliser le domaine global).

Enregistrez les modifications et vérifiez que le script fonctionne bien en lançant la commande ci-dessous :

sudo /usr/local/sbin/dyndns.sh

Vous devriez avoir un retour ressemblant à nochg 91.130.39.102 ou good 91.130.39.102, avec votre IP publique à la place. Ces deux retours indiquent une IP déjà à jour ou une mise à jour réussie.

Il ne nous reste plus désormais qu’à faire en sorte que le script se lance toutes les 5 minutes. Pour cela rien de plus simple, nous allons utiliser la crontab, un logiciel tournant en tâche de fond sur Linux et capable d’exécuter régulièrement d’autres scripts.

Pour ça, lancez la commande :

sudo crontab -e

Si vous la lancez pour la première fois, vous devrez sans-doute choisir un éditeur de texte à utiliser, prenez celui qui vous convient (par défaut nano).

Rendez-vous à la fin du fichier et ajoutez sur une nouvelle ligne :

*/5 * * * * /usr/local/sbin/dyndns.sh > /dev/null 2>&1

Enregistrez les modifications, et voilà, l’adresse IP vers laquelle votre nom de domaine pointe sera mise à jour toutes les 5 minutes.


Une fois que vous disposez d’un serveur ou d’un abonnement à un VPS et d’un nom de domaine configuré, passez au Tutoriel 2…

Nous allons utilisez un logiciel spécifique qui s’appelle « Putty » pour se connecter au serveur ou au VPS, puis pour entrer des lignes de commande.


Tutoriel 2 : Installer et utiliser le logiciel putty sous Windows pour se connecter à l’ordinateur utilisé comme serveur

-> Se rendre au sommaire
-> Poster un commentaire

Vous avez désormais un serveur informatique avec Ubuntu installé …ou un VPS et vous avez acheté un nom de domaine… Bravo !

Désormais, pour la suite de l’installation, vous aurez besoin d’utiliser un logiciel spécifique pour accéder à votre ordinateur-serveur ou au VPS, puis à rentrer les ‘commandes’ mentionnées dans ce tutoriel, en les copiant /collant via ce logiciel. Nous allons utiliser le logiciel ‘Putty’ qui utilise une connexion dite ‘ssh’ pour se connecter à votre serveur ou VPS.

Par exemple, une fois connecté à votre serveur avec ce logiciel « Putty », le résultat suivant s’affichera après avoir tapé la commande « sudo apt update’ :

Si votre ordinateur principal est sous le système Windows le logiciel souvent utilisé pour se connecter en ssh à un serveur est ‘Putty‘.

Ce tutoriel a été rédigé selon le principe que votre ordinateur de travail est sous le système d’exploitation Windows, que vous utilisez dessus le Logiciel Putty et que votre serveur est sous le système d’exploitation Ubuntu 22.04 (en version Server ou Bureau).

Cependant il existe des logiciels similaires à Putty sur MacOs (https://www.makeuseof.com/best-ssh-clients-mac/), et sur Linux, vous pouvez vous connecter à un serveur en SSH depuis un simple terminal avec la commande suivante : ssh (nom d’utilisateur)@(adresse ip) -p 22 .


Comment installer et utiliser le logiciel Putty sous Windows pour se connecter au serveur :

Si votre ordinateur est sous le système Windows, installez le logiciel ‘Putty‘.

Puis exécutez le logiciel ‘Putty‘.

La fenêtre de connexion suivante s’affichera.

Connectez-vous à votre serveur via le logiciel Putty, en complétant l’adresse IP du serveur ou du VPS (par exemple 51.124.56.789) et s’il n’est pas affiché, le port ’22’ :

  • Cliquez sur le bouton ‘Open’
  • Puis, une fois que la fenêtre de connexion s’affiche…
  • Autorisez la connexion (cliquez sur le bouton « tout accepter / tout autoriser »).
  • Tapez votre nom d’utilisateur de l’utilisateur principal du serveur, a priori le nom d’utilisateur est : « ubuntu » si vous avez suivi ce tutoriel, puis appuyer sur la touche ‘Entrée’,
  • Puis indiquez le mot de passe de l’utilisateur « ubuntu » du serveur ou du VPN, en le copiant (sélectionner le mot de passe puis appuyez simultanément que les touches [Control] et [c] de votre clavier), puis en cliquant simplement sur le bouton droit de votre souris ou trackpad dans la fenêtre du terminal pour le copier automatiquement (le mot de passe vous a été communiqué par e-mail par la société OVHCloud),
  • Appuyez sur la touche ‘Entrée’, pour vous connecter à votre serveur via une connection ssh.

Une fois le logiciel Putty installé et que vous êtes connecté à votre serveur pu VPS via le logiciel putty, vous pourrez copier / coller les commandes indiquées dans ce tutoriel.


Comment utiliser les logiciels ‘Putty’ sous Windows et ‘Nano’ sous Linux :

Le logiciel ‘Nano’ est un logiciel fonctionnant sous Linux (Ubuntu) utilisé pour éditer des fichiers texte. Nous allons nous en servir dans le cadre de ce tutoriel pour créer ou modifier des fichiers de configuration, sur votre serveur ou votre VPS fonctionnant avec le système d’exploitation Linux – Ubuntu 22.04..

  • Pour copier un texte depuis une autre application que le logiciel Putty (par exemple une portion de texte dans cette page web), sélectionner le texte à copier avec votre pointeur de souris (ou cliquez rapidement 2 ou 3 fois dessus), puis appuyez simultanément sur les touches de votre clavier : [Control] et [c] .
  • Pour coller un texte dans la fenêtre du terminal du logiciel Putty, appuyer sur le bouton droit de la souris (clic-droit),
  • Pour copier un texte présent dans la fenêtre du terminal du logiciel Putty, il suffit de sélectionner avec le pointeur de la souris le texte à copier … pour le copier,
  • Pour quitter votre session d’utilisateur ‘ubuntu’ ou ‘root’, ou pour quitter le logiciel ‘Putty’, tapez la commande « exit » dans la fenêtre du terminal du logiciel ‘Putty’.
  • Pour rechercher un texte dans un fichier ouvert avec le logiciel ‘Nano’, appuyez simultanément sur les touches [Control] et [w] et validez par la touche [Entrée] .
  • Pour aller à un numéro de ligne précis dans un fichier ouvert avec le logiciel ‘Nano’, appuyer simultanément sur les touches [Control] et [:] et validez par la touche [Entrée].
  • Pour enregistrer une modification faite dans un fichier ouvert avec le logiciel ‘Nano’, appuyer simultanément sur les touches [Control] et [o] et validez par la touche [Entrée].
  • Pour annuler une opération faite dans un fichier ouvert avec le logiciel ‘Nano’, appuyer simultanément sur les touches [Control] et [c] et validez par la touche [Entrée].
  • Pour quitter / fermer le logiciel ‘Nano’, appuyer simultanément sur les touches [Control] et [x] et validez par la touche [Entrée].

Astuce : Pour exécuter les commandes de ce tutoriel plus rapidement, nous vous suggérons de placer la fenêtre de votre navigateur internet avec la page web de ce tutoriel sur un coté de votre écran et la fenêtre du logiciel Putty sur l’autre coté de l’écran, puis de copier / coller les différentes commandes linux entre les deux fenêtres, au fur et à mesure que vous avancez dans ce tutoriel

-> Se rendre au sommaire
-> Poster un commentaire


⏩ Installation simplifiée de la solution logicielle proposée par Juris-Tyr :

Vous pouvez choisir entre une installation simplifiée de la solution logicielle Cloud Juris-Tyr et suivre nos tutoriels d’installation détaillés.

L’installation simplifié dure environ 45 minutes mais cela ne vous permettra pas d’accéder à tous les logiciels open source proposés.

Le suivi de nos tutoriels d’installation détaillés vous permettra par contre d’accéder à des logiciels complémentaires, tel que le logiciel de suivi de trésorerie Firefly III, le logiciel de gestion de projet AFFiNE, le logiciel de notes classées avec l’IA, Reor, un webmail avec un filtrage sieve, Roundcube …etc.

…Vous préférez suivre toutes les étapes de ce tutoriel ? Lets’go !


Tutoriel 3 : Installer la pile LAMP (Stack LAMP) sur Ubuntu

Nous allons installer la pile LAMP sur Ubuntu.

Une pile logicielle est un ensemble d’outils logiciels regroupés.

« LAMP » signifie Linux, Apache, MariaDB/MySQL et PHP, qui sont tous des prologiciels open source et gratuits. Il s’agit de la pile logicielle la plus courante qui alimente les sites Web dynamiques et les applications Web.

  • Linux ‘Ubuntu 22.04’ est le système d’exploitation et sa version ;
  • Apache est un progiciel de serveur Web ;
  • MariaDB/MySQL est un progiciel de base de données
  • et PHP est un progiciel et un langage de script, chargé de générer des pages Web dynamiques (les pages en .htm ou .html étant des pages web dites ‘statiques’).

ℹ️ Il existe d’autres piles logicielles pour installer des serveurs et notamment la pile  »LEMP’ avec un un serveur « Nginx », qui un peu plus rapide et performant qu’un serveur « Apache ». Cependant un serveur Nginx est plus complexe à configurer et nous souhaitons privilégier la simplicité dans le cadre de ce tutoriel déja suffisamment long et complexe.


Étape 1 : Mettre à jour les progiciels du système d’exploitation

Avant d’installer la pile LAMP, il est recommandé mettre à jour le référentiel et les packages logiciels du système d’exploitation de l’ordinateur serveur.

Exécutez les commandes suivantes sur votre système d’exploitation Ubuntu 22.04 afin de vérifier (« apt update »), puis installer ( » apt upgrade ») les dernières mises à jour du système d’exploitation  :

sudo apt update
sudo apt upgrade

ℹ️ « sudo » est la commande et l’abréviation de « superuser do », en anglais ou de « super utilisateur fait » en français. C’est une commande et un utilitaire informatique utilisé dans les systèmes d’exploitations de type Unix et Linux tels que FreeBSD, MacOS, Solaris, Ubuntu…etc et qui permet d’autoriser l’utilisateur à effectuer des commandes importantes dans le système d’exploitation (par exemple, installer ou supprimer des logiciels, des fichiers ou des dossiers…etc.).

ℹ️ En tapant ou collant la commande ‘sudo’, le système d’exploitation vous demandera d’entrer votre mot de passe (le mot de passe de votre VPS ou de votre ordinateur serveur). Il vous le demandera en principe seulement une première fois lors de votre connexion à votre serveur. Pour éviter d’utiliser à chaque fois la commande « sudo », vous pouvez préalablement taper la commande « sudo su » pour vous connecter au système en tant que ‘super utilisateur’ (« root »). Cependant attention à ne pas commettre d’erreur en tapant/collant vos commandes par la suite !

ℹ️ Lorsque vous taperez votre mot de passe dans le logiciel Putty (ou n’importe quel mot de passe sur un terminal Linux), vous remarquerez que rien ne s’affiche lorsque vous le tapez au clavier : c’est normal ! Il s’agit d’une sécurité afin d’éviter les regards indiscrets. Tapez votre mot de passe et appuyez sur la touche « Entrée » de votre clavier.

ℹ️ La première mise à jour du système peut parfois prendre un peu de temps (entre 2 et 5 minutes).


Etape 2 : Installer le serveur Web Apache et le par-feu UFW

Une fois votre système d’exploitation mis à jour, entrez la commande suivante pour installer le serveur Web Apache.

Le package apache2-utils installera des utilitaires utiles tels que l’outil d’analyse comparative du serveur HTTP Apache.

sudo apt install -y apache2 apache2-utils

Sortie :

apache2.service - The Apache HTTP Server     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)     Active: active (running) since Sat 2020-04-11 11:31:31 CST; 2s ago       Docs: https://httpd.apache.org/docs/2.4/    Process: 53003 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)   Main PID: 53011 (apache2)      Tasks: 55 (limit: 19072)     Memory: 6.4M     CGroup: /system.slice/apache2.service             ├─3011 /usr/sbin/apache2 -k start
             ├─53012 /usr/sbin/apache2 -k start
             └─53013 /usr/sbin/apache2 -k start

Si la commande ci-dessus ne se ferme pas immédiatement, vous pouvez appuyer sur la touche Q pour reprendre le contrôle du terminal.

S’il ne fonctionne pas, utilisez systemctl pour le démarrer :

sudo systemctl start apache2

Il faut aussi permettre à Apache de démarrer automatiquement au démarrage du système.

sudo systemctl enable apache2

ℹ️ Vérifiez la version d’Apache (facultatif) :

apache2 -v

Résultat :

Server version: Apache/2.4.41 (Ubuntu)Server built:   2020-03-05T18:51:00

ℹ️ Si la connexion est refusée ou échoue, il se peut qu’un pare-feu empêche les requêtes entrantes sur le port TCP 80.

Appuyez sur les touches Control + C pour annuler /quitter

Si vous utilisez le pare-feu iptables, vous devez exécuter la commande suivante pour ouvrir le port TCP 80.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Cependant, nous utiliserons le logiciel de pare-feu « UFW ». sous linux

Exécutez ces commandes pour l’installer, puis pour ouvrir le port TCP 80 de votre serveur ou VPS et d’autres ports.

Exécutez à la suite les commandes suivantes :

sudo apt install -y ufw
sudo ufw allow ssh && sudo ufw enable && sudo ufw allow http && sudo ufw allow https && sudo ufw allow 25 && sudo ufw allow 110 && sudo ufw allow 143 && sudo ufw allow 465 && sudo ufw allow 587 && sudo ufw allow 993 && sudo ufw allow 995 && sudo ufw allow 22/tcp && sudo ufw allow 21/tcp && sudo ufw allow 8000 && sudo ufw allow 8080 && sudo ufw allow 8892 && sudo ufw allow 9200 && sudo ufw allow 9300 && sudo ufw allow 9980/tcp && sudo ufw allow 9981/tcp
sudo ufw reload

Chaque port indiqué dans ces lignes de commande correspond à un type de connexion autorisée vers votre serveur. Par exemple le port 80 concerne les connexions vers les pages web non sécurisées (http) et le port 443 concerne les connexions vers les pages web sécurisées (https) (avec un certificat TLS).

Si vous utilisez un ordinateur serveur depuis vos locaux par une connexion à internet via votre propre modem-routeur et un fournisseur d’accès à internet (FAI) (par exemple : RedBySFR, Free, SFR, Orange…etc.), et non un serveur dédié VPS par OVH (ou un autre prestataire) , vérifiez que les ports 80, 443, 25,110, 587, 465, 993, 995, 22 et 21 …etc. dans l’interface de configuration de votre modem-routeur (en vous connectant à l’adresse locale du modem/routeur : http://192.0.0.1 ou http //192.168.1.1 avec les login : admin / votre mot de passe à votre fournisseur d’accès à internet) sont ouverts sur l’adresse ip locale de l’ordinateur serveur (192.168.0.xx)

Maintenant, nous devons définir l’utilisateur système  ‘www-data’ (utilisateur par défaut du serveur ‘Apache’) en tant que propriétaire de la racine des documents présents dans le dossier ‘html’, lui-même placé dans le dossier ‘www’, lui-même placé dans le dossier ‘var’ du système d’exploitation sous Linux (autrement appelée racine Web).

Par défaut, il appartient à l’utilisateur ‘root’, il faut donc changer le ‘propriétaire du dossier par l’utilisateur ‘www-data’ :

sudo chown www-data:www-data /var/www/html/ -R
sudo chown www-data:www-data /var/www/ -R

Par défaut, Apache utilise le nom d’hôte du système (« ubuntu et parfois « localhost ») comme « ServerName » global.

D’ailleurs, si le nom d’hôte du système ne peut pas être résolu dans le serveur DNS, vous verrez probablement l’erreur suivante après avoir exécuté la commande :

sudo apache2ctl -t.

L’erreur qui peut s’afficher est :

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

Pour résoudre ce problème, nous pouvons définir un ServerName global dans Apache en utilisant le logiciel d’édition de texte ‘Nano’. sous Linux

« Nano est un logiciel d’édition de fichier texte en ligne de commandes, sous Linux. En principe, il est déjà installé dans la distribution Linux Ubuntu 22.04. Cependant, s’il n’est pas déjà installé, installez le en tapant/collant la commande suivante via le logiciel Putty :

sudo apt install -y nano

Utilisez l’éditeur de texte de ligne de commande « Nano » pour créer un nouveau fichier de configuration :

sudo nano /etc/apache2/conf-available/servername.conf

Ajoutez dans le fichier /etc/apache2/conf-available/servername.conf la ligne suivante :

ServerName localhost

Enregistrez et fermez le fichier : Pour enregistrer un fichier dans l’éditeur de texte « Nano », appuyez sur les touches Ctrl + O (pour ‘Oui’) ou sur Ctrl + Y (pour ‘Yes), puis appuyez sur Entrée pour confirmer.

Pour quitter l’éditeur de texte ‘Nano’, appuyez sur les touches : Ctrl + X.

Activez ensuite ce fichier de configuration sous le serveur Apache avec la commande suivante :

sudo a2enconf servername.conf

Rechargez Apache pour que la modification prenne effet :

sudo systemctl reload apache2

Maintenant, si vous exécutez à nouveau la commande sudo apache2ctl -t , vous ne verrez pas le message d’erreur ci-dessus


Etape 3 : Installez le serveur de base de données MariaDB

« MariaDB » est un remplacement direct de « MySQL » à savoir un logiciel de gestion de base de données plus anciens.

Il est développé par d’anciens membres de l’équipe MySQL qui craignent qu’Oracle ne transforme MySQL en un produit à source fermée.

Entrez la commande suivante pour installer MariaDB sur Ubuntu 22.04 :

sudo apt install -y mariadb-server mariadb-client

Une fois installé, le serveur MariaDB devrait être automatiquement démarré. Utilisez systemctl pour vérifier son statut (facultatif) :

systemctl status mariadb

Sortie :

mariadb.service - MariaDB 10.3.22 database server     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled ; vendor preset: enabled)     Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago       Docs: man:mysqld(8)             https://mariadb.com/kb/en/library/systemd/  Main PID: 9161 (mysqld)     Status: "Taking your SQL requests now..."      Tasks: 31 (limit: 9451)     Memory: 64.7M     CGroup: /system.slice/mariadb.service             └─9161 /usr/sbin/mysqld

S’il ne fonctionne pas, démarrez-le avec cette commande :

sudo systemctl start mariadb

Pour permettre à MariaDB de démarrer automatiquement au démarrage de Ubuntu 22.04, exécutez :

sudo systemctl enable mariadb

Exécutez maintenant le script de sécurité post-installation.

sudo mysql_secure_installation

Lorsqu’il vous demande d’entrer le mot de passe root MariaDB, appuyez sur la touche Entrée car le mot de passe root n’est pas encore défini.

Entrez ensuite y pour définir le mot de passe root du serveur MariaDB.

Ensuite, vous pouvez appuyer sur Entrée pour répondre à toutes les questions restantes, ce qui supprimera l’utilisateur anonyme, désactivera la connexion root à distance et supprimera la base de données de test. Cette étape est une exigence de base pour la sécurité de la base de données MariaDB. (Notez que Y est en majuscule, ce qui signifie qu’il s’agit de la réponse par défaut.)

Puis choisissez un mot de passe sécurisé.

Pour choisir un mot de passe sécurité nous vous recommandons d’utiliser une suite de lettre ou de chiffres d’au moins 12 caractères, ou une phrase facile à retenir pour vous, avec des signes de ponctuation, des majuscules ou des minuscules …etc. (Un exemple de mot de passe sécurisé : « !?Heureux-soient-les-Felés-en_2024!-car-ils-laisseront-Passer-la-lumière… »).

Par défaut, le package MariaDB sur Ubuntu utilise la méthode ‘unix_socket’ pour authentifier la connexion de l’utilisateur, ce qui signifie essentiellement que vous pouvez utiliser le nom d’utilisateur et le mot de passe du système d’exploitation pour vous connecter à la console MariaDB.

Vous pouvez donc exécuter la commande suivante pour vous connecter sans fournir le mot de passe root MariaDB (facultatif) :

sudo mariadb -u root

Pour quitter mariadb, exécuter :

exit;

Vous pouvez vérifier les informations de la version du serveur MariaDB que vous venez d’installer avec la commande suivante (facultatif) :

mariadb --version

Sortie :

mariadb  Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Comme vous pouvez le voir, nous avons installé MariaDB 10.3.22.


Etape 4 : Installez PHP

PHP 8.2 est une version du langage de programmation PHP publiée vers la fin de l’année 2022 qui permet d’afficher des pages web ‘dynamiques’ (une page web dynamique est une page dont le contenu peut changer automatique lorsque vous cliquez sur un bouton ou un lien présent sur la page web).

Il s’agit d’une version majeure de PHP qui contient de nombreuses nouvelles fonctionnalités, notamment des classes en lecture seule, null, false et true en tant que types autonomes, des propriétés dynamiques obsolètes et des améliorations de performances. PHP 8.2 inclut également des corrections de bugs et des améliorations de performances par rapport aux versions précédentes de la version 8.2.

Depuis la mise en ligne de ce tutoriel, php8.3 est installable, puis ce sera le tour de php8.4 …etc.

NB : Si au moment ou vous consultez ce tutoriel, la version php8.3 ou php8.4 est devenu à son tour le standard, remplacez php8.2 par php8.3 (ou php8.4 etc..)

Étape 4.1 : Ajouter le référentiel PHP

Vérifiez les mises à jour.

sudo apt update

Installez des packages de dépendance avant d’ajouter le référentiel php :

sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common

Exécutez les commandes suivantes dans votre terminal pour ajouter le référentiel PHP à votre système :

sudo add-apt-repository ppa:ondrej/php

Le terminal devrait afficher le résultat suivant :

PPA publishes dbgsym, you may need to include 'main/debug' componentRepository: 'deb https://ppa.launchpadcontent.net/ondrej/php/ubuntu/ jammy main'Description:Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions are included. Only Supported Versions of PHP (http://php.net/supported-versions.php) for Supported Ubuntu Releases (https://wiki.ubuntu.com/Releases) are provided. Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided.Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpaYou can get more information about the packages at https://deb.sury.orgIMPORTANT: The <foo>-backports is now required on older Ubuntu releases.BUGS&FEATURES: This PPA now has a issue tracker:https://deb.sury.org/#bug-reportingCAVEATS:1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman2. If you are using apache2, you are advised to add ppa:ondrej/apache23. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline   or ppa:ondrej/nginxPLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/WARNING: add-apt-repository is broken with non-UTF-8 locales, seehttps://github.com/oerdnj/deb.sury.org/issues/56 for workaround:# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/phpMore info: https://launchpad.net/~ondrej/+archive/ubuntu/phpAdding repository.
Press [ENTER] to continue or Ctrl-c to cancel.Adding deb entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.list

Appuyez sur la touche [ Entrée ] de votre clavier.

Adding disabled deb-src entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.listAdding key to /etc/apt/trusted.gpg.d/ondrej-ubuntu-php.gpg with fingerprint 14AA40EC0831756756D7F66C4F4EA0AAE5267A6CHit:1 https://mirror.hetzner.com/ubuntu/packages jammy InReleaseHit:2 https://mirror.hetzner.com/ubuntu/packages jammy-updates InReleaseHit:3 https://mirror.hetzner.com/ubuntu/packages jammy-backports InReleaseHit:4 https://mirror.hetzner.com/ubuntu/security jammy-security InReleaseGet:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease [23.9 kB]Get:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 Packages [108 kB]Get:7 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main Translation-en [33.3 kB]Fetched 166 kB in 1s (120 kB/s)Reading package lists... Done

Vous pouvez vérifier si le référentiel fonctionne en exécutant la commande ‘sudo apt update’ (facultatif).

sudo apt update
Étape 4.2 : Installez PHP 8.2 sur Ubuntu

Une fois le PPA ajouté, utilisez la commande apt pour installer PHP 8.2 et tout autre module PHP associé sur le serveur Ubuntu :

sudo apt install -y php8.2 libapache2-mod-php8.2 php8.2-mysql php-common php8.2-cli php8.2-common php-fpm php8.2-opcache php8.2-readline

Activez le module Apache php8.2 puis redémarrez le serveur Web Apache :

sudo a2enmod php8.2
sudo systemctl restart apache2

Vous pouvez vérifier les informations de version de PHP que vous venez d’installer (facultatif) avec la commande suivante :

php --version

Pour tester les scripts PHP avec le serveur Apache, nous devons créer un fichier info.php dans le répertoire racine du document (facultatif) :

sudo nano /var/www/html/info.php

Collez le code PHP suivant dans le fichier (facultatif) :

<?php phpinfo(); ?>

Pour enregistrer un fichier dans l’éditeur de texte Nano, appuyez sur Ctrl+O, puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl+X.

Maintenant, dans la barre d’adresse du navigateur, saisissez : http://(adresse IP du serveur)/info.php. (facultatif)

Par exemple : 51.xx.xxx.xx/info.php

Remplacez server-ip-address par votre adresse IP réelle de votre serveur ou de votre VPS.

Si vous suivez ce tutoriel sur directement depuis l’ordinateur serveur, saisissez l’adresse suivante dans le navigateur internet: 127.0.0.1/info.php ou localhost/info.php.

Vous devriez voir les informations PHP de votre serveur.

Cela signifie que les scripts PHP peuvent s’exécuter correctement avec le serveur Web Apache !


Etape 4.3 : Comment exécuter PHP-FPM avec Apache

Dans les étapes ci-dessus, le module Apache PHP8.2 est utilisé pour gérer le code PHP, ce qui est généralement correct. Mais dans certains cas, vous devez exécuter du code PHP avec PHP-FPM à la place. Voici comment faire.

Étape 4.4 : Installez PHP-FPM :

Désactivez le module Apache PHP 8.2 :

sudo a2dismod php8.2

Installez php-fpm :

sudo apt install -y php8.2-fpm

Activer les modules proxy_fcgi et setenvif :

sudo a2enmod proxy_fcgi setenvif

Activer le fichier de configuration /etc/apache2/conf-available/php8.2-fpm.conf file :

sudo a2enconf php8.2-fpm

Redémarrez Apache pour que les modifications prennent effet :

sudo systemctl restart apache2

Maintenant, si vous actualisez la page info.php dans votre navigateur, vous constaterez que l’API du serveur est passée du gestionnaire Apache 2.0 à FPM/FastCGI, ce qui signifie que le serveur Web Apache transmettra les requêtes PHP à PHP-FPM.

Vous avez installé la  » pile LAMP  » (Apache, MariaDB et PHP8.2) sur le système d’exploitation linux Ubuntu 22.04.

Pour la sécurité de votre serveur, vous devez supprimer le fichier info.php maintenant pour éviter les regards indiscrets.

sudo rm /var/www/html/info.php

-> Se rendre au sommaire
-> Poster un commentaire


Passer à la phase 4 : Installation de Nextcloud

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions de services.

Vous avez un peu de temps et vous souhaitez continuer à apprendre comment installer un serveur ?

On continue !


Tutoriel 4 : Installez Nextcloud

Nous allons installer et configurer NextCloud 28 sur Ubuntu 22.04 avec un serveur web Apache et PostgreSQL


Qu’est-ce que NextCloud ?

NextCloud est une solution de stockage en cloud gratuite et open-source auto-hébergée.

Son fonctionnement est similaire à celui de Dropbox.

Les solutions de stockage en cloud propriétaires (Dropbox, Google Drive, Microsoft Office 360 / Onedrive, wetranfert …etc.) sont pratiques, mais elles ont un prix : elles peuvent être utilisées pour collecter des données personnelles à des fins publicitaires ou d’autres fins commerciales moins avouables, vos données et celles de vos clients parce que vos fichiers sont stockés sur leurs ordinateurs serveurs /cloud , avec une politique de confidentialité très relative et installés dans des Etats qui ont une autre réglementation que les pays européens pour la protection des données personnelles (Etats-Unis d’Amérique, Patriot act…etc.). ou qui n’en ont tout simplement pas (Chine…).

Si vous craignez pour votre vie privée, vous pouvez passer à un logiciel tel que NextCloud (ou Filerun), que vous pouvez installer sur votre ordinateur-serveur privé ou sur un serveur privé virtuel (VPS).

Vous pouvez télécharger vos fichiers sur votre serveur via NextCloud, partager certains avec vos clients ou collaborateurs, puis synchroniser ces fichiers avec votre ordinateur de bureau, votre ordinateur portable ou votre smartphone. C’est un logiciel très complet et très efficace mais avec une installation un peu complexe.

De cette façon, vous avez le contrôle total de vos données.

Vous accèderez à votre Nextcloud en tapant l’adresse https://cloud.exemple.com dans la barre d’adresse de votre navigateur puis en vous connectant avec vos identifiants.


Caractéristiques de NextCloud :
  • Gratuit et open-source.
  • Cryptage de bout en bout, ce qui signifie que les fichiers peuvent être cryptés sur les appareils clients avant d’être téléchargés sur le serveur, de sorte que même si quelqu’un vole votre serveur, il ne peut pas lire vos fichiers.
  • Peut être intégré à une suite bureautique en ligne (Collobora Online, OnlyOffice) afin que vous puissiez créer et éditer vos fichiers doc, ppt, xls directement depuis NextCloud et en collaborant en temps réel à plusieurs sur le même document word ou powerpoint.
  • La boutique d’applications contient des centaines d’applications permettant d’étendre les fonctionnalités (comme l’application calendrier, l’application contacts, l’application prise de notes, l’application vidéoconférence, etc.)
  • Le client de synchronisation est disponible sur Linux, macOS, Windows, iOS et android.

Conditions préalables :

NextCloud est écrit en langage de programmation PHP. Pour suivre ce tutoriel, vous devez d’abord installer la pile LAMP sur Ubuntu 22.04.

Vous pouvez installer NextCloud sur votre serveur domestique ou sur un VPS (virtual private server).

Quel que soit votre choix n°1 ou n°2, en suivant ce tutoriel, nous vous proposons d’accéder à votre Nextcloud via un sous-domaine « cloud.’ du nom de domaine principal ‘exemple.com’, (par exemple : ‘cloud.exemple.com’ rattaché au nom de domaine ‘exemple.com’).

Il faut donc commencer par paramétrer le nom de domaine et un sous domaine pour qu’ils renvoient vers l’adresse IP de votre serveur.


Étape 1 : Paramétrez le nom de domaine « exemple.com » et un sous-domaine « cloud.exemple.com » pour les relier à l’adresse IP de votre serveur ou de votre VPS

Vous devez paramétrer un nom de domaine (exemple.com) et un sous-domaine (cloud.exemple.com) pour les relier à l’adresse IP de votre serveur.

Vous venez d’acheter le nom de domaine : exemple.com. Or le sous-domaine que nous allons utiliser pour l’accès l’application que nous souhaitons installer (Nextcloud) sera : cloud.exemple.com (le mot  » cloud  » étant le sous-domaine du nom de domaine  » exemple.com « ).

L’objectif est que lorsque vous indiquerez l’adresse : cloud.exemple.com dans la barre d’adresse de votre navigateur, l’application (Nextcloud) s’affiche.

Il faut donc procéder dans l’interface de votre votre fournisseur de noms de domaine (OVHCloud) à un enregistrement d’une adresse ‘DNS’ ‘A’ pour le domaine ‘exemple.com et pour son sous-domaine : cloud.exemple.com.

Un enregistrement ‘DNS’ (Domain Name Server) consiste à indiquer que le nom de domaine (ou le sous domaine) (‘DNS’) doit renvoyer vers telle ou telle adresse IP (‘A’ pour une adresse IPv4) d’un serveur ou VPS.

Si ce n’est pas assez clair, vous pouvez également consulter le tutoriel suivant pour savoir comment rattacher un nom de domaine à un serveur / VPS (OVHcloud) : https://digitalboxweb.wordpress.com/2020/03/31/vps-comment-mettre-en-place-son-nom-de-domaine/ ou continuer à suivre notre tutoriel...

Le cas échéant, connectez vous alors sur votre espace de gestion de votre nom de domaine de votre prestataire puis effectuez les réglages pour que votre nom de domaine (exemple.com) et tous les sous-domaines (cloud.exemple.com) renvoient vers l’adresse IP publique de votre serveur ou VPS.

Par exemple, si vous avez souscrit un nom de domaine auprès d’OVHCloud, les démarches sont les suivantes :

  • Cliquez sur le bouton « A » (pour indiquer une adresse IP v4, ‘AAAA’ désigne une adresse IP v6)
  • puis cliquez sur « Suivant »,
  • puis compléter l’adresse IP de votre serveur ou de votre VPS (si votre VPs est sur OVHcloud,, elle devrait ressembler à 51.xx.xxx.xx)
  • puis cliquez sur le bouton « Suivant », puis sur le bouton « Valider »

Recommencez la même opération pour ajouter un sous-domaine intitulé « cloud » au nom de domaine principal exemple.com (le sous domaine sera du type : « cloud.cabinetdupont.com » ) :

  • Cliquez de nouveau sur « Ajouter une entrée »
  • Cliquez sur le bouton « A »
  • Cliquez sur le bouton « Suivant »
  • Complétez le nom du sous-domaine : « cloud » dans l’exemple ci-dessous et pour les besoins de ce didacticiel
  • Complétez l’adresse IP de votre serveur VPS (« 51.xx.xxx.xx »)
  • Cliquez sur le bouton « Suivant » puis sur « Valider »

Récapitulatif :


Félicitations ! vous venez d’effectuer un enregistrement DNS A et de paramétrer votre nom de domaine et le sous domaine !


Étape 2 : Téléchargez Nextcloud sur Ubuntu

Connectez-vous à votre serveur sous Ubuntu via le logiciel Putty.

Nous allons installer Nextcloud avec l’ancienne méthode d’installation, c’est à dire avec le fichier .zip archive. Il faut préciser qu’il est désormais possible d’installer Nextcloud « All In One » via Docker, de manière plus facile et rapide. A cette fin, si vous êtes intéressé par cette nouvelle méthode d’installation, vous pouvez consulter cette page web : GitHub – nextcloud/all-in-one: The official Nextcloud installation method. Provides easy deployment and maintenance with most features included in this one Nextcloud instance.

Vous pouvez également visionner la vidéo suivante qui décrit l’installation de Nextcloud « All In One » sur Windows : https://www.youtube.com/watch?v=R4OEt3cdDVk

…Cependant l’installation de Nextcloud « All In One » via Docker ne permet pas d’effectuer des réglages fins pour économiser l’utilisation de la mémoire vive sur le serveur / VPS.

Si nous n’installions que Nextcloud sur le serveur, alors une installation via Docker serait justifiée car ce serait rapide et simple. Cependant, nous allons devoir installer d’autres logiciels sur le serveur / VPS (InvoiceNinja, Jitsi, OnlyOffice, Web Whisper…etc.) et nous cherchons à optimiser au maximum les performances du serveur sous linux Ubuntu 22.04, en évitant d’avoir une multitude de contenairs docker lancés à chaque démarrage. L’installation de Nextcloud présentée dans ce tutoriel est donc un peu plus complexe et classique, dans l’objectif d’avoir finalement un système globalement plus performant.

Nous allons commencer par télécharger l’archive zip du logiciel NextCloud(server) sur votre serveur. La dernière version stable est la 28.0.1 au moment où nous écrivons ces lignes. Il se peut que vous deviez changer le numéro de version.

Pour savoir quel est le numéro de la dernière version de Nextcloud, vous pouvez vous connecter à l’adresse https://nextcloud.com/install et cliquer sur le bouton download for server juste pour voir le numéro de dernière version téléchargeable.

Pour les besoins de ce tutoriel nous allons considérer que la dernière version de Nextcloud est la 28.0.1.


Executez le logiciel Putty, et vous être connecté sur votre serveur ou VPS, exécuter la commande suivante pour télécharger Nextcloud :

sudo wget https://download.nextcloud.com/server/releases/nextcloud-28.0.1.zip

Vous pouvez toujours utiliser le format d’URL ci-dessus pour télécharger Nextcloud. Si une nouvelle version sort, remplacez simplement 28.0.1 par le nouveau numéro de version (28.1.0 …etc.).

La commande « sudo » signifie que vous exécutez une commande sous linux en tant que super utilisateur (root) et la commande ‘wget‘ permet de télécharger un fichier.

Une fois téléchargée, extrayez l’archive avec le logiciel unzip :
S’il n’est pas déjà installé, installez le avec la commande ‘sudo apt install unzip’.

sudo apt install unzip -y

L’option « -y » spécifie que l’installation du logiciel ou de la commande doit être automatique, sans vous demander une validation.

sudo unzip nextcloud-28.0.1.zip -d /var/www/html/

L’option « -d » spécifie le répertoire cible. Les fichiers web de NextCloud seront extraits dans le dossier du serveur apache ‘html’, situé dans le dossier ‘www’, situé dans le dossier ‘var’.

Nous devons ensuite changer le ‘propriétaire’ de ce répertoire par l’utilisateur système ‘www-data’ afin que le serveur web (Apache) puisse écrire dans ce répertoire / dossier :

sudo chown www-data:www-data /var/www/html/nextcloud/ -R

Étape 3 : Créez une base de données et un utilisateur pour Nextcloud dans PostgreSQL

Nextcloud est compatible avec les logiciels de bases de données PostgreSQL, MariaDB/MySQL et SQLite. Cependant, par expérience Nextcloud est beaucoup plus rapide avec PostgreSQL, nous utiliserons donc PostgreSQL dans ce tutoriel. Si vous avez déjà installé Nextcloud avec le serveur de base de données MariaDB/MySQL, vous pouvez également migrer vers PostgreSQL.

Exécutez la commande suivante pour installer Postgresql (PostgreSQL et MariaDB peuvent fonctionner sur le même serveur. Il n’est pas nécessaire de supprimer MariaDB) :

sudo apt install -y postgresql postgresql-contrib

 Connectez-vous à PostgreSQL en tant qu’utilisateur postgres :

sudo -u postgres psql

 Créer la base de données nextcloud :

CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UNICODE';

 Créez un utilisateur (nextclouduser) et définissez un mot de passe de votre choix :

CREATE USER nextclouduser WITH PASSWORD 'nextclouduser_password';

 Accorder des permissions à l’utilisateur de la base de données :

ALTER DATABASE nextcloud OWNER TO nextclouduser; 
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextclouduser;

Appuyez sur les touches Ctrl+D pour vous déconnecter de la console PostgreSQL.

Ensuite, exécutez la commande suivante pour tester si vous pouvez vous connecter à PostgreSQL en tant qu’utilisateur Nextcloud (facultatif) :

psql -h 127.0.0.1 -d nextcloud -U nextclouduser -W

Pour vous déconnecter, apppuyer sur les touches du clavier : ‘Control et ‘D’.


Etape 4 : Créez un hôte virtuel Apache pour Nextcloud et activer le module HTTP/2

Nous allons activer le module HTTP/2 dans le progiciel Apache2:

sudo a2enmod http2

Puis créez un fichier nextcloud.conf dans le dossier /etc/apache2/sites-available/, avec l’éditeur de texte en ligne de commande ‘Nano’ :

sudo nano /etc/apache2/sites-available/nextcloud.conf

Copiez et collez le texte suivant dans le fichier ;

Remplacez le texte « cloud.exemple.com » par votre propre sous-domaine (‘cloud.snowcompany.com …par exemple) :

<VirtualHost *:80>
        <IfModule mod_http2.c>
           Protocols h2 http/1.1               
           # Solves slow upload speeds caused by http2
           H2WindowSize 5242880
        </IfModule>
        <IfModule pagespeed_module>
           ModPagespeed off
        </IfModule>
           <IfModule mod_security.c>
           SecFilterEngine Off
           SecFilterScanPOST Off
        </IfModule>
        DocumentRoot "/var/www/html/nextcloud"
        ServerName cloud.exemple.com
        ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
        CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined
        <Directory /var/www/html/nextcloud/>
            Require all granted
            Options FollowSymlinks MultiViews
            AllowOverride All
           <IfModule mod_dav.c>
               Dav off
           </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
        Satisfy Any
    # Disable HTTP TRACE method.
    TraceEnable off
    <Files ".ht*">
        Require all denied
    </Files>
       </Directory>
</VirtualHost>

Si ce n’est pas déjà fait, créez un enregistrement DNS ‘A’ pour votre nom de domaine vers l’adresse IP de votre serveur ou l’adresse IP de votre VPS ou l’adresse IP de votre fournisseur d’accès à internet pour ce sous-domaine (consultez l’étape 1 du tutoriel 4 / phase 4).

(Rappel des étapes si vous avez acheté votre nom de domaine via OVH : «Connexion à l’ Espace client d’OVH » -> Onglet « WebCloud» -> Lien « Noms de domaines » -> « avocats-dupond.com » -> Bouton « Zone DNS » -> Bouton « Créer un nouvel enregistrement » -> Bouton «  A » -> Bouton « Suivant » -> « cloud » -> compléter l’adresse IP de votre VPS « 51.xx.xxx.xx » -> « Bouton Suivant » -> « Bouton Valider »).

Enregistrez et fermez le fichier.

(Pour enregistrer un fichier dans l’éditeur de texte Nano, appuyez sur les touches ‘Ctrl+o’, puis sur ‘Entrer’ pour confirmer. Pour quitter, appuyez sur ‘Ctrl+X’).

Activez ensuite ce nouveau fichier de configuration du serveur Apache ‘hôte virtuel’ :

sudo a2ensite nextcloud.conf

Exécutez la commande suivante pour activer les modules Apache requis :

sudo a2enmod rewrite headers env dir mime setenvif ssl

Testez ensuite la configuration d’Apache (facultatif) :

sudo apache2ctl -t

Si la syntaxe est correcte, rechargez Apache pour que les modifications soient prises en compte :

sudo systemctl restart apache2

Le module Mod_http2 ne prend pas en charge le préfork. Vous pouvez utiliser le module event MPM afin de prendre en charge HTTP/2 et cela vous oblige à exécuter PHP avec FastCGI car event MPM n’est pas compatible avec mod_php.

Puis suivez les étapes ci-dessous pour passer de prefork à event MPM concernant le paramétrage des progiciels apache2. et PHP

Désactivez le module PHP8.

sudo a2dismod php8.2

Désactivez le module MPM préfork.

sudo a2dismod mpm_prefork

Activez Event MPM, Fast_CGI et le module setenvif.

sudo a2enmod mpm_event proxy_fcgi setenvif

 Rechargez Apache et les modules PHP :

sudo systemctl restart apache2 php8.2-fpm

Étape 5 : Installez et activez les modules PHP

Les dernières versions de Nextcloud sont compatibles avec PHP8.2 et php8.3

Exécutez les commandes suivantes pour installer les modules PHP8.2 et php8.3 requis ou recommandés par NextCloud :

sudo apt install imagemagick libapache2-mod-php php-imagick php8.2-common php8.2-pgsql php8.2-fpm php8.2-gd php8.2-curl php8.2-imagick php8.2-zip php8.2-xml php8.2-mbstring php8.2-bz2 php8.2-intl php8.2-bcmath php8.2-gmp

Installons également php8.3 et les modules nécessaires (Nextcloud 28 est compatible avec php8.3) :

sudo apt install imagemagick libapache2-mod-php php-imagick php8.3-common php8.3-pgsql php8.3-fpm php8.3-gd php8.3-curl php8.3-imagick php8.3-zip php8.3-xml php8.3-mbstring php8.3-bz2 php8.3-intl php8.3-bcmath php8.3-gmp

Certains modules php8.3 doivent être installés en complément pour Nextcloud 28. A cette fin, exécutez les commandes suivantes :

sudo wget -O /usr/local/bin/php-module-builder https://global-social.net/apps/raw/s/php-module-builder

sudo chmod +x /usr/local/bin/php-module-builder
cd /usr/local/bin/
sudo php-module-builder

Le script va vous demander de valider par la touche [Enter] et [y] l’instllation des modules php8.3 complémentaires.

sudo apt-get install -y libmagickcore-6.q16-6-extra

Rechargez Apache et les modules PHP :

sudo systemctl reload apache2 php8.2-fpm php8.3-fpm

Étape 6 : Activez HTTPS :

Vous pouvez maintenant accéder à l’assistant d’installation web de Nextcloud dans votre navigateur web en entrant le nom de domaine de votre installation Nextcloud dans un navigateur internet :

http://cloud.exemple.com

Si la page web ne se charge pas, vous devez probablement ouvrir le port 80 dans le pare-feu :

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Et le port 443 également :

sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Cependant, avant d’entrer toute information sensible, nous devons activer une connexion sécurisée HTTPS sur Nextcloud. Cela permettra de supprimer l’avertissement qui s’affiche dans votre navigateur lorsque vous tapez l’adresse commençant par : http:// .

Nous pouvons obtenir un certificat TLS gratuit auprès de Let’s Encrypt.

Installer le client Let’s Encrypt (certbot) depuis le dépôt Ubuntu 22.04 :

sudo apt install certbot python3-certbot-apache

Python3-certbot-apache est le plugin Apache.

Ensuite, exécutez la commande suivante pour obtenir un certificat TLS gratuit en utilisant le plugin Apache :

sudo certbot --apache --agree-tos --redirect --staple-ocsp --email e-****@gm***.com -d cloud.exemple.com

Où :

  • apache2 : Utilise l’authentificateur et l’installateur Apache
  • agree-tos : Accepter les conditions de service de Let’s Encrypt
  • redirect : renforce le HTTPS en ajoutant des redirections 301.
  • staple-ocsp : Active l’agrafage OCSP.
  • email : Courriel utilisé pour l’enregistrement et le contact de récupération.
  • Le drapeau -d est suivi d’une liste de noms de domaines, séparés par des virgules. Vous pouvez ajouter jusqu’à 100 noms de domaine.

Il vous sera demandé si vous souhaitez recevoir des courriels de l’EFF (Electronic Frontier Foundation). Après avoir choisi Y ou N, votre certificat TLS sera automatiquement obtenu et configuré pour vous.

Certbot ne peut pas ajouter automatiquement l’en-tête HSTS dans le fichier de configuration d’Apache pour Nextcloud.

Si vous souhaitez activer HSTS (HTTP Strict Transport Security), modifiez le fichier.

sudo nano /etc/apache2/sites-enabled/nextcloud-le-ssl.conf

Nous pouvons alors ajouter la ligne suivante dans le bloc du serveur SSL pour activer l’en-tête HSTS :

Header always set Strict-Transport-Security "max-age=31536000"

Comme ci-dessous :

Sauvegardez et fermez le fichier. Testez ensuite les configurations d’Apache :

sudo apache2ctl -t

Si le test est réussi, rechargez Apache pour que les modifications soient prises en compte.

sudo systemctl reload apache2

La configuration ci-dessus permettra d’obtenir un score A+ au test SSL (facultatif).


Étape 7 : Lancer l’assistant d’installation Web dans votre navigateur Web

Vous pouvez maintenant accéder à l’assistant d’installation web de Nextcloud en utilisant une connexion sécurisée HTTPS.

Indiquez dans la barre d’adresse de votre navigateur l’adresse crée : https://cloud.exemple.com

Puis, pour terminer l’installation, vous devez :
– Créer un compte administrateur
– Saisir le chemin du dossier de données Nextcloud (il est pré-rempli en principe) ;
– Entrer les détails de la base de données que vous avez créée à l’étape 2. Vous pouvez indiquer localhost:5432 comme adresse d’hôte, car PostgreSQL écoute sur le port 5432.

Le dossier de données est l’endroit où les fichiers des utilisateurs sont stockés. Pour des raisons de sécurité, il est préférable de placer le répertoire de données en dehors du répertoire webroot de Nextcloud.

Ainsi, au lieu de stocker les fichiers des utilisateurs sous /var/www/html/nextcloud/data/, nous pouvons le changer en /var/www/html/nextcloud-data. qui peut être créé avec la commande suivante:

sudo mkdir /var/www/nextcloud-data

Assurez-vous ensuite que l’utilisateur apache2 (www-data) dispose des droits d’écriture sur le répertoire data.

sudo chown www-data:www-data /var/www/nextcloud-data -R

Cliquez sur le bouton ‘Installer’, et dans quelques secondes vous verrez l’interface Web de Nextcloud.

Félicitations ! Vous pouvez commencer à l’utiliser comme stockage privé.

Voici une nouvelle case à cocher dans votre feuille de choses importantes à faire dans votre vie (avec nager avec des dauphins amicaux en mer méditerranée).


Comment configurer la notification par e-mail de NextCloud:

Si votre instance NextCloud est utilisée par plus d’une personne, il est important que votre serveur NextCloud puisse envoyer des emails transactionnels, tels que des emails de réinitialisation de mot de passe. Tout d’abord, vous devez définir une adresse email pour votre propre compte. Allez dans Settings -> Personal Info et définissez une adresse email pour votre compte.

Allez ensuite dans Paramètres -> Paramètres de base. Vous y trouverez les paramètres du serveur de messagerie. Il existe deux modes d’envoi : sendmail et smtp.

Choisissez le mode sendmail.

Une fois le relais SMTP configuré, cliquez sur le bouton d’envoi d’email dans Nextcloud pour tester si l’e-mail fonctionne.


Comment réinitialiser le mot de passe de l’utilisateur Nextcloud à partir de la ligne de commande :

Si vous avez perdu le mot de passe de votre compte administrateur, et que vous n’avez pas configuré l’envoi d’email dans Nextcloud, alors vous devez réinitialiser le mot de passe en lançant la commande suivante sur votre serveur.

Remplacez par votre vrai nom d’utilisateur :

sudo -u www-data php /var/www/html/nextcloud/occ user:resetpassword nextcloud_username

Il existe également d’autres commandes qui peuvent s’avérer utiles. Liste des commandes disponibles avec :

sudo -u www-data php /var/www/html/nextcloud/occ

ou :

sudo -u www-data php /var/www/html/nextcloud/console.php

Comment déplacer le dossier contenant les données des utilisateurs (facultatif) :

Si vous souhaitez, par mesure de sécurité, déplacer le dossier des données NextCloud, il y a 4 étapes pour y parvenir.

Tout d’abord, vous devez utiliser la commande ‘cp’ pour copier le dossier des données actuel dans le nouveau dossier.

Par exemple, le point de montage de votre disque dur externe peut être par exemple : /media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731.

On alors crée le nouveau dossier des données sur le disque dur externe ;

sudo mkdir /media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Ensuite, on copie le dossier des données d’origine dans le nouveau répertoire de données. L’indicateur -R signifie que l’opération de copie est récursive.

sudo cp /var/www/html/nextcloud-data/* /juristyr/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

Vous devez également copier le fichier .ocdata ;

sudo cp /var/www/nextcloud-data/.ocdata /media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Ensuite, vous devez définir www-data (utilisateur apache2) en tant que propriétaire ;

sudo chown www-data:www-data /media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

Enfin, vous devez modifier le fichier config.php;

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

Recherchez la ligne suivante et modifiez la valeur de datadirectory.

'datadirectory' => '/var/www/html/nextcloud-data',

Par :

'datadirectory' => '/media/juristyr/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/’,

Enregistrez et fermez le fichier (Touches Control + O puis Control + X).

Rechargez la page Web NextCloud et vous avez terminé.


Étape 8 : Augmenter la limite de mémoire PHP

La limite de mémoire PHP par défaut est de 128 Mo. NextCloud recommande 512 Mo pour de meilleures performances.

Pour modifier la limite de mémoire PHP, modifiez le fichier php.ini.

sudo nano /etc/php/8.2/fpm/php.ini

Trouvez la ligne suivante. (ligne 409) ;

Astuce : Pour accéder directement à une ligne dans le logiciel ‘Putty’, appuyer simultanément sur les touches (Control) et (_’)

Astuce : Pour rechercher un texte dans le logiciel ‘Putty’, appuyer simultanément sur les touches (Control ) et (w).

memory_limit = 128M

Modifiez la valeur.

memory_limit = 1024M

Enregistrez et fermez le fichier. Vous pouvez également exécuter la commande suivante pour modifier la valeur sans ouvrir manuellement le fichier.

sudo sed -i 's/memory_limit = 128M/memory_limit = 1024M/g' /etc/php/8.2/fpm/php.ini

Idem pour php8.3-fpm :

sudo sed -i 's/memory_limit = 128M/memory_limit = 1024M/g' /etc/php/8.3/fpm/php.ini

Rechargez ensuite le service PHP-FPM pour que les modifications prennent effet.

sudo systemctl reload php8.2-fpm php8.3-fpm

Étape 9 : Configurez PHP pour interroger correctement les variables d’environnement système

Modifiez le fichier de configuration : www.conf.

sudo nano /etc/php/8.2/fpm/pool.d/www.conf

Si on utilise une installation par défaut de php-fpm, on peut parfois remarquer des temps de chargement excessifs sur l’interface Web ou même des problèmes de synchronisation. Cela est dû au fait que chaque demande simultanée d’un élément est gérée par un processus PHP-FPM distinct. Ainsi, même sur une petite installation, nous devons autoriser davantage de processus à s’exécuter. Par exemple, sur un serveur avec 4 Go de RAM et 1 Go de cache MySQL, les valeurs suivantes dans votre fichier devraient fonctionner :

Trouvez (en appuyant sur les touches ‘Control + w’) et modifiez certaines lignes de code du fichier de la manière suivante :

pm = dynamic
pm.max_children = 120
pm.start_servers = 12
pm.min_spare_servers = 6
pm.max_spare_servers = 18

Le site internet suivant permet d’affiner les réglages des valeurs de ces lignes code en fonction de la mémoire RAM disponible sur le serveur ;

URL : https://spot13.com/pmcalculator/


Idem pour php8.3-fpm.

sudo nano /etc/php/8.3/fpm/pool.d/www.conf

Modifiez certaines lignes de code du fichier de la manière suivante :

pm = dynamic
pm.max_children = 120
pm.start_servers = 12
pm.min_spare_servers = 6
pm.max_spare_servers = 18

Exécuter la commande suivante pour décommenter la ligne ‘clear_env’ sans ouvrir manuellement les fichiers de configuration php.

pour php8.2-fpm:

sudo sed -i 's/;clear_env = no/clear_env = no/g' /etc/php/8.2/fpm/pool.d/www.conf

idem pour php8.3-fpm:

sudo sed -i 's/;clear_env = no/clear_env = no/g' /etc/php/8.3/fpm/pool.d/www.conf

Rechargez ensuite le service PHP-FPM pour que les modifications prennent effet.

sudo systemctl reload php8.2-fpm php8.3-fpm

Étape 10 : Augmentez la limite de taille des fichiers téléchargés

La limite de taille de fichier de téléchargement maximale par défaut définie par apache2 est de 1 Mo. Pour autoriser le téléchargement de fichiers volumineux sur votre serveur NextCloud, modifiez le fichier de configuration apache2 pour NextCloud.

sudo nano /etc/apache2/conf.d/nextcloud.conf

Nous avons déjà défini la taille de fichier maximale dans ce fichier, comme indiqué par :

client_max_body_size 512M;

Vous pouvez le changer si vous préférez, comme 1G.

client_max_body_size 1024M;

Enregistrez et fermez le fichier. Rechargez ensuite Apache2 pour que les modifications prennent effet.

sudo systemctl reload apache2

PHP définit également une limite de taille de fichier de téléchargement. La taille de fichier maximale par défaut pour le téléchargement est de 2 Mo. Pour augmenter la taille limite de téléchargement, modifiez le fichier de configuration PHP.

sudo nano /etc/php/8.2/fpm/php.ini

Trouvez la ligne suivante (ligne 846).

upload_max_filesize = 2M

Modifiez la valeur comme ci-dessous :

upload_max_filesize = 1024M

Enregistrez et fermez le fichier. Vous pouvez également exécuter la commande suivante pour modifier la valeur sans ouvrir manuellement le fichier.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 1024M/g' /etc/php/8.2/fpm/php.ini

Dans ce fichier assurez-vous que les lignes suivantes reflètent les modifications ci-dessous (les options de configuration commencent autour de la ligne 1799) :

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Effectuez les mêmes modifications dans le fichier /etc/php/8.2/apache2/php.ini

sudo nano /etc/php/8.2/apache2/php.ini

Dans ce fichier , assurez-vous que les lignes suivantes reflètent également les modifications ci-dessous (les options de configuration commencent autour de la ligne 1799) :

opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=10000 
opcache.memory_consumption=128 
opcache.save_comments=1 
opcache.revalidate_freq=1

Une fois que vous avez apporté les modifications, enregistrez et fermez le fichier. (touches ‘Control + o’ puis ‘Control +x’) Pour que les modifications prennent effet, redémarrez ensuite PHP-FPM et apache2.

sudo systemctl restart php8.2-fpm apache2

Faites la même chose pour php8.3.

sudo nano /etc/php/8.3/fpm/php.ini

Trouvez la ligne suivante (ligne 846).

upload_max_filesize = 2M

Modifiez la valeur comme ci-dessous :

upload_max_filesize = 1024M

Enregistrez et fermez le fichier. Vous pouvez également exécuter la commande suivante pour modifier la valeur sans ouvrir manuellement le fichier.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 1024M/g' /etc/php/8.3/fpm/php.ini

Dans ce fichier assurez-vous que les lignes suivantes reflètent les modifications ci-dessous (les options de configuration commencent autour de la ligne 1799) :

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Effectuez les mêmes modifications dans le fichier /etc/php/8.2/apache2/php.ini

sudo nano /etc/php/8.3/apache2/php.ini

Dans ce fichier , assurez-vous que les lignes suivantes reflètent également les modifications ci-dessous (les options de configuration commencent autour de la ligne 1799) :

opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=10000 
opcache.memory_consumption=128 
opcache.save_comments=1 
opcache.revalidate_freq=1

Une fois que vous avez apporté les modifications, enregistrez et fermez le fichier. (touches ‘Control + o’ puis ‘Control +x’) Pour que les modifications prennent effet, redémarrez ensuite PHP-FPM et apache2.

sudo systemctl restart php8.3-fpm apache2

Étape 11 : Configurez le cache Redis pour NextCloud

Si vous accédez à l’onglet Paramètres d’administration -> Vue d’ensemble, l’avertissement suivant peut s’afficher :

« Aucun cache mémoire n’a été configuré. Pour améliorer vos performances, veuillez configurer un cache mémoire si disponible. »

Ainsi, nous allons activer la mise en cache de la mémoire pour Nextcloud en utilisant Redis.

Exécutez la commande suivante pour installer le serveur Redis à partir du référentiel Ubuntu.

sudo apt install redis-server

Vous pouvez vérifier la version avec :

redis-server -v

Sortie :

Redis server v=6.0.16 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=a3fdef44459b3ad6

Nous pouvons maintenant vérifier si le serveur Redis est en cours d’exécution.

systemctl status redis

Astuce : Si la commande ci-dessus ne s’est pas arrêtée immédiatement, vous pouvez appuyer sur la touche Q pour reprendre le contrôle du terminal.

À partir de la capture d’écran ci-dessus, nous pouvons voir qu’il est en cours d’exécution et que le démarrage automatique est activé. Si, pour une raison quelconque, il ne fonctionne pas, exécutez la commande suivante :

sudo systemctl start redis-server

Et si le démarrage automatique au démarrage n’est pas activé, vous pouvez utiliser la commande suivante pour l’activer :

sudo systemctl enable redis-server

Afin de configurer Redis comme cache pour nextCloud, nous devons installer l’extension PHP pour l’interface avec Redis.

sudo apt install php8.2-redis php-redis php8.3-redis

Vérifiez si l’extension est activée.

php8.2 --ri redis

Le texte suivant doit s’afficher :

Nous pouvons voir que l’extension Redis est activée. S’il n’est pas activé, exécutez la commande suivante :

sudo phpenmod redis

Ensuite, modifiez le fichier de configuration config.php de NextCloud .

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

Ajoutez les lignes suivantes juste avant la fin du fichier.

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
 'host' => 'localhost',
 'port' => 6379,
),

L’insertion de ces lignes de code dans le fichier config.php doit s’afficher de la manière suivante :

Profitez en pour ajouter dans le fichier config.php la ligne suivante qui est nécessaire à partir de la la version Nextcloud 28.0.4 :

  'maintenance_window_start' => 1,

Enregistrez et fermez le fichier. Redémarrez ensuite apache2 et PHP-FPM.

sudo systemctl restart apache2 php8.2-fpm php8.3-fpm

Maintenant, allez à nouveau dans l’onglet Paramètres d’administration -> Vue d’ensemble et actualisez la page Web, l’avertissement concernant la mise en cache de la mémoire devrait avoir disparu.


Étape 12 : Paramétrez la configuration de Nextcloud

Si vous voyez le message suivant dans la page Paramètres d’administration -> Vue d’ensemble :

« La base de données manque certains index. En raison du fait que l’ajout d’index sur de grandes tables pouvait prendre un certain temps, ils n’étaient pas ajoutés automatiquement. »

Vous devez ajouter manuellement ces index.

Accédez au répertoire Webroot de Nextcloud.

cd /var/www/html/nextcloud/

Exécutez la commande suivante pour ajouter des index à la base de données Nextcloud.

sudo -u www-data php occ db:add-missing-indices

Maintenant, si vous actualisez la page Paramètres d’administration -> Vue d’ensemble, l’avertissement concernant les index manquants devrait disparaître.


Conversion vers Big Int :

Si vous voyez le message suivant dans la page Paramètres d’administration -> Vue d’ensemble,

« Il manque à certaines colonnes de la base de données une conversion en Bigint. En raison du fait que la modification des types de colonnes sur les grandes tables pouvait prendre un certain temps, elles n’étaient pas modifiées automatiquement.

Vous devez modifier manuellement le type de colonne ».

Accédez au répertoire Webroot Nextcloud :

cd /var/www/html/nextcloud/

Mettez votre Nextcloud en mode maintenance pour empêcher les utilisateurs de se connecter et d’apporter des modifications :

sudo -u www-data php occ maintenance:mode --on

Exécutez ensuite la commande suivante pour modifier le type de colonne :

sudo -u www-data php occ db:convert-filecache-bigint

Une fois que c’est fait, désactivez le mode maintenance :

sudo -u www-data php occ maintenance:mode --off

Maintenant, si vous actualisez la page « Paramètres d’administration -> Vue d’ensemble », l’avertissement concernant le Big int devrait disparaître.


Configurez plus précisément le fichier config.php de Nextcloud (facultatif) :

On peut configurer plus précisément le fichier config.php de Nextcloud.

Commençons par sauvegarder, puis par éditer ce fichier config.php en exécutant les commandes suivantes :

sudo cp /var/www/html/nextcloud/config/config.php /var/www/html/nextcloud/config/config.save.php
sudo nano /var/www/html/nextcloud/config/config.php

Le fichier config.php s’ouvre et devrait, plus ou moins, ressembler à ça :

  'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'passwordsalt' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXXXX',
'trusted_domains' =>
array (
0 => 'cloud.example.com',
1 => 'onlyoffice.example.com',

2 => 'visio.example.com',
3 => 'webmail.example.com',

4 => 'facturation.example.com',
5 => 'comptabilite.example.com',
6 => 'mail.example.com',
7 => 'example.com',
8 => 'collabora.example.com',

9 => 'pdf.example.com',
10 => 'ai.example.com',
11 => 'affine.example.com',
),
'datadirectory' => '/XXXXX/XXXXX/data',
'dbtype' => 'pgsql',
'version' => '28.0.1.1',
'overwrite.cli.url' => 'https://cloud.example.com',
'overwritehost' => 'cloud.example.com',
'htaccess.RewriteBase' => '/',
'dbname' => 'XXXXXXXXXXXXXXX',
'dbhost' => 'XXXXXXXXXXX',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'XXXXXXXXXXX',
'dbpassword' => 'XXXXXXXXXXXXXXXXXXXXX',
'session_lifetime' => 86400,
'remember_login_cookie_lifetime' => 1296000,
'session_relaxed_expiry' => false,

'installed' => true,
'allow_local_remote_servers' => true,
'default_language' => 'fr',
'force_language' => 'fr',
'default_locale' => 'fr_FR',
'force_locale' => 'fr_FR',
'default_phone_region' => 'FR',
'logtimezone' => 'Europe/Paris',
'allow_user_to_change_display_name' => true,
'log_rotate_size' => 52428800,
'enable_previews' => true,

'mail_from_address' => 'XXXXXXXXXXXX',
'mail_smtpmode' => 'smtp',
'mail_sendmailmode' => 'smtp',
'mail_domain' => 'example.com',
'mail_smtpauth' => 1,
'mail_smtphost' => 'mail.example.com',
'mail_smtpport' => '587',
'trashbin_retention_obligation' => 'auto, 4',
'maintenance' => false,
'theme' => '',
'loglevel' => 3,
'app_install_overwrite' =>
array (
0 => 'ojsxc',
1 => 'pdfdraw',
2 => 'files_fulltextsearch_tesseract',
3 => 'previewgenerator',
4 => 'ocr',
5 => 'emlviewer',
6 => 'talk_simple_poll',
7 => 'files_trackdownloads',
8 => 'whiteboard',
9 => 'fulltextsearch_elasticsearch',
10 => 'carnet',
11 => 'sendent',
12 => 'scanner',
13 => 'ocsms',
14 => 'files_texteditor',
15 => 'wopi',
16 => 'documentserver_community',
17 => 'pdfannotate',
18 => 'cms_pico',
19 => 'approval',
20 => 'apporder',
21 => 'extract',
22 => 'fulltextsearch',
23 => 'impersonate',
24 => 'files_fulltextsearch',
25 => 'jitsi',
26 => 'files_linkeditor',
27 => 'onlyoffice',
28 => 'pdf_downloader',
29 => 'transfer',
30 => 'files_mindmap',
31 => 'appointments',
32 => 'data_request',
33 => 'jsloader',
34 => 'user_external',
35 => 'workflow_script',
36 => 'files_scripts',
37 => 'sorts',
38 => 'side_menu',
39 => 'afterlogic',
40 => 'files_downloadactivity',
41 => 'event_update_notification',
42 => 'login_notes',
43 => 'workflow_ocr',
44 => 'files_downloadlimit',
45 => 'workflow_kitinerary',
46 => 'libresign',
47 => 'cfg_share_links',
48 => 'externalportal',
49 => 'registration',),
'enabledPreviewProviders' =>
array (
0 => 'OC\Preview\Movie',
1 => 'OC\Preview\PNG',
2 => 'OC\Preview\JPEG',
3 => 'OC\Preview\GIF',
4 => 'OC\Preview\BMP',
5 => 'OC\Preview\XBitmap',
6 => 'OC\Preview\MP3',
7 => 'OC\Preview\MP4',
8 => 'OC\Preview\TXT',
9 => 'OC\Preview\MarkDown',
10 => 'OC\Preview\PDF',
11 => 'OC\Preview\OpenDocument',
12 => 'OC\Preview\Krita',
13 => 'OC\Preview\EMF',
),
'preview_max_x' => 128,
'preview_max_y' => 128,
'preview_max_filesize_image' => 128,

'updater.release.channel' => 'stable',
'mail_smtpsecure' => 'tls',
'mail_smtpauthtype' => 'LOGIN',
'mail_smtpname' => 'XX*******@ex*****.com',
'mail_smtppassword' => 'xxxxxxxxxxxxxxxxx',
'maintenance_window_start' => 1,
'memcache.distributed' => 'OC\Memcache\Redis',
'memcache.local' => 'OC\Memcache\Redis',
'memcache.locking' => 'OC\Memcache\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
'timeout' => 0.0,
),
'has_rebuilt_cache' => true,
'defaultapp' => 'files,dashboard',
);

Copiez – collez les lignes manquantes par rapport votre fichier config.php, et notamment celles en jaune (facultatif).

Si vous avez un message d’erreur en vous connectant à l’adresse cloud.exemple.com ou en actualisant la page de Nextcloud, vérifiez que vous n’avez pas oublié une virgule (,) ou un guillemet (‘) à la fin d’une des lignes ajoutées, et sinon, en désespoir de cause, remplacez votre fichier ‘config.php’ par votre fichier sauvegardé config.save.php’ avec les commandes suivantes :

sudo rm /var/www/html/nextcloud/config/config.php 
# avec la commande 'mv', on renome (ou déplace) le fichier config.save.php par config.php :
sudo mv /var/www/html/nextcloud/config/config.save.php /var/www/html/nextcloud/config/config.php

Par contre, si tout fonctionne à la suite de vos modifications (ouf !), supprimez le fichier de sauvegarde ‘config.save.php’ :

sudo rm /var/www/html/nextcloud/config/config.save.php 

Comment installer le client NextCloud sur le bureau Ubuntu 22.04 de votre système d’exploitation

Si vous utilisez un ordinateur sous linux, exécutez les commandes suivantes sur le bureau Ubuntu 22.04 pour installer le client à partir du référentiel par défaut.

sudo apt install nextcloud-client

NextCloud Client on Ubuntu 22.04 :

Sinon installez le logiciel client pour MacOS, Windows, Android et iOS qui est disponible sur la page de téléchargement de Nextcloud.

Vous pourrez accéder à vos fichiers même en état hors ligne.

Il se synchroniseront avec le serveur Nextcloud dès que votre connexion à internet sera rétablie.


Comment activer OnlyOffice/Collabora Online :

Par défaut, Nextcloud est livré avec la prise en charge de OnlyOffice, une suite bureautique en ligne qui vous permet de modifier vos fichiers doc, ppt, xls directement depuis NextCloud.

Nous avons seulement besoin d’installer une application pour utiliser cette fonctionnalité.

Allez dans Nextcloud Apps -> Office & Text. Recherchez et activez l’application de serveur de documents de la communauté.

Désormais, lorsque vous cliquez sur le bouton Ajouter (+) dans Nextcloud, vous pourrez créer des documents Word, des feuilles de calcul et des présentations directement depuis votre serveur Nextcloud.

Cependant, cette application n’est parfois pas très fiable.

De plus, l’édition communautairede OnlyOffice n’autorise que 20 utilisateurs au maximum. Vous devez acheter une édition entreprise si vous avez plus de 20 utilisateurs.

Il existe une autre suite bureautique en ligne open source basée sur LibreOffice appelée NextcloudOffice ou CollaboraOnline qui a la même fonctionnalité, mais sans la limitation du nombre d’utilisateurs.


Ajout d’une entrée DNS locale :

Il est recommandé de modifier le fichier /etc/hosts sur votre serveur Nextcloud et d’ajouter l’entrée suivante, afin que Nextcloud lui-même n’ait pas à interroger le DNS public, ce qui peut améliorer la stabilité globale.

Si votre serveur Nextcloud ne parvient pas à résoudre le nom d’hôte , vous pouvez rencontrer une erreur de dépassement de délai de passerelle 504.

sudo nano /etc/hosts

Sortie :

127.0.0.1   localhost cloud.exemple.com

Une adresse IP dans le fichier /etc/hosts peut avoir plusieurs noms d’hôte, donc si vous avez d’autres applications installées sur la même boîte, vous pouvez également ajouter d’autres noms d’hôte ou sous-domaines sur la même ligne comme ceci :

127.0.0.1   localhost focal ubuntu cloud.exemple.com collabora.exemple.com

Utilisez Cron pour exécuter des tâches en arrière-plan :

Par défaut, Nextcloud utilise AJAX pour exécuter une tâche à chaque chargement de page.

Vous pouvez utiliser le service cron système plus efficace pour exécuter des tâches en arrière-plan.

Allez dans Paramètres Nextcloud -> Paramètres de base et sélectionnez Cron.

Ensuite, modifiez le fichier crontab de l’utilisateur www-data.

sudo -u www-data crontab -e

Ajoutez la ligne suivante dans ce fichier, afin que la tâche cron s’exécute toutes les 5 minutes.

*/5 * * * * php8.2 -f /var/www/html/nextcloud/cron.php

Enregistrez et fermez le fichier.


Installez les applications Nextcloud recommandées pour la plateforme Juris-Tyr (facultatif) :

Nous vous recommandons d’installer les applications Nextcloud suivantes. Ces applications se sont avérées bien utiles pour collaborer avec le client ou avec d’autres confères sur des documents. ou dé gérer les taches et e-mails.

Placez vous dans le répertoire d’installation de Nextcloud :

cd /var/www/html/nextcloud

Exécutez les commandes suivantes :

sudo -u www-data php occ app:install approval
sudo -u www-data php occ app:install bookmarks
sudo -u www-data php occ app:install certificate24
sudo -u www-data php occ app:install cfg_share_links
sudo -u www-data php occ app:install collectives
sudo -u www-data php occ app:install data_request
sudo -u www-data php occ app:install deck
sudo -u www-data php occ app:install emlviewer
sudo -u www-data php occ app:install external
sudo -u www-data php occ app:install externalportal
sudo -u www-data php occ app:install extract
sudo -u www-data php occ app:install federatedfilesharing
sudo -u www-data php occ app:install federation
sudo -u www-data php occ app:install files_accesscontrol
sudo -u www-data php occ app:install files_automatedtagging
sudo -u www-data php occ app:install files_confidential
sudo -u www-data php occ app:install files_downloadactivity
sudo -u www-data php occ app:install files_downloadlimit
sudo -u www-data php occ app:install files_external
sudo -u www-data php occ app:install files_fulltextsearch
sudo -u www-data php occ app:install fulltextsearch_elasticsearch
sudo -u www-data php occ app:install files_fulltextsearch_tesseract
sudo -u www-data php occ app:install files_linkeditor
sudo -u www-data php occ app:install files_rightclick
sudo -u www-data php occ app:install files_scripts
sudo -u www-data php occ app:install files_sharing
sudo -u www-data php occ app:install files_versions
sudo -u www-data php occ app:install flow_notifications
sudo -u www-data php occ app:install forms
sudo -u www-data php occ app:install fulltextsearch
sudo -u www-data php occ app:install fulltextsearch
sudo -u www-data php occ app:install integration_openai
sudo -u www-data php occ app:install integration_replicate
sudo -u www-data php occ app:install logreader
sudo -u www-data php occ app:install notes
sudo -u www-data php occ app:install onlyoffice
sudo -u www-data php occ app:install provisioning_api
sudo -u www-data php occ app:install recommendations
sudo -u www-data php occ app:install registration
sudo -u www-data php occ app:install sharebymail
sudo -u www-data php occ app:install side_menu
sudo -u www-data php occ app:install socialsharing_email
sudo -u www-data php occ app:install stt_whisper
sudo -u www-data php occ app:install tables
sudo -u www-data php occ app:install text_templates
sudo -u www-data php occ app:install translate
sudo -u www-data php occ app:install unsplash
sudo -u www-data php occ app:install workflow_ocr
sudo -u www-data php occ app:install workflowengine
sudo -u www-data php occ app:install workflow_pdf_converter
sudo -u www-data php occ app:install calendar
sudo -u www-data php occ app:install contacts
sudo -u www-data php occ app:install contactsinteraction
sudo -u www-data php occ app:install richdocuments
sudo -u www-data php occ app:install activity
sudo -u www-data php occ app:install gptfreeprompt
sudo -u www-data php occ app:install memegen
sudo -u www-data php occ stt_whisper:download-models medium
sudo -u www-data php occ stt_whisper:download-models large
sudo -u www-data php occ translate:download-models

Il est possible que certains lignes de commande renvoient des erreurs si l’application est déjà installée. Ne pas en tenir compte et passer à la ligne suivante.

Enfin, on installe ffmpeg pour permettre à l’application Nextcloud de reconnaissance vocale, via Whisper, de fonctionner :

sudo apt install ffmpeg

Installez Elasticsearch dans Nextcloud (facultatif)

Elasticsearch est un programme qui permet d’effectuer au sein de Nextcloud des recherches dans le contenu de vos documents .doc et .pdf. (et non simplement par le nom du fichier).

Son installation est facultative dans la mesure où il peut consommer beaucoup de mémoire.

Afin de simplifier son installation, nous allons installer et utiliser ‘Docker.’

Cependant cette installation via docker ne fonctionnera pas si votre serveur fonctionne sous un processeur autre que x86-amd64, tels que le processeur arm64 comme sont notamment équipés les Raspberry 4B ou les Orangepi 5. Pour ces micro ordinateurs il convient de procéder à une installation ‘classique’. Il faut alors se reporter à la documentation officielle pour cela.

Exécuter les commandes suivantes :

cd ~
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt-cache policy docker-ce
sudo apt install -y  docker-ce

Installons Docker compose :

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Installons désormais Elasticsearch avec Docker compose avec les lignes de commande suivantes:

sudo wget https://raw.githubusercontent.com/R0Wi/elasticsearch-nextcloud-docker/master/docker-compose.yml
sudo echo "DOCKER_TAG=8.6.1" > .env
sudo docker-compose up -d

Astuce – comment lister et supprimer un conteneur Docker (facultatif) :

Il peut arriver que le conteneur docker soit mal installé et/ou qu’on veuille le supprimer.
En premier lieu, listons les conteneurs docker avec la commande suivante :

sudo docker ps -a

Une liste de conteneurs apparaît avec des numéros attribués, par exemple l’un avec le numéro 5235654 pour le docker Elasticsearch.
Arretons puis supprimons le conteneur numéro 5235654.

sudo docker stop 5235654
sudo docker rm 5235654

Listons les images de docker. Les images sont, en résumé, les dossiers contenant les données des logiciels installés par Docker.

sudo docker images

Supprimons les images concernées. Par exemple l’image numéro 677654.

sudo docker rmi 677654

Puis enfin supprimons les volumes docker inutilisés avec la commande suivante.

sudo docker system prune 

Une fois Elasticsearch installé, allez dans les paramètres d’administration de Nextcloud, à l’onglet ‘Recherche intégrale’, indiquez les informations suivantes :

Plateforme de recherche : Elasticsearch
Adresse du Servlet : http://localhost:9200/
Index : myindex

Enable OCR : X (cochez la case)
Languages : eng,fra

Installez également Tesseract qui est un programme de reconnaissance de caractères dans les fichiers PDF et dans les images :

sudo add-apt-repository ppa:alex-p/tesseract-ocr5
sudo apt update
sudo apt install -y  tesseract-ocr
sudo apt-get install -y  tesseract-ocr-fra
sudo apt-get install -y  tesseract-ocr-deu

Revenez dans le dossier root de Nextcloud :

cd /var/www/html/nextcloud

Exécutez la commande suivante pour indexer le contenu des dossiers :

sudo -u www-data php occ fulltextsearch:stop
sudo -u www-data php occ fulltextsearch:reset
sudo -u www-data php occ fulltextsearch:index

Félicitations ! Elasticsearch et Nextcloud sont installés sur votre serveur.


Mettre à jour Nextcloud :

Il est important de garder Nextcloud à jour avec les dernières mises à jour de sécurité. Les mises à jour de Nextcloud peuvent se faire en ligne de commande ou via l’interface web.

Choix n°1 : Mettre à jour Nextcloud à partir avec des lignes de commande (plus sûr mais plus complexe)

La méthode de ligne de commande est plus efficace et vous verrez moins d’erreurs par rapport à l’application de mise à jour basée sur l’interface Web.

Si votre instance Nextcloud comporte de nombreux utilisateurs et/ou fichiers, vous devriez préférer la méthode de mise à jour via les lignes de commande.

Commencez par accéder au répertoire d’installation de NextCloud.

cd /var/www/html/nextcloud/

Ensuite, lancez le programme de mise à jour basé avec la ligne de commande suivante :

sudo -u www-data php updater/updater.phar --no-interaction
Upgrade Nextcloud From the Command Line
https://www.linuxbabe.com/cloud-storage/upgrade-nextcloud-command-line-gui

Exécutez ensuite les commandes suivantes :

sudo -u www-data php occ upgrade 
sudo -u www-data php occ db:add-missing-indices
sudo -u www-data php occ db:convert-filecache-bigint

Une fois la mise à niveau terminée, accédez à la page Paramètres d’administration  -> Vue d’ensemble et vous verrez que votre version de Nextcloud est à jour.

Choix n°2 : Mettre à jour NextCloud via l’interface web

Accédez à la page Paramètres d’administration de NextCloud et sélectionnez l’onglet ‘Présentation ‘Vue d’ensemble’ dans la barre latérale gauche.

Si une nouvelle version est disponible, cliquez sur le bouton ‘Ouvrir le programme de mise à jour’ .

Upgrade NextCloud with the Graphical Web-based Updater App
https://www.linuxbabe.com/cloud-storage/upgrade-nextcloud-command-line-gui

Cliquez ensuite sur le bouton ‘Démarrer la mise à jour’.

nextcloud upgrade
https://www.linuxbabe.com/cloud-storage/upgrade-nextcloud-command-line-gui

NextCloud sera mis en mode maintenance et se préparera à la mise à niveau.

upgrade nextcloud
https://www.linuxbabe.com/cloud-storage/upgrade-nextcloud-command-line-gui

Une fois cette étape terminée, vous avez la possibilité de garder la maintenance active ou de désactiver le mode maintenance.

  • Si vous disposez d’une installation NextCloud volumineuse (nombreux utilisateurs et fichiers), il est recommandé de sélectionner Oui et d’utiliser la ligne de commande pour mettre à jour NextCloud.
  • Si vous disposez d’une petite installation NextCloud, vous pouvez choisir Non et utiliser le programme de mise à jour Web.
nextcloud maintenance mode
https://www.linuxbabe.com/cloud-storage/upgrade-nextcloud-command-line-gui

Si vous choisissez Non, cliquez sur Revenir à votre instance Nextcloud pour terminer le bouton de mise à jour. Vous serez redirigé vers la page d’accueil de NextCloud et l’écran suivant vous sera présenté. Cliquez sur Démarrer la mise à jour.

nextcloud update
https://www.linuxbabe.com/cloud-storage/upgrade-nextcloud-command-line-gui

Le temps de mise à jour varie en fonction de la taille de votre installation.

Une fois la mise à jour terminée, accédez à la page Paramètres d’administration -> Vue d’ensemble et vous verrez que votre version de Nextcloud est à jour.


Erreurs possibles lors de la mise à jour :
Erreur « Extra Files » :

Lors de la mise à niveau de Nextcloud, vous pouvez voir cette erreur : Les fichiers supplémentaires suivants ont été trouvés : « .well-know »

Vous pouvez sauvegarder ces fichiers « supplémentaires », les supprimer et réessayer la mise à jour. Une fois la mise à jour terminée, remettez ces fichiers.

Erreur « 504 Gateway Timeout » :

Si le téléchargement a échoué en raison d’une erreur de délai d’expiration de la passerelle 504, vous devez alors redémarrer PHP-FPM.

sudo systemctl restart php8.2-fpm

ou :

sudo systemctl restart php8.3-fpm
Erreur ‘Échec du téléchargement du fichier ZIP Nextcloud’ :

Si vous rencontrez l’erreur suivante, cela est probablement dû au fait que votre serveur n’a pas réussi à télécharger le nouveau fichier ZIP Nextcloud. Veuillez recharger cette page plus tard.

Vous devez vous connecter en SSH à votre serveur Nextcloud et passer à l’utilisateur root.

sudo su

Accédez à votre répertoire de données Nextcloud.

cd /var/www/html/nextcloud/data

Dans ce répertoire, il y a un sous-répertoire qui commence par updater. Vous pouvez exécuter la commande ls pour répertorier les fichiers et sous-répertoires.

ls -a

Le nom de ce dossier peut-être par exemple : ‘updater-ocao14wqklov’, Allez dans ce dossier :

cd updater-ocao14wqklov

Listez ensuite tous les fichiers et sous-répertoires, y compris ceux masqués avec la commande suivante :

ls -a

Vous trouverez un fichier .step et un sous-répertoire de téléchargements. Le fichier .step assure le suivi de l’état de la mise à niveau. Nous devons supprimer ce fichier.

rm .step

Accédez ensuite au sous-répertoire « downloads ».

cd downloads/

Supprimez le fichier ZIP téléchargé.

rm nextcloud-*.zip

Ensuite, nous téléchargeons manuellement le fichier ZIP Nextcloud avec la commande suivante. Vous devez évidemment remplacer 28.0.4 par la version de Nextcloud vers laquelle vous souhaitez effectuer la mise à niveau.

wget https://download.nextcloud.com/server/releases/nextcloud-28.0.4.zip

Une fois le téléchargement terminé, revenez à l’application de mise à jour Web et cliquez sur le bouton « Démarrer la mise à jour ».

Réparez votre installation Nextcloud :

Si vous ne parvenez pas à corriger une erreur à l’aide des conseils ci-dessus, vous pouvez utiliser la commande de réparation Nextcloud. Accédez à votre répertoire d’installation Nextcloud et exécutez la commande suivante.

cd /var/www/html/nextcloud
sudo -u www-data php occ maintenance:repair
Impossible de mettre à jour Nextcloud vers la dernière version stable ?

La disponibilité d’une version stable majeure peut prendre un certain temps dans le canal de mise à jour stable, car certaines applications importantes peuvent ne pas disposer de mises à jour pour la prochaine version stable majeure.

Par exemple, Nextcloud Hub 8 ou Nextcloud 29 est désormais la dernière version stable, mais si l’application de mise à jour basée sur le Web ne vous permet pas de passer à Nextcloud 29. Dans ce cas, vous devez modifier le canal de mise à jour de stable à bêta.

nextcloud change the update channel from stable to beta

Vous pouvez ensuite passer à Nextcloud 29, en sachant que certaines applications ne pourront ne plus être utilisables…

C’est pourquoi, si vous utilisez Nextcloud à titre professionnel, nous vous recommandons d’éviter d’installer les versions ‘beta’ car vous ne pourrez plus revenir vers une version ‘stable’ et car vous aurez peut-être des messages d’erreur. Il faut rester patient.

Si vous avez fait une erreur en installant une version beta de Nextcloud, réinstallez la dernière sauvegarde de votre serveur / VPS depuis l’interface d’OVHCloud :

Une fois la mise à niveau terminée, il est recommandé de revenir au canal de mise à jour stable.


-> Se rendre au sommaire
-> Poster un commentaire

Passer à la phase 5 : Installation de CollaboraOnline (Suite office Open-source et gratuite)

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez encore un peu de temps et vous souhaitez continuer à apprendre comment installer un serveur ?

On continue !


Tutoriel 5 : Installez CollaboraOnline (facultatif)

-> Retour au sommaire

Ce tutoriel va vous montrer comment installer un serveur Collabora Online, puis l’intégrer à un serveur Nextcloud pour utiliser l’app Nextcloud Office.

Pour utiliser la suite bureautique Nextcloud Office, il faut :

  • soit installer l’app serveur CollaboraOnline / Nextcloud Office intégrée à Nextcloud,
  • soit installer / configurer un serveur CollaboraOnline, à part. C’est justement ce que nous vous proposons de faire car cela permet d’obtenir une meilleur réactivité de l’application Nextcloud Office lors des éditions de documents lors de collaborations avec plusieurs utilisateurs en même temps (sur le même document…).

Vous devez noter que le suivi de cette partie du tutoriel pour installer un serveur CollaboraOnline à part, est facultatif. En effet, une fois que Nextcloud est installé, vous pouvez vous limiter à installer l’app Nextcloud ‘Collabora Online – Built-in CODE Server‘ pour faire fonctionner Nextcloud Office si votre plateforme est destinée à avoir peu d’utilisateurs simultanés de cette app (environ 4/5).

Collabora Online / Nextcloud Office est une suite bureautique en ligne open source auto-hébergée et basée sur LibreOffice.

Ses principales fonctionnalités sont d’être une suite bureautique similaire à celle de Microsoft Office 360 et bien entendu, la prise en charge des formats de documents DOC, DOCX, PPT, PPTX, XLS, XLSX, ODF

Cette suite bureautique en ligne a besoin d’un serveur spécifique pour fonctionner. Ce serveur peut être installé directement dans Nextcloud avec l’app ‘Collabora Online – Built-in CODE Server‘ ou à part, en suivant ce tutoriel.


Conditions préalables :

Il est supposé que vous avez déjà configuré un serveur Nextcloud.

Le serveur Collabora Online et le serveur Nextcloud peuvent être sur la même machine ou sur deux machines différentes.

Ce tutoriel montre comment installer le serveur en ligne Collabora sur Ubuntu 22.04, sans utiliser Docker.


Étape 1 : Installez Collabora Online sur Ubuntu à partir du référentiel officiel

Collabora dispose d’un référentiel de packages officiel pour Ubuntu 22.04.

Exécutez la commande suivante pour l’ajouter à votre système Ubuntu. Ubuntu 22.04

echo deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2204 ./ | sudo tee /etc/apt/sources.list.d/collabora.list

Exécutez ensuite la commande suivante pour télécharger et importer la clé publique Collabora, ce qui permet au gestionnaire de packages APT de vérifier l’intégrité des packages téléchargés à partir de ce référentiel.

sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 0C54D189F4BA284D ubuntu Collabora public key

Si vous ne pouvez pas importer la clé publique avec la commande ci-dessus, vous pouvez utiliser la commande suivante pour télécharger et importer la clé.

sudo wget https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7/repodata/repomd.xml.key && sudo apt-key add repomd.xml.key

Étant donné que ce référentiel utilise une connexion HTTPS, nous devons installer les packages apt-transport-https et ca-certificates, afin que le gestionnaire de packages APT puisse établir une connexion sécurisée au référentiel.

sudo apt install -y  apt-transport-https ca-certificates

Maintenant, mettez à jour l’index des packages locaux et installez Collabora Online. coolwsd est le service Collabora Online WebSocket.

sudo apt update
sudo apt install -y  coolwsd code-brand

Étape 2 : Configurez le service WebSocket de Collabora Online

Après leur installation, vous pouvez vérifier l’état du service coolwsd.

systemctl status coolwsd

Sortie :

Astuce: Si la commande ci-dessus ne s’est pas arrêtée immédiatement, vous pouvez appuyer sur la touche Q pour la faire s’arrêter.

Comme vous pouvez le voir, il n’a pas pu démarrer. Nous pouvons consulter le journal pour voir pourquoi cela s’est produit :

sudo journalctl -eu coolwsd

Sortie :

Apr 21 16:13:06 ubuntu coolwsd[13842]: File not found: /etc/coolwsd/ca-chain.cert.pemApr 21 16:13:06 ubuntu systemd[1]: coolwsd.service: Main process exited, code=exited, statusApr 21 16:13:06 ubuntu systemd[1]: coolwsd.service: Failed with result ‘exit-code’.Apr 21 16:13:07 ubuntu systemd[1]: coolwsd.service: Service hold-off time over, scheduling rApr 21 16:13:07 ubuntu systemd[1]: coolwsd.service: Scheduled restart job, restart counter iApr 21 16:13:07 ubuntu systemd[1]: Stopped LibreOffice Online WebSocket Daemon.Apr 21 16:13:07 ubuntu systemd[1]: coolwsd.service: Start request repeated too quickly.Apr 21 16:13:07 ubuntu systemd[1]: coolwsd.service: Failed with result ‘exit-code’.Apr 21 16:13:07 ubuntu systemd[1]: Failed to start LibreOffice Online WebSocket Daemon.

Par défaut, le service coolwsd active une connexion TLS. Cependant, il n’a pas trouvé de fichier de certificat TLS, d’où l’échec du démarrage. Il est préférable de désactiver TLS dans coolwsd et de paramétrer TLS sur un proxy inversé. Le fichier de configuration coolwsd se trouve dans un sous dossierdu dossier opt. Cependant, il s’agit d’un fichier XML, qui n’est pas facile à lire et à modifier. Pour remédier à cela, nous pouvons utiliser l’outil coolconfig pour modifier les configurations.

Exécutez la commande suivante pour désactiver TLS dans coolwsd.

sudo coolconfig set ssl.enable false

Et activez la terminaison TLS au niveau du proxy inversé.

sudo coolconfig set ssl.termination true

Par défaut, le service coolwsd n’autorise que les hôtes connus à accéder à son service.

Pour autoriser Nextcloud à accéder au service, exécutez la commande suivante pour ajouter votre nom d’hôte Nextcloud.

sudo coolconfig set storage.wopi.host cloud.exemple.com

Vous pouvez également activer le compte administrateur pour coolwsd avec la commande suivante.

Vous devrez définir un nom d’utilisateur et un mot de passe pour le compte administrateur.

sudo coolconfig set-admin-password

Redémarrez le service coolwsd pour que les modifications prennent effet.

sudo systemctl restart coolwsd

Maintenant, il devrait fonctionner sans erreur.

systemctl status coolwsd

Sortie :


Étape 3 : Configurez le Reverse proxy

Le serveur Nextcloud nécessite un certificat TLS sur Collabora Online, nous devrons donc créer un hôte virtuel, donner un nom de domaine à l’hôte virtuel, configurer un proxy ‘inverse’ (Reverse proxy) et installer le certificat TLS. Nous pouvons utiliser Apache pour y parvenir.

Créons un fichier de configuration pour le serveur Apache :

sudo nano /etc/apache2/sites-available/collabora.conf

Mettez le texte suivant dans le fichier.

Remplacez le nom de domaine par votre nom de domaine réel pour Collabora Online.

Le sous-domaine utilisé pour l’accès à Collabora Online sera « collabora.exemple.com » . Ainsi, n’oubliez pas de créer également un nouvel enregistrement DNS ‘A’ pour ce sous-domaine « collabora.exemple.com » –> Consulter l’étape 1 de la phase 4 pour se rappeler des démarches.

Installez le serveur Web Apache avec la commande suivante :

sudo apt install apache2

Exécutez la commande suivante pour créer un fichier hôte virtuel Apache pour Collabora Online.

sudo nano /etc/apache2/sites-available/collabora.conf

Collez le texte suivant dans le fichier. Remplacez le nom de domaine par votre nom de domaine réel pour Collabora Online. N’oubliez pas de créer un enregistrement DNS A pour ce sous-domaine : collabora.exemple.com.

<VirtualHost *:80>
  Protocols h2 http/1.1
  ServerName collabora.exemple.com
  Options -Indexes

  ErrorLog “/var/log/apache2/collabora_error”

  # Encoded slashes need to be allowed
    AllowEncodedSlashes NoDecode

  # keep the host
    ProxyPreserveHost On

  # static html, js, images, etc. served from coolwsd
  # loleaflet/browser is the client part of Collabora Online
    ProxyPass /loleaflet http://127.0.0.1:9980/loleaflet retry=0
    ProxyPassReverse /loleaflet http://127.0.0.1:9980/loleaflet
    ProxyPass /browser http://127.0.0.1:9980/browser retry=0
    ProxyPassReverse /browser http://127.0.0.1:9980/browser

  # WOPI discovery URL
    ProxyPass /hosting/discovery http://127.0.0.1:9980/hosting/discovery retry=0
    ProxyPassReverse /hosting/discovery http://127.0.0.1:9980/hosting/discovery

  # Capabilities
    ProxyPass /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities retry=0
    ProxyPassReverse /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities

  # Main websocket
    ProxyPassMatch “/cool/(.*)/ws$” ws://127.0.0.1:9980/cool/$1/ws nocanon
  
  # Admin Console websocket
    ProxyPass /cool/adminws ws://127.0.0.1:9980/cool/adminws

  # Download as, Fullscreen presentation and Image upload operations
    ProxyPass /cool http://127.0.0.1:9980/cool
    ProxyPassReverse /cool http://127.0.0.1:9980/cool

</VirtualHost>


Enregistrez et fermez le fichier avec les touches : [control] + [X] puis [o] (ou {y]).

Pour pouvoir relayer proxy à l’aide d’Apache, nous devons activer certains modules Apache.

sudo a2enmod proxy proxy_wstunnel proxy_http

Activez cet hôte virtuel avec la commande suivante :

sudo a2ensite collabora.conf

Redémarrez ensuite Apache.

sudo systemctl restart apache2

Étape 4 : Obtenir et installer le certificat TLS

Maintenant, obtenons un certificat TLS gratuit de Let’s encrypt.

Exécutez les commandes suivantes pour installer le client Let’s Encrypt (certbot) à partir du référentiel de logiciels par défaut.

sudo apt install -y  certbot

Si vous utilisez le serveur Web Apache, vous devez également installer le plug-in Certbot Apache.

sudo apt install -y  python3-certbot-apache

Exécutez ensuite la commande suivante pour obtenir un certificat TLS/SSL gratuit.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email yo*@ex*****.com -d collabora.example.com

Redémarrer le serveur apache

sudo systemctl restart apache2

Dernière étape : connecter Nextcloud à Collabora Online

Dans votre tableau de bord Nextcloud, rendez-vous sur la page ‘Applications’.

(https://nextcloud.example.com/settings/apps).

Ensuite, accédez à la section Office & Text, recherchez l’application Nextcloud Office, puis cliquez sur le bouton Télécharger et activer. (Remarque : l’application Collabora Online a été renommée Nextcloud Office).

Une fois cette application activée, accédez à la page Paramètres de Nextcloud -> Administration -> Cliquez sur l’onglet Nextcloud Office à gauche.

Par défaut, il utilise le serveur CODE intégré, qui n’est pas adapté à une utilisation en production.

Nous devons sélectionner Utiliser votre propre serveur et saisir le nom de domaine de votre Collabora Online, y compris le préfixe https://, puis cliquer sur le bouton Enregistrer.

Dans les paramètres avancés, vous pouvez également définir OOXML comme format par défaut, afin que les fichiers soient compatibles avec le logiciel Microsoft Office.

Désormais, lorsque vous cliquez sur le bouton Ajouter (+) dans Nextcloud, vous pourrez créer des documents Word, des feuilles de calcul et des présentations directement depuis votre serveur Nextcloud. (Remarque : Firefox a un problème pour charger les fichiers .docx dans Nextcloud car Firefox n’autorise pas le fichier image SVG à charger les fichiers CSS. Vous pouvez utiliser le navigateur Google Chrome ou Chromium.)

La console d’administration coolwsd est disponible à l’adresse

https://collabora.example.com/browser/dist/admin/admin.html.

Vous devez entrer le nom d’utilisateur et le mot de passe, qui ont été créés à l’étape 2.

Dépannage Vous pouvez consulter les journaux de coolwsd pour trouver des indices car peut-être qu’il ne tourne pas.

sudo journalctl -eu coolwsd

Et vérifiez les journaux du serveur Web.

nano /var/log/apache2/collabora_error

Comment mettre à jour Collabora Online ?

Exécutez simplement les commandes puis pour mettre à jour Collabora Online.

Au cours du processus de mise à jour, il se peut que l’on vous demande si vous souhaitez utiliser le nouveau fichier de configuration coolwsd.xml.

Si vous choisissez Oui, vous devez suivre à nouveau l’étape 2 de la phase 5 pour reconfigurer Collabora Online WebSocket Daemon.

-> Se rendre au sommaire
-> Poster un commentaire

Passer à la phase 6 : Installation de OnlyOffice (Suite office)

L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez encore un peu de temps et vous souhaitez continuer à apprendre comment installer un serveur ?


Tutoriel 6 : Installez OnlyOffice (facultatif)

-> Retour au sommaire

Ce tutoriel vous montrera comment intégrer OnlyOffice à Nextcloud, vous pourrez ainsi éditer des documents bureautiques (DOCX, XLSX, PPTX, etc.) directement depuis l’interface Web de NextCloud, ajouter des plug in tels que ChatGPT…etc..

OnlyOffice est une application doublon de Nextcloud Office. Il n’est pas indispensable de l’installer avec la solution logicielle Juris-Tyr. Nous vous proposons un tutoriel pour l’installer car nous avons remarqué que l’application OnlyOffice est plus fidèle aux ‘standards’ de mise en forme des documents de Microsoft Office que ne l’est l’application Nextcloud Office.

Toutefois, l’installation de l’application OnlyOffice est facultative pour profiter de la solution logicielle proposée par Juris-Tyr.


OnlyOffice est une suite bureautique avec des fonctionnalité quasi équivalentes à Microsoft Office.

  • Fonctionnalité de l’application d’intégration Nextcloud OnlyOffice
  • Éditeur de texte complet disponible en ligne avec toutes les fonctionnalités des éditeurs de bureau.
  • 100 % de fidélité d’affichage, de conversion, d’impression et de pagination.
  • Il vous permet d’ajouter des liens, des tableaux, des graphiques, d’insérer des images, des formes automatiques, des formules, des objets texte et de les manipuler, de créer des listes à puces ou numérotées.
  • Édition collaborative en temps réel avec vos coéquipiers : affichez les modifications instantanément ou uniquement après les avoir enregistrées.
  • Utilisez les commentaires et le chat intégré pour examiner et suivre les modifications.
  • Prend en charge l’édition et l’enregistrement de fichiers DOCX, XLSX, PPTX, TXT.
  • Vous pouvez également enregistrer le fichier dans d’autres formats tels que ODT, ODS, ODP, DOC, XLS, PPT, PPS, EPUB, RTF, HTML, HTM.
  • Entièrement compatible avec les formats Office Open XML : .docx, .xlsx, .pptx
  • Enregistrez automatiquement vos fichiers pour ne pas perdre votre travail.
  • Prend en charge les caractères latins, CJK (chinois, japonais, coréen).
  • Module ChatGPT pour aider à la rédaction des documents

Il est possible d’installer OnlyOffice directement sur son ordinateur personnel, il s’agit alors du logiciel OnlyOffice Desktop, téléchargeable via ce lien.

Vous pouvez également l’installer sur un serveur / VPS pour que vous-même, ou vos collaborateurs, puissiez accéder à vos documents et travailler depuis n’importe quel PC depuis le navigateur internet ! C’est justement l’objet de ce tutoriel.

Si OnlyOffice est installé sur un serveur / VPS, vous pourrez accéder à OnlyOffice depuis Nextcloud mais également depuis un site web (sans devoir vous connecter préalablement à Nextcloud) en tapant l’adresse https://onlyoffice.exemple.com dans la barre d’adresse de votre navigateur.


Conditions préalables pour l’installation sur un serveur / VPS :

Le serveur de documents OnlyOffice nécessite au moins un serveur avec processeur à 2 cœurs et 2 Go de RAM. Pour le faire fonctionner correctement avec Nextcloud, on recommande d’utiliser un serveur avec un processeur 4 cœurs et 4 Go de RAM.

Nous allons cette fois passer par l’installation d’un docker OnlyOffice avec Apache comme proxy inverse pour l’édition de documents Nextcloud.

Pour commencer l’installation, la première chose que nous ferons est de pointer un domaine ou un sous-domaine vers l’adresse IP du serveur. Le système d’exploitation utilisé dans cette configuration est Ubuntu 22.04.

Il convient de créer un sous domaine ‘exemple.com’ dans votre espace de gestion de nom de domaine de votre prestataire. Reportez-vous à l’étape 1 de la phase 4.

Installez certains packages de base requis.

sudo apt install -y  apt-transport-https ca-certificates curl software-properties-common

Ajouter un référentiel docker pour Ubuntu 22.04. La commande ci-dessous est une ligne.

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

(changer l’architecture ‘amd64’ par ‘arm64’ si votre serveur est un Raspberry ou un OrangePi).

Mettez à jour le système et installez Docker et d’autres packages.

sudo apt update
sudo apt install -y  apache2 vim docker-ce

Après l’installation des packages, nous activerons certains modules Apache.

sudo a2enmod ssl rewrite headers proxy proxy_http deflate cache proxy_wstunnel

Redémarrer Apache.

sudo systemctl restart apache2

Créez un fichier d’hôte virtuel OnlyOffice pour Apache .

sudo nano /etc/apache2/sites-available/onlyoffice.conf

Collez les lignes de code ci-dessous en remplaçant exemple.com par votre nom de domaine (avocats-dupond.com) :

<VirtualHost *:80>
ServerName onlyoffice.exemple.com
ErrorLog ${APACHE_LOG_DIR}/onlyoffice.exemple.com.error.log
CustomLog ${APACHE_LOG_DIR}/onlyoffice.exemple.com.access.log combined
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder on
SSLCompression off
SetEnvIf Host "^(.*)$" THE_HOST=$1
RequestHeader setifempty X-Forwarded-Proto https
RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
ProxyAddHeaders Off
ProxyPassMatch (.*)(\/websocket)$ "ws://127.0.0.1:9981/$1$2"
ProxyPass / "http://127.0.0.1:9981/"
ProxyPassReverse / "http://127.0.0.1:9981/"
</VirtualHost>

Activez ce nouvel hôte virtuel et redémarrez Apache.

sudo a2ensite onlyoffice.conf
sudo systemctl restart apache2

Exécutez ensuite la commande suivante pour obtenir un certificat TLS/SSL gratuit.

sudo certbot –apache –agree-tos –redirect –hsts –staple-ocsp –email yo*@ex*****.com -d onlyoffice.exemple.com

Résultat :

Redémarrer Apache.

sudo systemctl restart apache2

Démarrer le serveur de documents

Nous allons maintenant démarrer le conteneur Docker OnlyOffice en arrière-plan.

Prenez note du mot de passe à la ligne JWT_SECRET qui sera utilisé ultérieurement dans l’application Nextcloud.

Vous pouvez changer le mot de passe par défaut « itisntthatsecure’ en un autre mot de passe de votre choix.

sudo docker run -i -t -d --restart=always -e JWT_ENABLED=true -e JWT_SECRET=itisntthatsecure -p 9981:80 \
    -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/rabbitmq:/var/lib/rabbitmq \
    -v /app/onlyoffice/DocumentServer/redis:/var/lib/redis \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql  onlyoffice/documentserver:latest

Attendez que le processus se termine car il téléchargera le conteneur Docker du serveur de documents.

Connectez-vous via votre navigateur à l’adresse :

https://onlyoffice.exemple.com

en remplaçant exemple.com par votre nom de domaine.

La page suivante s’affiche :

Suivez les indications de cette page, entrez dans votre terminal les commandes indiqués en remplaçant le texte de couleur par le bon numéro affcié sur votre page :

sudo docker exec CONTAINER_ID sudo supervisorctl ds:example

et

sudo docker exec CONTAINER_ID sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/example.conf

Vous pouvez lister les conteneurs Docker, les arrêter et les démarrer.

sudo docker ps -a

Une liste de conteneurs apparaît avec à chaque ligne un numéro affiché qui correspond au .

Vous pouvez les démarrer ou les stopper avec la commande sudo docker stop

sudo docker stop CONTAINER_ID
sudo docker start CONTAINER_ID

Pour entrer dans un conteneur Docker et modifier ou vérifier des éléments à l’intérieur du conteneur.

sudo docker exec -it CONTAINER_ID bash

Accédez à votre instance Nextcloud et installez l’application OnlyOffice

Assurez-vous simplement de ne pas installer l’application intégrée de Nextcloud.

Après l’installation, accédez aux paramètres de l’application et entrez les détails requis tels que l’URL, le jeton, etc :

Adresse du serveur OnlyOffice : https://onlyoffice.exemple.com

Mot de passe : itisntthatsecure

Félicitations ! Vous pouvez utiliser la suite OnlyOffice dans Nextcloud ou directement en vous connectant à l’adresse : https://onlyoffice.exemple.com


Passer au tutoriel suivant : Installation d’un serveur de mail (Postfix)


L’installation vous semble un peu complexe ou longue à réaliser ?

Consultez nos propositions :

Vous avez encore un peu de temps et vous souhaitez continuer à apprendre comment installer un serveur ?


© L’auteur de ce didacticiel est Timo RAINIO.
Une partie de ce didacticiel a été réalisée en reprenant certains tutoriels publiés sur les sites linuxbabe.com, linuxlink.com en les traduisant en langue française et en les adaptant pour l’installation selon la configuration de la plateforme Juris-Tyr (Ubuntu 22.04, LAMP) , ainsi que depuis les sites de la documentation officielle des logiciels opensource concernés (Nextcloud) (InvoiceNinja) et/ou de Github (pdf signature). Ce didacticiel peut être repris en intégralité seulement, et à condition d’indiquer sur le contenu repris la source : https://juris-tyr.com et de nous informer préalablement par e-mail.


Des observations ou des questions ?

Laisser un commentaire

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