URL: https://linuxfr.org/forums/linux-general/posts/tuto-howto-installer-et-configurer-rudder-sur-ubuntu-debian Title: [Tuto/HowTo] Installer et configurer Rudder sur Ubuntu/Debian Authors: EauFroide Date: 2017年04月27日T02:05:44+02:00 License: CC By-SA Tags: tutoriel, rudder, administration, debian et postgresql Score: 7 # Introduction # [Rudder](http://www.rudder-project.org/site/) est un logiciel libre permettant de centraliser la gestion de ses serveurs sur une interface web (WEBUI) et une [API](https://fr.wikipedia.org/wiki/Interface_de_programmation). Rudder utilise le moteur [CFEngine](https://fr.wikipedia.org/wiki/CFEngine) et est une alternative à [Ansible Tower](http://www.normation.com/fr/rudder-alternative-ansible-tower/), [OpenStack](https://fr.wikipedia.org/wiki/OpenStack) ou encore [Puppet](https://fr.wikipedia.org/wiki/Puppet). Les agents s'exécutent sous formes de tâches planifiés (ils ne se lancent que tout les X temps configurable + random 4 minutes). Lorsque sur l'interface (WEBUI ou API REST) vous activez des directives, configurations, etc; ces actions ne sont lancées sur les Nodes qu'une fois les agents lancés par le planificateur de tâche (cron). Enfin, sachez que lors de l'installation du serveur rudder, ce dernier va aussi installer l'agent rudder sur la machine et la connecter automatiquement au serveur. Ainsi vous pourrez aussi gérer la machine hébergeant rudder depuis sa WEBUI. Rudder est un logiciel libre, son évolution nécessite votre participation : [rapportez les bugs](https://www.rudder-project.org/redmine/login?back_url=https%3A%2F%2Fwww.rudder-project.org%2Fredmine%2Fprojects%2Frudder%2Fissues%2Fnew), [aidez à l'évolution du code](https://github.com/Normation/rudder), contribuez financièrement, faites la promotion du logiciel et de ses alternatives libre contre les concurrents closed-sources (propriétaire), aidez les autres utilisateurs, etc. ____________________________________________________________________ # Installer le serveur Rudder sur Ubuntu/Debian # **Note :** le serveur rudder n'est encore compatible avec [raspbian](https://www.raspbian.org/). 1. **Passez en admin** ``` sudo su ``` 1. **Ajoutez la clés publique de rudder** ``` wget --quiet -O- "https://www.rudder-project.org/apt-repos/rudder_apt_key.pub" | apt-key add - ``` 1. **Ajoutez le dépôt** ``` echo "deb http://www.rudder-project.org/apt-latest/ $(lsb_release -cs) main"> /etc/apt/sources.list.d/rudder.list ``` 1. **Mettez à jours la liste des logiciels** ``` sudo apt-get update ``` 1. **Lancez l'installation du [server rudder](https://www.rudder-project.org/doc-4.1/_install_rudder_server.html)** ``` apt-get install rudder-server-root ``` 1. **Changez le mot de passe de l’administrateur (admin) en éditant _/opt/rudder/etc/rudder-users.xml_** ``` nano /opt/rudder/etc/rudder-users.xml ``` * **Sur la machine sur laquelle vous allez générer le mot de passe hashé, lancez cette commande une fois pour que votre terminal n'enregistre plus les commandes commençant par un espace jusqu'au prochain reboot (évitant ainsi d'enregistrer dans l'historique la commande contenant votre mot de passe)** ``` export HISTCONTROL=ignorespace ``` * Remplacez **c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec** par la chaîne (sans le -) que va sortir la commande suivante (que vous pouvez lancer sur n'importe quelle machine debian/ubuntu): **Note :** n'oubliez pas l'espace juste avant la commande ``` echo -n "monPassword" | shasum -a 512 ``` * **monPassword =>** remplacez par le mot de passe que vous souhaitez utiliser * Notez que vous pouvez aussi changer le login (inscrivez le en claire (sans passer par le hashage)) 1. **Relancez le service** ``` service rudder-jetty restart ``` ____________________________________________________________________ # Installer le client Rudder sur Ubuntu/Debian # **Note :** le client rudder n'est encore packagé pour [raspbian](https://www.raspbian.org/). 1. **Passez en admin** ``` sudo su ``` 1. **Ajoutez la clés d'authentification des paquets** ``` wget --quiet -O- "https://www.rudder-project.org/apt-repos/rudder_apt_key.pub" | sudo apt-key add - ``` 1. **Ajoutez le dépôt** ``` echo "deb http://www.rudder-project.org/apt-latest/ $(lsb_release -cs) main"> /etc/apt/sources.list.d/rudder.list ``` 1. **Mettez à jours la liste des logiciels** ``` apt-get update ``` 1. **Lancez l'installation de l'[agent rudder](https://www.rudder-project.org/doc-4.1/install-agent.html)** ``` apt-get install rudder-agent ``` 1. **Ajoutez l'[hostname](https://fr.wikipedia.org/wiki/Nom_d%27h%C3%B4te) utilisé pour joindre votre serveur rudder** ``` echo 'HOSTNAME'> /var/rudder/cfengine-community/policy_server.dat ``` * **HOSTNAME =>** remplacez par l'[hostname](https://fr.wikipedia.org/wiki/Nom_d%27h%C3%B4te) pour joindre votre serveur. (n'oubliez pas d'éventuellement adapter le fichier [/etc/hosts sur les clients linux](https://debian-handbook.info/browse/fr-FR/stable/sect.hostname-name-service.html) et [C:\WINDOWS\system32\drivers\etc\hosts](http://www.commentcamarche.net/faq/5993-modifier-son-fichier-hosts#ou-se-trouve-le-fichier-hosts-original) sur windows) 1. **Lancez le client rudder** ``` rudder agent start ``` 1. **Attendez quelques minutes puis rendez-vous sur la WEBUI de votre serveur rudder et acceptez la machine :)** 1. **Sur la machine où vous avez installez le client rudder vous pouvez vérifier le fonctionnement** ``` rudder agent status rudder agent check ``` ____________________________________________________________________ # Foire Aux Questions # **Peut-on exécuter des commandes sur une ou plusieurs machines ?** * **Réponse :** Pas directement depuis un shell. Néanmoins on peut, dans _**Menu**_ => _**Utilities**_ => _**Technique editor**_, créer une _**Technique**_ exécutant n"importe quelle commande. (voir screenshot suivant)  **Quelles sont les pré-requis matériel/bandwidth pour genre 10 machines, 100 machines, 1000 machines ?** * **Réponse :** * **Pour la RAM** * moins de 50 nodes: 2Go * entre 50 et 1000 nodes: 4Go * plus de 1000 nodes: 4Go + 1GB de RAM par 500 nodes au dessus de 1000. * **Pour PostGreSQL** * espace maximale consommé = nombre de Directives * nombre de Nodes * temps de rétention en jours * 400 ko **L'export des backups est-il automatisable via cron ?** * **Réponse :** oui, la documentation explique [comment le faire en utilisant l'API REST](http://www.rudder-project.org/doc-4.1/rest-api.html#_archives_manipulation). **Peut-on déployer des scripts ?** * **Réponse :** Oui, par exemple avec la Technique "File download (Rudder server)" qui permet de télécharger sur les nœuds un fichier (ou dossier) présent dans /var/rudder/configuration-repository/shared-files sur le serveur Rudder. **Peut-on gérer les utilisateurs depuis la WEBUI ?** * **Réponse :** Non. **Peut-on parcourir le système de fichier des machines/Nodes ?** * **Réponse :** Non, sauf a créer un script dans les Directives. Vous disposez d'une liste des points de montages dans les informations de chaque Node. ____________________________________________________________________ # Screenshot #      ____________________________________________________________________ # Farm Link # * [[Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder](https://www.0rion.netlib.re/forum4/viewtopic.php?f=79&t=574) (tutoriel d'origine) * [WikipediaFR - Rudder (logiciel)](https://fr.wikipedia.org/wiki/Rudder_%28logiciel%29) * [[Tuto/HowTo] BBOX Belgacom Fixer adresse IP via adresse Mac](https://192.168.1.61/forum4/viewtopic.php?f=14&t=240) * [[Tuto/HowTo] [GNU/Linux] SSH](https://192.168.1.61/forum4/viewtopic.php?f=40&t=295) * [Doc Rudder - Install Rudder Agent](https://www.rudder-project.org/doc-4.1/install-agent.html) * [Doc Rudder - Install Rudder Root server on Debian or Ubuntu](https://www.rudder-project.org/doc-4.0/_install_rudder_root_server_on_debian_or_ubuntu.html) * [Github - Rudder](https://github.com/Normation/rudder) * [LinuxFR - Tout les contenues taggés rudder](https://linuxfr.org/tags/rudder/public) * [Doc Rudder 4.1 - User ManualAdvanced Node management](https://www.rudder-project.org/doc-4.1/_node_management_3.html)