<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Opensource on slash-root.fr</title><link>https://beta.slash-root.fr/tags/opensource/</link><description>Recent content in Opensource on slash-root.fr</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><lastBuildDate>Fri, 18 Nov 2022 15:17:42 +0100</lastBuildDate><atom:link href="https://beta.slash-root.fr/tags/opensource/index.xml" rel="self" type="application/rss+xml"/><item><title>OPNsense : Déploiement d’une instance sur OVHcloud [Partie 2/2]</title><link>https://beta.slash-root.fr/opnsense-deploiement-dune-instance-sur-ovhcloud-partie-2-2/</link><pubDate>Fri, 18 Nov 2022 15:17:42 +0100</pubDate><guid>https://beta.slash-root.fr/opnsense-deploiement-dune-instance-sur-ovhcloud-partie-2-2/</guid><description>&lt;img src="https://beta.slash-root.fr/opnsense-deploiement-dune-instance-sur-ovhcloud-partie-2-2/cover.png" alt="Featured image of post OPNsense : Déploiement d’une instance sur OVHcloud [Partie 2/2]" /&gt;&lt;p&gt;Cet article fait suite à mon précédent &lt;a href="https://beta.slash-root.fr/opnsense-deploiement-dune-instance-sur-ovhcloud-partie-1-2/" title="**OPNsense : Déploiement d&amp;#039;une instance sur OVHcloud [Partie 1/2]**"&gt;&lt;strong&gt;OPNsense : Déploiement d'une instance sur OVHcloud [Partie 1/2]&lt;/strong&gt;&lt;/a&gt; afin d'avoir un routeur opensource exploitable.&lt;/p&gt;
&lt;h2 id="configuration-ip"&gt;&lt;a href="#configuration-ip" class="header-anchor"&gt;&lt;/a&gt;Configuration IP
&lt;/h2&gt;&lt;h3 id="1er-démarrage"&gt;&lt;a href="#1er-d%c3%a9marrage" class="header-anchor"&gt;&lt;/a&gt;1er démarrage
&lt;/h3&gt;&lt;p&gt;Lors du 1er démarrage de l'instance OPNsense, un écran similaire à celui-ci est affiché :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111601.png" alt="image-20221116152115304" /&gt;&lt;/p&gt;
&lt;p&gt;L'adressage IP des différentes interfaces réseaux est à paramétrer.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Attention à la dénomination de LAN et de WAN. A ce stade, l'attribution du LAN et du WAN fait par l'installateur est incorrect. En réalite :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;vtnet0&lt;/code&gt; = Adresse IP publique soit le &lt;code&gt;WAN&lt;/code&gt; pour l'instance&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vtnet1&lt;/code&gt; = Adresse IP du vRack soit le &lt;code&gt;LAN&lt;/code&gt; pour l'instance&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h3 id="se-connecter"&gt;&lt;a href="#se-connecter" class="header-anchor"&gt;&lt;/a&gt;Se connecter
&lt;/h3&gt;&lt;p&gt;Pour réaliser la configuration IP nécessaire, il faut tout d'abord se connecter dans la console.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Login : root&lt;/li&gt;
&lt;li&gt;Password : opnsense&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le menu d'administration de la console est maintenant disponible :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111602.png" alt="image-20221116153145030" /&gt;&lt;/p&gt;
&lt;h3 id="assignation-des-interfaces"&gt;&lt;a href="#assignation-des-interfaces" class="header-anchor"&gt;&lt;/a&gt;Assignation des interfaces
&lt;/h3&gt;&lt;p&gt;Comme évoqué précédemment, l'attribution des interfaces faites par l'installeur est erronée. Il faut donc refaire l'assignation des 2 interfaces.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Faire le choix 1 : &lt;strong&gt;Assign interfaces&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Do you want to configure LAGGS now ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Do you want to configure VLANs now ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the WAN interface name : &lt;strong&gt;vtnet0&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the LAN interface name : &lt;strong&gt;vtnet1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the Optional interface 1 name : &lt;strong&gt;Press Enter&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le récapitulatif suivant doit être affiché :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The interfaces will be assigned as follows :
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;WAN -&amp;gt; vtnet0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LAN -&amp;gt; vtnet1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Appliquer les modifications
&lt;ul&gt;
&lt;li&gt;Do you want to proceed ? : &lt;strong&gt;Y&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A présent, les interfaces sont correctement assignées. L'adresse IP publique est récupérée par le DHCP d'OVH sur l'interface WAN.&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111603.png" alt="image-20221116161807533" /&gt;&lt;/p&gt;
&lt;h3 id="paramétrage-ip"&gt;&lt;a href="#param%c3%a9trage-ip" class="header-anchor"&gt;&lt;/a&gt;Paramétrage IP
&lt;/h3&gt;&lt;p&gt;Avant d'aller plus loin, il va falloir récupérer quelques informations sur l'instance :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;L'adresse IP publique et sa passerelle : Ces informations sont disponibles dans le tableau de bord de l'instance.&lt;/li&gt;
&lt;li&gt;L'adresse IP sur le vRack : Cette information est disponible dans la liste des instances (colonne IP privée).&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Attention au masque de sous-réseau :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IP publique = Masque de sous-réseau en 32 bits&lt;/li&gt;
&lt;li&gt;IP privée vRack = Masque de sous-réseau en 16 bits&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Puis passer au paramétrage des adresses IP sur OPNsense dans la console VNC :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Faire le choix 2 : &lt;strong&gt;Set interface IP address&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Available interfaces :
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; - LAN &lt;span style="color:#f92672"&gt;(&lt;/span&gt;vtnet1 - static, track6&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; - WAN &lt;span style="color:#f92672"&gt;(&lt;/span&gt;vtnet0 - dhcp, dhcp6&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Paramétrer d'abord l'interface WAN
&lt;ul&gt;
&lt;li&gt;Enter the number of the interface to configure : &lt;strong&gt;2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Configure IPv4 address WAN interface via DHCP ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the new WAN IPv4 address : &lt;strong&gt;Adresse IP publique&lt;/strong&gt; relevée précédement&lt;/li&gt;
&lt;li&gt;Enter the new WAN IPv4 subnet bit count : &lt;strong&gt;32&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the new WAN IPv4 upstream gateway address : &lt;strong&gt;Adresse passerelle / gateway&lt;/strong&gt; relevé précédement&lt;/li&gt;
&lt;li&gt;Do you want to use the gateway as the IPv4 name server, too ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the IPv4 name server : &lt;strong&gt;213.186.33.99&lt;/strong&gt; (DNS OVH)&lt;/li&gt;
&lt;li&gt;Configure IPv6 address WAN interface via DHCP6 ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the new WAN IPv6 address : &lt;strong&gt;Press Enter&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Do you want to change the web GUI protocol from HTTPS to HTTP ? : &lt;strong&gt;N&lt;/strong&gt; (Un certificat SSL Let's Encrypt sera appliqué plus bas)&lt;/li&gt;
&lt;li&gt;Do you want to generate a new self-signed web GUI certificate ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Restore web GUI access defaults ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L'interface WAN est paramétrée.&lt;/p&gt;
&lt;p&gt;Maintenant, passer au paramétrage de l'interface LAN:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Refaire le choix 2 : &lt;strong&gt;Set interface IP address&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Enter the number of the interface to configure : &lt;strong&gt;1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Configure IPv4 address LAN interface via DHCP ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the new LAN IPv4 address : &lt;strong&gt;Adresse IP privée&lt;/strong&gt; du vRack relevée précédement&lt;/li&gt;
&lt;li&gt;Enter the new LAN IPv4 subnet bit count : &lt;strong&gt;16&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the new LAN IPv4 upstream gateway address : &lt;strong&gt;Press Enter&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Configure IPv6 address LAN interface via DHCP6 ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enter the new LAN IPv6 address : &lt;strong&gt;Press Enter&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Do you want to enable the DHCP server on LAN ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Do you want to change the web GUI protocol from HTTPS to HTTP ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Do you want to generate a new self-signed web GUI certificate ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Restore web GUI access defaults ? : &lt;strong&gt;N&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L'interface LAN est paramétrée.&lt;/p&gt;
&lt;h2 id="interface-web"&gt;&lt;a href="#interface-web" class="header-anchor"&gt;&lt;/a&gt;Interface web
&lt;/h2&gt;&lt;h3 id="1ère-connexion"&gt;&lt;a href="#1%c3%a8re-connexion" class="header-anchor"&gt;&lt;/a&gt;1ère connexion
&lt;/h3&gt;&lt;p&gt;Par défaut, pour se connecter à l'interface web d'administration de la solution OPNsense, il faut s'y connecter à travers l'interface LAN.&lt;/p&gt;
&lt;p&gt;Dans le cas présent, il n'y a pas d'autre machine présente sur ce contexte réseau. Il faut donc s'y connecter à travers l'interface WAN.&lt;/p&gt;
&lt;p&gt;Pour se faire, dans la console VNC de l'instance :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Faire le choix 8 : &lt;strong&gt;Shell&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Désactiver le pare-feu :&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pfctl -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Attention, à chaque rechargement de la configuration d'OPNsense, le pare-feu sera réactivé. Une règle autorisant l'administration à distance par le WAN sera définie plus bas.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il est maintenant possible de se connecter à l'interface web d'administration d'OPNsense à travers l'interface WAN.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre sur l'adresse &lt;a href="https://IP_PUBLIC"&gt;https://IP_PUBLIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Accepter le certificat auto-signé&lt;/li&gt;
&lt;li&gt;Renseigner les credentials
&lt;ul&gt;
&lt;li&gt;Username : &lt;strong&gt;root&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Password : &lt;strong&gt;opnsense&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un assistant de configuration est proposé lors de la 1ère connexion, celui-ci peut être by-passé en cliquant sur le logo OPNsense en haut à gauche.&lt;/p&gt;
&lt;h3 id="filtrage"&gt;&lt;a href="#filtrage" class="header-anchor"&gt;&lt;/a&gt;Filtrage
&lt;/h3&gt;&lt;p&gt;Pour accéder à la page d'administration d'OPNsense, le pare-feu a été désactivé pour effectuer la 1ère connexion.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rappel : A chaque rechargement de configuration, le pare-feu sera réactivé automatiquement.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Idéalement, il faut définir une seule adresse IP (ou plusieurs) qui sera autorisée à y accéder.&lt;/p&gt;
&lt;p&gt;Tout d'abord, créer un alias afin de mieux identifier l'hôte qui sera autorisé à se connecter à l'interface web d'administration.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Firewall&lt;/strong&gt; (1), &lt;strong&gt;Aliases&lt;/strong&gt; (2)&lt;/li&gt;
&lt;li&gt;Ajouter un nouvel alias (3)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111604.png" alt="image-20221117094409367" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Voici un exemple d'alias pour une adresse IP donnée. Bien penser à valider le &lt;code&gt;Content&lt;/code&gt; en appuyant sur &lt;strong&gt;Enter&lt;/strong&gt;, puis &lt;strong&gt;Save&lt;/strong&gt; en bas à droite :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111605.png" alt="image-20221117095214277" /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ne pas valider tout de suite les modifications avec le bouton &lt;strong&gt;Apply&lt;/strong&gt; figurant en bas sur la page des &lt;strong&gt;Aliases&lt;/strong&gt;. Sinon, le pare-feu se réactivera et la connexion sera perdue. Si cela se produit, revenir dans la console VNC de l'instance et refaire la commande &lt;code&gt;pfcl -d&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ensuite, ajouter une règle sur l'interface WAN du pare-feu.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Firewall&lt;/strong&gt; (1), &lt;strong&gt;Rules&lt;/strong&gt; (2), &lt;strong&gt;WAN&lt;/strong&gt; (3)&lt;/li&gt;
&lt;li&gt;Ajouter une nouvelle règle (4)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111606.png" alt="image-20221117095952062" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La partie &lt;strong&gt;Source&lt;/strong&gt; de la règle :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111607.png" alt="image-20221117100419056" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La partie &lt;strong&gt;Destination&lt;/strong&gt; de la règle :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111608.png" alt="image-20221117100630410" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enregistrer avec le bouton &lt;strong&gt;Save&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Valider toutes les modifications de configuration en cliquant sur &lt;strong&gt;Apply changes&lt;/strong&gt; en haut à droite de la page&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L'alias créé ainsi que la règle ajoutée dans l'interface WAN du pare-feu vont être appliqué. Le pare-feu sera également réactivé automatiquement.&lt;/p&gt;
&lt;p&gt;Pour être sûr et certain que le pare-feu soit bien actif :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans la console VNC de l'instance et exécuter la commande :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pfctl -e
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le shell doit renvoyer :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pfctl: pf already enabled
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="mot-de-passe-root"&gt;&lt;a href="#mot-de-passe-root" class="header-anchor"&gt;&lt;/a&gt;Mot de passe root
&lt;/h3&gt;&lt;p&gt;Maintenant que l'accès externe à l'interface web d'administration est filtré, il est important de changer le mot de passe &lt;code&gt;root&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Lobby&lt;/strong&gt; (1), &lt;strong&gt;Password&lt;/strong&gt; (2)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111609.png" alt="image-20221117102407840" /&gt;&lt;/p&gt;
&lt;p&gt;La modification de ce mot passe entraine également la modification du mot de passe dans la console VNC et/ou par SSH si cet accès est activé.&lt;/p&gt;
&lt;h3 id="hostname-timezone"&gt;&lt;a href="#hostname-timezone" class="header-anchor"&gt;&lt;/a&gt;Hostname, Timezone&amp;hellip;
&lt;/h3&gt;&lt;p&gt;Il peut être intéressant de modifier le nom d'hôte, le domaine, ou bien la timezone d'OPNsense.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Settings&lt;/strong&gt; (2), &lt;strong&gt;General&lt;/strong&gt; (3)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111610.png" alt="image-20221117110546934" /&gt;&lt;/p&gt;
&lt;h2 id="sécurité"&gt;&lt;a href="#s%c3%a9curit%c3%a9" class="header-anchor"&gt;&lt;/a&gt;Sécurité
&lt;/h2&gt;&lt;p&gt;Sujet très vaste !&lt;/p&gt;
&lt;p&gt;Je vais m'attarder sur 2 points principaux :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La mise à jour d'OPNsense&lt;/li&gt;
&lt;li&gt;La mise en place d'un certificat SSL avec Let's Encrypt&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mise-à-jour"&gt;&lt;a href="#mise-%c3%a0-jour" class="header-anchor"&gt;&lt;/a&gt;Mise à jour
&lt;/h3&gt;&lt;p&gt;Il est important de mettre régulièrement à jour la solution.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Firmware&lt;/strong&gt; (2), &lt;strong&gt;Status&lt;/strong&gt; (3)&lt;/li&gt;
&lt;li&gt;Puis &lt;strong&gt;Check for updates&lt;/strong&gt; (4)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111611.png" alt="image-20221117111519117" /&gt;&lt;/p&gt;
&lt;p&gt;Si des mises à jour sont disponibles, la liste des packages concernés sera affichée dans l'onglet &lt;strong&gt;Updates&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;En bas de cette page, un bouton &lt;strong&gt;Update&lt;/strong&gt; sera disponible. Il sera également indiqué si un redémarrage d'OPNsense est requis.&lt;/p&gt;
&lt;h3 id="certificat-ssl-lets-encrypt"&gt;&lt;a href="#certificat-ssl-lets-encrypt" class="header-anchor"&gt;&lt;/a&gt;Certificat SSL Let&amp;rsquo;s Encrypt
&lt;/h3&gt;&lt;h4 id="installation-du-client"&gt;&lt;a href="#installation-du-client" class="header-anchor"&gt;&lt;/a&gt;Installation du client
&lt;/h4&gt;&lt;p&gt;La 1ère étape à réaliser est l'installation du client &lt;code&gt;acme&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Firmware&lt;/strong&gt; (2), &lt;strong&gt;Plugins&lt;/strong&gt; (3)&lt;/li&gt;
&lt;li&gt;Installer le client acme (4)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111612.png" alt="image-20221117113041918" /&gt;&lt;/p&gt;
&lt;h4 id="activation-du-plugin"&gt;&lt;a href="#activation-du-plugin" class="header-anchor"&gt;&lt;/a&gt;Activation du plugin
&lt;/h4&gt;&lt;p&gt;Une fois ce plugin installé, forcer un rafraichissement de l'interface web (CTRL+SHiFT+R) pour avoir le service &lt;strong&gt;ACME Client&lt;/strong&gt; de disponible.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Services&lt;/strong&gt; (1), &lt;strong&gt;ACME Client&lt;/strong&gt; (2), &lt;strong&gt;Settings&lt;/strong&gt; (3)&lt;/li&gt;
&lt;li&gt;Activer le plugin (4)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111613.png" alt="image-20221117114033923" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Valider avec le bouton &lt;strong&gt;Apply&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Une tâche cron est générée afin de renouveler automatiquement le certificat. Celle-ci est définie dans l'onglet &lt;strong&gt;Update Schedule&lt;/strong&gt;.&lt;/p&gt;
&lt;h4 id="création-du-compte-lets-encrypt"&gt;&lt;a href="#cr%c3%a9ation-du-compte-lets-encrypt" class="header-anchor"&gt;&lt;/a&gt;Création du compte Let&amp;rsquo;s Encrypt
&lt;/h4&gt;&lt;p&gt;Ensuite, un compte doit être créé et enregistré pour la génération du certificat chez Let's Encrypt.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Accounts&lt;/strong&gt; (1)&lt;/li&gt;
&lt;li&gt;Créer un compte (2)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111614.png" alt="image-20221117114800382" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compléter les champs requis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111615.png" alt="image-20221117115032672" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Valider avec le bouton &lt;strong&gt;Save&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enregistrer le compte&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111616.png" alt="image-20221117115229266" /&gt;&lt;/p&gt;
&lt;p&gt;Le status du compte passe en &lt;strong&gt;OK (registred)&lt;/strong&gt;.&lt;/p&gt;
&lt;h4 id="enregistrement-dns"&gt;&lt;a href="#enregistrement-dns" class="header-anchor"&gt;&lt;/a&gt;Enregistrement DNS
&lt;/h4&gt;&lt;p&gt;Avant de passer à la suite, il est impératif de créer un enregistrement de type A dans la zone DNS publique adéquate pointant vers l'adresse IP publique d'OPNsense.&lt;/p&gt;
&lt;p&gt;Par exemple :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;opnsense-demo.example.com. IN A xxx.xxx.xxx.237
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;xxx.xxx.xxx.237 = IP publique de l'interface WAN d'OPNsense&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bien vérifier que cet enregistrement a été répercuté sur les serveurs DNS de Google (Let's Encrypt s'appuie dessus).&lt;/p&gt;
&lt;p&gt;Dans votre terminal GNU/Linux :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dig opnsense-demo.example.com @8.8.8.8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il est également est possible de vérifier l'enregistrement à cette adresse : &lt;a href="https://dns.google"&gt;https://dns.google&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="paramétrage-du-challenge"&gt;&lt;a href="#param%c3%a9trage-du-challenge" class="header-anchor"&gt;&lt;/a&gt;Paramétrage du challenge
&lt;/h4&gt;&lt;p&gt;Une fois cet enregistrement fait et vérifié, paramétrer un type de challenge :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Challenge Types&lt;/strong&gt; (1)&lt;/li&gt;
&lt;li&gt;Créer un nouveau type de challenge (2)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111617.png" alt="image-20221117120932240" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Choisir un challenge de type &lt;strong&gt;HTTP-01&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111618.png" alt="image-20221117131431018" /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dans le champ &lt;strong&gt;IP Addresses&lt;/strong&gt; bien valider l'adresse IP publique de l'interface WAN en appuyant sur &lt;strong&gt;Enter&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Valider avec le bouton &lt;strong&gt;Save&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="automatisation"&gt;&lt;a href="#automatisation" class="header-anchor"&gt;&lt;/a&gt;Automatisation
&lt;/h4&gt;&lt;p&gt;Avant de passer à la génération du certificat, il est recommandé d'ajouter une tâche d'automatisation. Celle-ci sera effectuée à chaque fois que le certificat sera renouvelé.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Automations&lt;/strong&gt; (1)&lt;/li&gt;
&lt;li&gt;Créer une tâche d'automatisation (2)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111620.png" alt="image-20221117132141537" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sélectionner la tâche de redémarrage de la Web UI d'OPNsense&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111621.png" alt="image-20221117132445945" /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Cette partie d'automatisation est optionelle mais recommandée.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id="génération-du-certificat"&gt;&lt;a href="#g%c3%a9n%c3%a9ration-du-certificat" class="header-anchor"&gt;&lt;/a&gt;Génération du certificat
&lt;/h4&gt;&lt;p&gt;Maintenant, un certificat peut être généré :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Certificates&lt;/strong&gt; (1)&lt;/li&gt;
&lt;li&gt;Créer un nouveau certificat (2)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111619.png" alt="image-20221117131804782" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dans le champ &lt;strong&gt;Common Name&lt;/strong&gt;, bien renseigner l'URL d'accès qui permettra d'accéder à l'interface web d'administration d'OPNsense en correspondance avec l'enregistrement de type A faites dans la zone DNS au préalable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111622.png" alt="image-20221117133011468" /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Bien spécifier la tâche d'automatisation dans le champ &lt;strong&gt;Automations&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Valider avec le bouton &lt;strong&gt;Save&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Générer le certificat avec le bouton &lt;strong&gt;Issue/Renew All Certificates&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="vérification"&gt;&lt;a href="#v%c3%a9rification" class="header-anchor"&gt;&lt;/a&gt;Vérification
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Vérifier l'ajout de l'autorité de certification :
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Trust&lt;/strong&gt; (2), &lt;strong&gt;Authorities&lt;/strong&gt; (3)&lt;/li&gt;
&lt;li&gt;L'authorité de certification Let's Encrypt doit être présente&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111623.png" alt="image-20221117134012138" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vérifier la présence du certificat préalablement généré :
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;Certificates&lt;/strong&gt; (1)&lt;/li&gt;
&lt;li&gt;Le certificat préalablement généré doit être présent&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111624.png" alt="image-20221117134232914" /&gt;&lt;/p&gt;
&lt;h4 id="application-du-certificat"&gt;&lt;a href="#application-du-certificat" class="header-anchor"&gt;&lt;/a&gt;Application du certificat
&lt;/h4&gt;&lt;p&gt;A ce stade, ce nouveau certificat Let's Encrypt peut être appliqué pour la connexion à l'interface d'administration d'OPNsense (en lieu et place du certificat auto-signé).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Settings&lt;/strong&gt; (2), &lt;strong&gt;Administration&lt;/strong&gt; (3)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="22111625.png" alt="image-20221117134906644" /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je recommande de modifier le port d'administration HTTPS et d'adapter la règle de filtrage (vu dans le chapitre &lt;strong&gt;Interface web / Filtrage&lt;/strong&gt; de cet article).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Valider avec le bouton &lt;strong&gt;Save&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et voilà !&lt;/p&gt;
&lt;p&gt;Il est désormais possible d'accéder de façon sécurisée à l'admimistration d'un OPNsense hébergé chez OVHcloud avec un certificat SSL reconnu.&lt;/p&gt;
&lt;p&gt;En suivant l'exemple donné ici, l'accès se fera sur l'URL : &lt;a href="https://opnsense-demo.example.com"&gt;https://opnsense-demo.example.com&lt;/a&gt; (Adresse fictive pour l'article !).&lt;/p&gt;</description></item><item><title>Rocket.Chat : Installation standalone</title><link>https://beta.slash-root.fr/rocket-chat-installation-standalone/</link><pubDate>Tue, 04 Oct 2022 18:08:56 +0200</pubDate><guid>https://beta.slash-root.fr/rocket-chat-installation-standalone/</guid><description>&lt;img src="https://beta.slash-root.fr/rocket-chat-installation-standalone/cover.png" alt="Featured image of post Rocket.Chat : Installation standalone" /&gt;&lt;blockquote&gt;
&lt;p&gt;Installation d'un Rocket.Chat en mode standalone sur Debian 11.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Très important ! MongoDB 5.0 demande que le jeu d'instruction AVX soit géré par le CPU du serveur.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vérifier que AVX soit traité par le CPU :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat /proc/cpuinfo | grep avx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si rien ne s'affiche, cela ne sert à rien d'aller plus loin.&lt;/p&gt;
&lt;p&gt;Pour mes essais, j'utilise un serveur Proxmox pour la virtualisation. J'ai dû passer le CPU de la machine virtuelle sur &lt;code&gt;host&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="mongodb-community-edition"&gt;&lt;a href="#mongodb-community-edition" class="header-anchor"&gt;&lt;/a&gt;MongoDB Community Edition
&lt;/h2&gt;&lt;h3 id="installation"&gt;&lt;a href="#installation" class="header-anchor"&gt;&lt;/a&gt;Installation
&lt;/h3&gt;&lt;p&gt;Le paquet &lt;code&gt;mongodb&lt;/code&gt; fournit par les dépôts Debian n'est pas maintenue par MongoDB Inc. Celui-ci rentre en conflit avec le paquet officiel &lt;code&gt;mongodb-org&lt;/code&gt;. Si le paquet &lt;code&gt;mongodb&lt;/code&gt; provenant des dépôts Debian est installé, il faudra au préalable le désinstaller.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installer les pré-requis :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Importer la clef publique PGP nécessaire :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo wget -O- https://www.mongodb.org/static/pgp/server-5.0.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb.gpg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Ajouter le dépôt de MongoDB Inc. pour Debian 11 :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;deb [signed-by=/usr/share/keyrings/mongodb.gpg] http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main&amp;#39;&lt;/span&gt; | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Actuellement, Rocket.Chat demande une version 5.0 de MongoDB. Il est indiqué Buster mais c'est bon aussi pour Bullseye.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Mettre à jour le cache des paquets :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Installer la version 5.0.13 de MongoDB :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install mongodb-org
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(Optionnel) Afin de prévenir une mise à jour non désirée de MongoDB par &lt;code&gt;apt&lt;/code&gt; :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;mongodb-org hold&amp;#34;&lt;/span&gt; | sudo dpkg --set-selections
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;mongodb-org-database hold&amp;#34;&lt;/span&gt; | sudo dpkg --set-selections
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;mongodb-org-server hold&amp;#34;&lt;/span&gt; | sudo dpkg --set-selections
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;mongodb-mongosh hold&amp;#34;&lt;/span&gt; | sudo dpkg --set-selections
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;mongodb-org-mongos hold&amp;#34;&lt;/span&gt; | sudo dpkg --set-selections
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;mongodb-org-tools hold&amp;#34;&lt;/span&gt; | sudo dpkg --set-selections
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="configuration"&gt;&lt;a href="#configuration" class="header-anchor"&gt;&lt;/a&gt;Configuration
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Editer le fichier de configuration &lt;code&gt;/etc/mongod.conf&lt;/code&gt; :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo vi /etc/mongod.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Attention, c'est un format YAML.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Définir le type de stockage sur &lt;code&gt;wiredTiger&lt;/code&gt; :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;storage&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;engine&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;wiredTiger&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Activer et nommer la réplication :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;replication&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;replSetName&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;rs01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le fichier de configuration doit ressembler à quelques choses de similaire à ça :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;storage&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;dbPath&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;/var/lib/mongodb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;journal&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;enabled&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;engine&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;wiredTiger&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;systemLog&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;destination&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;logAppend&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;path&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;/var/log/mongodb/mongod.log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;net&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;port&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;27017&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;bindIp&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;127.0.0.1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;processManagement&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;fork&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;timeZoneInfo&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;/usr/share/zoneinfo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;replication&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;replSetName&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;rs01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="exécution"&gt;&lt;a href="#ex%c3%a9cution" class="header-anchor"&gt;&lt;/a&gt;Exécution
&lt;/h3&gt;&lt;p&gt;Par défaut, MongoDB stocke les données dans &lt;code&gt;/var/lib/mongodb&lt;/code&gt; et les logs dans &lt;code&gt;/var/log/mongodb&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Démarrer MongoDB :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start mongod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si une erreur indique que &lt;code&gt;mongod.service&lt;/code&gt; est introuvable :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Vérifier que le service est bien démarré :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl status mongod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Activer le démarrage du service au boot du système :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable mongod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Créer le replicaset :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mongo --eval &lt;span style="color:#e6db74"&gt;&amp;#34;printjson(rs.initiate())&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="nodejs"&gt;&lt;a href="#nodejs" class="header-anchor"&gt;&lt;/a&gt;Node.js
&lt;/h2&gt;&lt;h3 id="installation-1"&gt;&lt;a href="#installation-1" class="header-anchor"&gt;&lt;/a&gt;Installation
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Passer root :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo -i
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Récupérer et exécuter le script suivant :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Installer Node.js v14 :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt install nodejs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Actuellement, Rocket.Chat demande une version 14 pour Node.js.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Se déconnecter de root.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="rocketchat"&gt;&lt;a href="#rocketchat" class="header-anchor"&gt;&lt;/a&gt;Rocket.Chat
&lt;/h2&gt;&lt;h3 id="installation-2"&gt;&lt;a href="#installation-2" class="header-anchor"&gt;&lt;/a&gt;Installation
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Mettre à jour le système :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Installer les pré-requis :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install curl build-essential graphicsmagick
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Télécharger la dernière version de Rocket.Chat :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Extraire l'archive :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar xzf /tmp/rocket.chat.tgz -C /tmp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Installer toutes les dépendances :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;(&lt;/span&gt;cd /tmp/bundle/programs/server; npm i&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Déplacer le bundle pour Rocket.Chat dans &lt;code&gt;opt&lt;/code&gt; :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mv /tmp/bundle /opt/Rocket.Chat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="configuration-1"&gt;&lt;a href="#configuration-1" class="header-anchor"&gt;&lt;/a&gt;Configuration
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Ajout de l'utilisateur &lt;code&gt;rocketchat&lt;/code&gt; :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo useradd -M rocketchat &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo usermod -L rocketchat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Modification des permissions sur le dossier de Rocket.Chat :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Sauvegarde le chemin vers le binaire de Node.js dans une variable :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;NODE_PATH&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;which node&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Créer le fichier du service systemd :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#e6db74"&gt;&amp;lt;&amp;lt; EOF |sudo tee -a /lib/systemd/system/rocketchat.service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Unit]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Description=The Rocket.Chat server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Service]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;ExecStart=$NODE_PATH /opt/Rocket.Chat/main.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;StandardOutput=syslog
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;StandardError=syslog
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;SyslogIdentifier=rocketchat
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;User=rocketchat
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Install]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;WantedBy=multi-user.target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Editer le service &lt;code&gt;rocketchat&lt;/code&gt; :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl edit rocketchat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Définir les variables d'environnement :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;[Service]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Environment&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;ROOT_URL=http://localhost:3000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Environment&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;PORT=3000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Environment&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Environment&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Sauvegarder et enregistrer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="exécution-1"&gt;&lt;a href="#ex%c3%a9cution-1" class="header-anchor"&gt;&lt;/a&gt;Exécution
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Activer le démarrage du service au boot du système :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable rocketchat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Démarrer le service &lt;code&gt;rocketchat&lt;/code&gt; :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start rocketchat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="accès-web"&gt;&lt;a href="#acc%c3%a8s-web" class="header-anchor"&gt;&lt;/a&gt;Accès Web
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Ouvrir un navigateur web.&lt;/li&gt;
&lt;li&gt;Accéder à l'adresse du service Rocket.Chat définit avec la variable d'environnement &lt;code&gt;ROOT_URL&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Suivre les instructions pour définir un compte admin et les informations du serveur Rocket.Chat.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Supervision: tour d’horizon avec CentCTL pour Centreon Open Source.</title><link>https://beta.slash-root.fr/supervision-tour-dhorizon-avec-centctl-pour-centreon-open-source/</link><pubDate>Fri, 26 Nov 2021 14:51:09 +0100</pubDate><guid>https://beta.slash-root.fr/supervision-tour-dhorizon-avec-centctl-pour-centreon-open-source/</guid><description>&lt;img src="https://beta.slash-root.fr/supervision-tour-dhorizon-avec-centctl-pour-centreon-open-source/cover.png" alt="Featured image of post Supervision: tour d’horizon avec CentCTL pour Centreon Open Source." /&gt;&lt;h2 id="historique"&gt;&lt;a href="#historique" class="header-anchor"&gt;&lt;/a&gt;Historique
&lt;/h2&gt;&lt;p&gt;CentCTL est un exécutable indépendant créé en 2020 par Mélissa Bertin au sein de la société &lt;a href="https://www.ypsi.fr/"&gt;YPSI&lt;/a&gt;. Tout comme CLAPI, il utilise l'API pour réaliser la majeure partie des tâches sur Centreon en ligne de commande. CLAPI nécessite d'être exécuté localement sur le serveur Centreon Central. Vous aurez donc besoin d'une connexion SSH pour pouvoir l'administrer depuis votre poste de travail. De plus, les commandes nécessitent systématiquement une authentification avec mot de passe en clair, et a parfois une syntaxe de commande peu intuitive.&lt;/p&gt;
&lt;p&gt;CentCTL utilise l'API REST v1 pour opérer les différentes tâches d'administration. En ayant seulement accès à l'API, on peut administrer notre solution de supervision sans connexion SSH. Aucunement besoin d'interface web, seul un utilisateur avec les droits d'accès à l'API est nécessaire. Le module est développé en langage Go, ce qui le rend multiplateforme et plaira donc à la fois à nos amis pingouins comme aux croqueurs de pommes et aux afficionados des solutions Microsoft. &lt;/p&gt;
&lt;h2 id="centreon--centctl-limportance-de-la-convention-de-nommage"&gt;&lt;a href="#centreon--centctl-limportance-de-la-convention-de-nommage" class="header-anchor"&gt;&lt;/a&gt;Centreon &amp;amp; CentCTL: l&amp;rsquo;importance de la convention de nommage.
&lt;/h2&gt;&lt;p&gt;Il est très important d'adopter une convention de nommage précise et de s'y tenir!!! Il est très facile de filtrer les éléments dont vous avez besoin grâce à des regex dans CentCTL. Mais pour cela, il faut adopter une convention assez précise.&lt;/p&gt;
&lt;p&gt;Ci-dessous je détaille une proposition de convention de nommage.&lt;/p&gt;
&lt;h3 id="les-commandes"&gt;&lt;a href="#les-commandes" class="header-anchor"&gt;&lt;/a&gt;Les commandes
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;ChC = Check Command&lt;/li&gt;
&lt;li&gt;NoC = Notification Command&lt;/li&gt;
&lt;li&gt;DiC = Discovery Command&lt;/li&gt;
&lt;li&gt;MiC = Miscellaneous Command&lt;/li&gt;
&lt;li&gt;CoC = Connectors Command&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Puis ajoutez le nom de la commande. Prenez soit l'objet utilisé par le plugin Centreon, Nagios ou autre pour les commandes de check (par exemple check_ping), soit un descriptif très succinct comme nous pouvons l'avoir de base dans les commandes de notification déjà intégrées à Centreon (host-notify-by-email).&lt;/p&gt;
&lt;p&gt;Le résultat donnera quelque chose comme:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ChC_CHECK_PING&lt;/li&gt;
&lt;li&gt;NoC_HOST_EMAIL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si votre commande est spécifiquement adapté à un seul type d'OS, alors il faudra le préciser avant le nom:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ChC_OS_ORACLE8_DISK_SPACE_VAR&lt;/li&gt;
&lt;li&gt;ChC_OS_WINSRV16_DISK_SPACE_D&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ect... Libre à vous d'imaginer le plus parlant. &lt;/p&gt;
&lt;h3 id="les-templates"&gt;&lt;a href="#les-templates" class="header-anchor"&gt;&lt;/a&gt;Les templates
&lt;/h3&gt;&lt;h4 id="les-templates-de-configuration"&gt;&lt;a href="#les-templates-de-configuration" class="header-anchor"&gt;&lt;/a&gt;Les templates de configuration
&lt;/h4&gt;&lt;p&gt;Une bonne pratique est de créer, pour les services et pour les hôtes, des templates de configuration (pour configurer d'autres templates).&lt;/p&gt;
&lt;p&gt;Exemple: template de configuration de notifications.&lt;/p&gt;
&lt;p&gt;Lors de la création d'un modèle d'hôte ou de service, liez directement le Template de configuration de notifications, et vous n'aurez pas à configurer les notifications pour ce template. Ce qui, grâce aux relations avec les modèles d'hôte ou de service fonctionnels, évitera les manipulations trop lourdes et trop contraignantes dans leurs nombres pour venir modifier un paramètre concernant les notifications. Vous changez votre paramètre directement dans le template de configuration de notification et cela s'applique absolument à tout les templates liés, se répercutant donc sur les hôtes et services. &lt;/p&gt;
&lt;p&gt;Lors de la création de ce template, ne configurez que les paramètres notifications (ce qui correspond à l'onglet du même nom dans l'interface web).&lt;/p&gt;
&lt;p&gt;Par exemple, ces templates se nommeront ainsi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Nom =&amp;gt; STC_NOTIF = Service Template Configuration&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Nom =&amp;gt; HTC_NOTIF = Host Template Configuration&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vous pouvez mettre la même chose dans l'alias. &lt;/p&gt;
&lt;p&gt;Libre à vous de créer les template de configuration de votre choix, par exemple plusieurs templates de configuration pour vos différentes communautés snmp, etc... Adaptez selon vos besoins.&lt;/p&gt;
&lt;h4 id="les-templates-de-service"&gt;&lt;a href="#les-templates-de-service" class="header-anchor"&gt;&lt;/a&gt;Les templates de service
&lt;/h4&gt;&lt;p&gt;Ces templates de baseront sur le nom de la commande qu'ils représentent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nom =&amp;gt; ST_ChC_OS_DEB10_DISK_SPACE_VAR (ST pour Service Template)
&lt;ul&gt;
&lt;li&gt;Alias =&amp;gt; SFT_ChC_OS_DEB10_DISK_SPACE_VAR (SFT pour Service From Template)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ici, définir un alias correctement peut vous permettre de différencier sur la page des services par hôtes, les services hérités d'un modèle de service, et ceux créés manuellement sans passer par un template.&lt;/p&gt;
&lt;h4 id="les-templates-dhôte"&gt;&lt;a href="#les-templates-dh%c3%b4te" class="header-anchor"&gt;&lt;/a&gt;Les templates d&amp;rsquo;hôte
&lt;/h4&gt;&lt;p&gt;Décrivez succinctement l'OS et la fonction de l'hôte en question:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nom =&amp;gt; HT_OS_WINSRV19_WEB_SRV (HT pour Host Template)
&lt;ul&gt;
&lt;li&gt;Alias =&amp;gt; HFT_OS_WINSRV19_WEB_SRV (HFT pour Host From Template)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="les-hôtes"&gt;&lt;a href="#les-h%c3%b4tes" class="header-anchor"&gt;&lt;/a&gt;Les hôtes
&lt;/h3&gt;&lt;p&gt;Le nom de l'hôte supervisé sera basé sur le nom de la société et/ou sa localisation (si vous supervisez plusieurs entreprises ou sites), son os, sa fonction, éventuellement le service auquel il est affecté et un numéro (utile si vous supervisez de très nombreux postes de travail ou une ferme de serveurs)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nom: Aukfood_Linux_Server_Web_001
&lt;ul&gt;
&lt;li&gt;ou encore: CrdAgr_RSY-PlaceVendee_Win10_Direction_001&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour l'alias, inscrivez simplement son FQDN.&lt;/p&gt;
&lt;h3 id="les-services"&gt;&lt;a href="#les-services" class="header-anchor"&gt;&lt;/a&gt;Les services
&lt;/h3&gt;&lt;p&gt;Si vous créez un service automatiquement lors de la création d'un hôte en relation avec un template d'hote et des templates de service alors celui ci portera le nom de l'alias donné au template de service:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SFT_ChC_CHECK_PING&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si vous créez un service manuellement sans passer par un template:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;S_ChC_CHECK_PING&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pourquoi-tout-ça"&gt;&lt;a href="#pourquoi-tout-%c3%a7a" class="header-anchor"&gt;&lt;/a&gt;Pourquoi tout ça?
&lt;/h3&gt;&lt;p&gt;Et bien, lorsque vous allez utiliser des commandes CentCTL par la suite pour créer des listes à utiliser dans un script pour automatiser un déploiement par exemple, vous n'aurez qu'à filtrer avec un peu de regex des ensembles d'éléments, rediriger le flux de sortie dans un fichier, un peu de substitution massive par de la regex (encore) dans vim et le tour est joué. J'y reviendrai plus tard.&lt;/p&gt;
&lt;h2 id="préparer-le-poste-de-travail"&gt;&lt;a href="#pr%c3%a9parer-le-poste-de-travail" class="header-anchor"&gt;&lt;/a&gt;Préparer le poste de travail
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Le reste de cet article décrit des procédures qui ont été réalisées sous Rocky Linux 8.4.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="téléchargement-de-centctl"&gt;&lt;a href="#t%c3%a9l%c3%a9chargement-de-centctl" class="header-anchor"&gt;&lt;/a&gt;Téléchargement de CentCTL
&lt;/h3&gt;&lt;p&gt;Créer un dossier dans lequel récupérer CentCTL puis télécharger la dernière version:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir $HOME/centctl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd $HOME/centctl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://github.com/YPSI-SAS/centctl/releases/download/v2.5/centctl_linux_amd64 -O centctl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Rendre ce fichier exécutable:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod +x centctl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="préparation-de-la-commande"&gt;&lt;a href="#pr%c3%a9paration-de-la-commande" class="header-anchor"&gt;&lt;/a&gt;Préparation de la commande
&lt;/h3&gt;&lt;p&gt;Configurer la variable d'environnement CENTCTL_CONF avec le chemin et le nom du fichier de configuration nommé &lt;code&gt;centctl.yaml&lt;/code&gt;. Modifier le &lt;code&gt;.bashrc&lt;/code&gt; de l'utilisateur qui utilisera CentCTL avec la ligne suivante en bas du fichier:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export CENTCTL_CONF&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/home/USER/centctl/centctl.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;USER étant votre nom d'utilisateur, bien entendu !&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Configurer l'auto-complétion :&lt;/p&gt;
&lt;p&gt;Si le paquet n'est pas installé:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dnf install bash-completion
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis exécuter les commandes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;type _init_completion
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si la commande réussi, on peut passer à la suite, sinon:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Dans le .bashrc, écrivez cette ligne de commande en bas du fichier:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source /usr/share/bash-compltion/bash_completion
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rechargez votre shell avec &lt;code&gt;source .bashrc&lt;/code&gt; puis vérifiez que la complétion et correctement installée avec la commande &lt;code&gt;type _init_completion&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Pour terminer, ajouter le script de complétion dans le répertoire &lt;code&gt;/etc/bash_completion.d&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo su
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/home/USER/centctl/centctl completion bash &amp;gt; /etc/bash_completion.d/centctl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="configuration-de-centctl"&gt;&lt;a href="#configuration-de-centctl" class="header-anchor"&gt;&lt;/a&gt;Configuration de CentCTL
&lt;/h3&gt;&lt;p&gt;Il faut maintenant construire de fichier de configuration &lt;code&gt;centctl.yaml&lt;/code&gt;. &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vim centctl.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour déclarer un serveur, utilisez la configuration ci-dessous en remplaçant les mots en &lt;code&gt;MAJUSCULE&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NAMESERVER&lt;/code&gt; c'est le nom du serveur à utiliser avec le flag &lt;code&gt;--server&lt;/code&gt;. ATTENTION: le nom du serveur doit être unique.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;URL&lt;/code&gt;: c'est l'adresse utilisée pour l'accès à l'interface web de Centreon au format: &lt;a href="https://monserveurcentreon.fr"&gt;https://monserveurcentreon.fr&lt;/a&gt; (ou avec l'IP). ATTENTION: si l'url n'est pas sécurisée, mettre &lt;strong&gt;http&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;insecure&lt;/code&gt; est utilisé quand l'URL du server est en &lt;strong&gt;https&lt;/strong&gt;. Le flag est le même ( &lt;code&gt;--insecure&lt;/code&gt;) pour forcer la connexion.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;LOGIN&lt;/code&gt; est le login &lt;strong&gt;&lt;u&gt;avec les droits d'accès RestAPI&lt;/u&gt;&lt;/strong&gt; utilisé pour la connexion au serveur. CONSEIL: utiliser &lt;strong&gt;admin&lt;/strong&gt; qui est automatiquement autorisé pour l'API Rest.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PASSWORD&lt;/code&gt; est le mot de passe de l'utilisateur&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VERSION&lt;/code&gt; est la version du Rest API (v1 ou v2)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;default&lt;/code&gt; défini le server par défaut auquel se connecter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Exemple de fichier de configuration:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;servers:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - server: &lt;span style="color:#e6db74"&gt;&amp;#34;centreon-centos&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: &lt;span style="color:#e6db74"&gt;&amp;#34;https://centreon21.aukfood.fr&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; insecure: true
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; login: &lt;span style="color:#e6db74"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; password: &lt;span style="color:#e6db74"&gt;&amp;#34;Pa55word&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; version: &lt;span style="color:#e6db74"&gt;&amp;#34;v1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; default: true
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - server: &lt;span style="color:#e6db74"&gt;&amp;#34;centreon-rocky&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; url: &lt;span style="color:#e6db74"&gt;&amp;#34;http://192.168.1.222/centreon&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; login: &lt;span style="color:#e6db74"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; password: &lt;span style="color:#e6db74"&gt;&amp;#34;azerty666&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; version: &lt;span style="color:#e6db74"&gt;&amp;#34;v1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Pour rappel CentCTL utilise la V1 de Rest API.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="tester-la-configuration"&gt;&lt;a href="#tester-la-configuration" class="header-anchor"&gt;&lt;/a&gt;Tester la configuration
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;Pour exécuter les commandes &lt;code&gt;./centctl&lt;/code&gt;, se placer dans le répertoire &lt;code&gt;centctl&lt;/code&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Un test tout simple qui permet de voir si la configuration est bonne:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos list host
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Voici le résultat, au format json par défaut:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;server&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;centreon-centos&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;hosts&amp;#34;&lt;/span&gt;: [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;id&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;23&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Aukfood_Rocky_Client_001&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;alias&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;RockyLinux.aukfood.fr&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;address&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;192.168.1.148&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;activate&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;D'autres formats sont disponibles avec le flag &lt;code&gt;--output&lt;/code&gt; en fin de commande:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos list host --output yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos list host --output csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos list host --output text
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;D'autres options sont disponibles, comme filtrer avec des regex... Rendez-vous sur la page d'aide &lt;code&gt;/.centctl --help&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="exporter-les-configurations"&gt;&lt;a href="#exporter-les-configurations" class="header-anchor"&gt;&lt;/a&gt;Exporter les configurations
&lt;/h3&gt;&lt;p&gt;La migration de la configuration de la plateforme Centreon est possible avec CentCTL, même par exemple depuis la 20.10 vers une version supérieure comme la 21.10.&lt;/p&gt;
&lt;p&gt;Personnellement je préfère éviter d'exporter toute la configuration d'un coup surtout si celle-ci est importante, j'ai été confronté à certains problèmes lors de test. Je préfère être méticuleux et catégoriser.&lt;/p&gt;
&lt;h4 id="la-configuration-du-moteur-centreon"&gt;&lt;a href="#la-configuration-du-moteur-centreon" class="header-anchor"&gt;&lt;/a&gt;La configuration du moteur Centreon
&lt;/h4&gt;&lt;blockquote&gt;
&lt;p&gt;J'utilise le flag &lt;code&gt;-r ^.*&lt;/code&gt; pour tout selectionner mais le flag &lt;code&gt;--all&lt;/code&gt; marche très bien aussi.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export engineCFG -r ^.* -f engine.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="les-ressources-du-poller"&gt;&lt;a href="#les-ressources-du-poller" class="header-anchor"&gt;&lt;/a&gt;Les ressources du poller
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export resourceCFG -r ^.* -f ressources.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="les-contactsutilisateurs"&gt;&lt;a href="#les-contactsutilisateurs" class="header-anchor"&gt;&lt;/a&gt;Les contacts/utilisateurs
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export contact -r ^.* -f contacts.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Les paramètres de notification ne seront pas exportés, attention lors de l'importation à les configurer de nouveau à la main. En effet, l'API REST v1 ne prend pas en charge ces paramètres et la v2 ne supporte pas les contacts.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id="les-commandes-1"&gt;&lt;a href="#les-commandes-1" class="header-anchor"&gt;&lt;/a&gt;Les commandes
&lt;/h4&gt;&lt;p&gt;Exportez les commandes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export commands -r ^ChC -f check_commands.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export commands -r ^NoC -f notification_commands.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;(&lt;/span&gt;etc...&lt;span style="color:#f92672"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="les-templates-1"&gt;&lt;a href="#les-templates-1" class="header-anchor"&gt;&lt;/a&gt;Les Templates
&lt;/h4&gt;&lt;h5 id="les-templates-de-notification"&gt;&lt;a href="#les-templates-de-notification" class="header-anchor"&gt;&lt;/a&gt;Les templates de notification
&lt;/h5&gt;&lt;p&gt;Exportez les templates de notifications des services et des hôtes à part du reste des templates:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export template service -r ^STC -f conf_serv_temp.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export template host -r ^HTC -f conf_host_temp.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="les-templates-dhôte-1"&gt;&lt;a href="#les-templates-dh%c3%b4te-1" class="header-anchor"&gt;&lt;/a&gt;Les templates d&amp;rsquo;hôte
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export template host -r ^HT -f host_temp.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="les-templates-de-service-1"&gt;&lt;a href="#les-templates-de-service-1" class="header-anchor"&gt;&lt;/a&gt;Les templates de service
&lt;/h5&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export template service -r ^ST -f serv_temp.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="les-hôtes-1"&gt;&lt;a href="#les-h%c3%b4tes-1" class="header-anchor"&gt;&lt;/a&gt;Les hôtes
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export host -r ^.* -f hosts.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="les-services-1"&gt;&lt;a href="#les-services-1" class="header-anchor"&gt;&lt;/a&gt;Les services
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-centos export service -r ^*$ -f services.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="importer-vos-configurations"&gt;&lt;a href="#importer-vos-configurations" class="header-anchor"&gt;&lt;/a&gt;Importer vos configurations
&lt;/h3&gt;&lt;p&gt;Cet ordre d'importation me parait le plus logique en fonction des dépendances/héritages qu'il peut y avoir. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;La configuration du moteur&lt;/li&gt;
&lt;li&gt;Les ressources du poller&lt;/li&gt;
&lt;li&gt;Les templates de configuration&lt;/li&gt;
&lt;li&gt;Les commandes&lt;/li&gt;
&lt;li&gt;Les utilisateurs&lt;/li&gt;
&lt;li&gt;Les templates d'hôtes&lt;/li&gt;
&lt;li&gt;Les templates de services&lt;/li&gt;
&lt;li&gt;Les hôtes&lt;/li&gt;
&lt;li&gt;Les services&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Si différents éléments n'ont pas tous les paramètres renseignés car ceux-ci sont hérités de templates, alors de nombreux messages de warning apparaitront, mais ne gêneront pas le processus.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f engine.csv 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f ressources.csv 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f contacts.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f check_commands.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(ect... pour les commandes)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f conf_host_temp.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f conf_serv_temp.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f host_temp.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f serv_temp.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f hosts.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f services.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="déployer-la-configuration"&gt;&lt;a href="#d%c3%a9ployer-la-configuration" class="header-anchor"&gt;&lt;/a&gt;Déployer la configuration
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky import -f engine.csv 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Il peut être préférable de vérifier la configuration dans l'interface web plutot que d'appliquer directement lors d'une grosse importation. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="centctl-de-la-commande-à-lhôte"&gt;&lt;a href="#centctl-de-la-commande-%c3%a0-lh%c3%b4te" class="header-anchor"&gt;&lt;/a&gt;CentCTL: de la commande à l&amp;rsquo;hôte.
&lt;/h2&gt;&lt;p&gt;Les manipulations qui vont suivre peuvent paraitre longues et fastidieuses comparé à la simplicité d'utilisation de l'interface web Centreon. En effet, pour un besoin ponctuel, il est préférable de passer par l'interface.&lt;/p&gt;
&lt;p&gt;Mais ces commandes sont nécessaires dans le cadre de la réalisation d'un script pour automatiser et accélérer la configuration de nombreux éléments. &lt;/p&gt;
&lt;h3 id="créer-une-commande"&gt;&lt;a href="#cr%c3%a9er-une-commande" class="header-anchor"&gt;&lt;/a&gt;Créer une commande
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky add command -l &lt;span style="color:#e6db74"&gt;&amp;#34;\$USER1&lt;/span&gt;$&lt;span style="color:#e6db74"&gt;/check_ping -H \$HOSTADDRESS&lt;/span&gt;$&lt;span style="color:#e6db74"&gt; -w \$_SERVICEWARNING&lt;/span&gt;$&lt;span style="color:#e6db74"&gt; \$_SERVICECRITICAL&lt;/span&gt;$&lt;span style="color:#e6db74"&gt; -p \$_SERVICENBPACKETS&lt;/span&gt;$&lt;span style="color:#e6db74"&gt; -4&amp;#34;&lt;/span&gt; -n ChC_CHECK_PING -t check
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Il est impératif de banaliser le premier $ des macros avec un antislash sinon le shell va interpréter comme une variable vide et ça ne va pas correctement s'implanter dans Centreon.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="créer-un-template-de-service"&gt;&lt;a href="#cr%c3%a9er-un-template-de-service" class="header-anchor"&gt;&lt;/a&gt;Créer un template de service:
&lt;/h3&gt;&lt;p&gt;Exemple avec la commande check_ping:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky add template service -a SFT_ChC_CHECK_PING -n ST_ChC_CHECK_PING -t CST_NOTIF
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configurer les paramètres généraux:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p macro --value&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;WARNING|3,40%|0|seuil d&amp;#39;alerte 1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p macro --value&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;CRITICAL|5,60%|0|seuil d&amp;#39;alerte 2&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p macro --value&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;NBPACKETS|5|0|nombre de paquets&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p check_period -v 24x7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p normal_check_interval -v &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p retry_check_interval -v &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p active_checks_enabled -v &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p passive_checks_enabled -v &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n ST_ChC_CHECK_PING -p is_volatile -v &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configurer les paramètres de notification:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nous allons utiliser un autre template, dédié à la configuration des notifications&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n STC_NOTIF -p notifications_enabled -v &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n STC_NOTIF -p contact -v &lt;span style="color:#e6db74"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n STC_NOTIF -p contactgroup -v &lt;span style="color:#e6db74"&gt;&amp;#34;Supervisors&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n STC_NOTIF -p notification_interval -v &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n STC_NOTIF -p notification_period -v 24x7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n STC_NOTIF -p notification_options -v &lt;span style="color:#e6db74"&gt;&amp;#34;w,u,c,r,f,s&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template service -n STC_NOTIF -p recovery_notification_delay -v &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Pour les temps définis à zero il n'est pas utile de taper la commande&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="créer-un-template-dhôte"&gt;&lt;a href="#cr%c3%a9er-un-template-dh%c3%b4te" class="header-anchor"&gt;&lt;/a&gt;Créer un template d&amp;rsquo;hôte
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky add template host -a HFT_DEBIAN_WEB_SERVER -n HT_DEBIAN_WEB_SERVER -t HTC_NOTIF
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p snmp_community -v public
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p snmp_version -v 2c
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p timezone -v Europe/Paris
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p check_command -v ChC_HOSTALIVE
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p max_check_attempts -v &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p check_interval -v &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p retry_check_interval -v &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p active_checks_enabled -v &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p passive_checks_enabled -v &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Ici la commande ChC_HOSTALIVE liée au template ne comporte pas de macros perso ni d'arguments. Dans le cas où vous auriez des macros à configurer, les valeurs de celles-ci se déclarent de la même manière que pour les macros des templates de service.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les commandes pour les paramètres de notifications sont les mêmes que pour les templates de service.&lt;/p&gt;
&lt;p&gt;Pour lier des templates de service:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify template host -n HT_DEBIAN_WEB_SERVER -p linkedservice -v ST_ChC_CHECK_PING
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Répéter la commande autant de fois qu'il y a de templates de service à lier.&lt;/p&gt;
&lt;h3 id="créer-un-hôte"&gt;&lt;a href="#cr%c3%a9er-un-h%c3%b4te" class="header-anchor"&gt;&lt;/a&gt;Créer un hôte
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky add host -i 192.168.1.148 -a websrv01.aukfood.fr -n Aukfood_Debian_Web_Server_001 -p Central -t HT_DEBIAN_WEB_SERVER 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Par défaut, l'ajout de l'hôte par CentCTL créé automatiquement les services liés aux templates.&lt;/p&gt;
&lt;p&gt;Pour définir d'autres paramètres (soit non définis dans un template d'hôte ou volonté de le changer, soit pour configurer l'hôte manuellement sans relation avec un template), se référer aux commandes listées plus haut.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky modify host -n Aukfood_Debian_Web_Server_001 -p .....
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="créer-un-service"&gt;&lt;a href="#cr%c3%a9er-un-service" class="header-anchor"&gt;&lt;/a&gt;Créer un service
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky add service -n Aukfood_Debian_Web_Server_001 -t ST_ChC_CHECK_PING -d SFT_ChC_CHECK_PING
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;-n nom de l'hôte, -t template de service, -d description (nom du service/alias du template de service)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="pour-aller-plus-loin"&gt;&lt;a href="#pour-aller-plus-loin" class="header-anchor"&gt;&lt;/a&gt;Pour aller plus loin
&lt;/h3&gt;&lt;p&gt;De nombreux autres paramètres n'ont pas été abordés! Pour en découvrir d'autres, c'est par &lt;a href="https://github.com/YPSI-SAS/centctl/tree/master/exemple"&gt;ici&lt;/a&gt; !!!&lt;/p&gt;
&lt;h2 id="exemple-pratique-automatiser-le-déploiement-dun-nouveau-service-sur-tout-un-parc"&gt;&lt;a href="#exemple-pratique-automatiser-le-d%c3%a9ploiement-dun-nouveau-service-sur-tout-un-parc" class="header-anchor"&gt;&lt;/a&gt;Exemple pratique: automatiser le déploiement d&amp;rsquo;un nouveau service sur tout un parc
&lt;/h2&gt;&lt;p&gt;Afin d'éviter de devoir faire une myriade de clics pour déployer un nouveau service sur des centaines de machines, nous pouvons à l'aide d'un petit script très basique déployer en un temps record la nouvelle sonde.&lt;/p&gt;
&lt;h3 id="contexte"&gt;&lt;a href="#contexte" class="header-anchor"&gt;&lt;/a&gt;Contexte
&lt;/h3&gt;&lt;p&gt;Nous avons correctement créé nos hôtes, hérités d'un Template d'hôte, qui est en relation avec un ou plusieurs Template de service qui contiennent une commande.&lt;/p&gt;
&lt;h3 id="extraire-une-liste-dhôtes"&gt;&lt;a href="#extraire-une-liste-dh%c3%b4tes" class="header-anchor"&gt;&lt;/a&gt;Extraire une liste d&amp;rsquo;hôtes
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky list host -r ^.* --output csv &amp;gt; hosts.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vim hosts.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;La liste se présente sous ce format: &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ID,Name,Alias,Address,Activate
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;5,Aukfood_Debian_Web_Server_001,websrv01.aukfood.fr,192.168.1.148,1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;6,Aukfood_Debian_Web_Server_002,websrv02.aukfood.fr,192.168.1.149,1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;7,Aukfood_Win19srv_Dns_Server_001,dnssrv01.aukfood.fr,192.168.1.253,1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Quelques petites manips avec vim:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Ôter la premiere ligne en plaçant le curseur en début de ligne et appuyez 2 fois rapidement sur d&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Entrez ces commandes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:g/^&lt;span style="color:#ae81ff"&gt;\d&lt;/span&gt;*,/s///
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:g/,.*$/s///
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;gt; Selon les préférences, la commande &lt;code&gt;sed&lt;/code&gt; ira très bien aussi!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Après manipulation nous obtennons une liste ne contenant que les noms d'hôtes.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Aukfood_Debian_Web_Server_001
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Aukfood_Debian_Web_Server_002
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Aukfood_Win19srv_Dns_Server_001
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="créer-le-script"&gt;&lt;a href="#cr%c3%a9er-le-script" class="header-anchor"&gt;&lt;/a&gt;Créer le script
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vim autodeploy.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#Déclare la liste d&amp;#39;hôte&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;listhost&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;&amp;lt;hosts.csv&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#Boucle sur tout les hôtes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; host in $listhost; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky add service -n $host -t ST_ChC_CHECK_PING -d SFT_ChC_CHECK_PING
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#Exporte la configuration sur le poller selectionné et le recharge&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./centctl --server&lt;span style="color:#f92672"&gt;=&lt;/span&gt;centreon-rocky apply -n Central
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;Wouah, c&amp;#39;était long! Tu as bien travaillé, vas te reposer maintenant ;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Maintenant, vous pouvez grâce à toutes les commandes CentCTL vues précédemment vous amuser à scripter dans tout les sens...&lt;/p&gt;
&lt;h1&gt;Sources&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://www.sugarbug.fr/atelier/" title="L&amp;#039;atelier de Kermith"&gt;L'atelier de Kermith&lt;/a&gt; qui est une vraie pépite pleine de bonne choses!&lt;br /&gt;
&lt;a href="https://github.com/YPSI-SAS/centctl" title="Github de CentCTL"&gt;Github de CentCTL&lt;/a&gt; dans lequel j'ai trouvé nombreuses réponses.&lt;br /&gt;
Mes cours sur la supervision lors de ma formation TSSR à l'&lt;a href="https://www.eni-ecole.fr/" title="ENI de St-Herblain"&gt;ENI de St-Herblain&lt;/a&gt; ( coucou Fred 🙂 )&lt;/p&gt;
&lt;h1&gt;Merci&lt;/h1&gt;
&lt;p&gt;Merci de m'avoir lu, et soyez indulgent pour mon 1er article dans le monde de l'IT !!! (et du monde libre, une pierre deux coups, tant qu'à faire)&lt;/p&gt;
&lt;p&gt;Charles, stagiaire TSSR.&lt;/p&gt;</description></item></channel></rss>