GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer Foreman 1.16 sur le serveur Debian 9 / Ubuntu 16.04

Foreman est un outil de configuration et d'approvisionnement gratuit et open source qui peut être installé sur les systèmes Red Hat, CentOS, Scientific Linux, Debian et Ubuntu. Avec l'outil Forman, nous pouvons facilement provisionner des machines virtuelles et des serveurs bare metal, puis configurer les systèmes installés à l'aide d'outils de configuration tels que Puppet et Ansible. Chaque fois que nous installons le serveur Foreman, il installe automatiquement Puppet Master dessus.

Avec l'aide de Foreman GUI, les administrateurs système peuvent appliquer des modules de marionnettes spécifiques aux serveurs enregistrés pour effectuer les tâches répétitives et peuvent également automatiser facilement les tâches d'exploitation quotidiennes.

Dans ce tutoriel, nous allons parcourir les étapes d'installation de Foreman 1.16 sur Debian 9 et Ubuntu 16.04 Server.

Voici la configuration minimale requise pour le serveur Foreman :

  • 4 Go de RAM (lorsque Puppet Master est installé sur le même serveur Foreman)
  • Processeur à 2 cœurs
  • Debian 9/Ubuntu 16.04 fraîchement installé

Ci-dessous se trouvent les détails de configuration de mon laboratoire pour Foreman Server

  • L'adresse IP du serveur Foreman est "192.168.1.20"
  • Nom d'hôte du serveur Foreman "foreman.linuxtechi.com"
  • Puppet Master 5 sera installé sur le serveur Foreman
  • SE :serveur Debian 9/Ubuntu 16.04 LTS

Connectons-nous au système Debian 9 / Ubuntu 16.04 LTS

Étape :1) Configurer le nom d'hôte et mettre à jour ses entrées dans le fichier d'hôtes

Utilisez la commande systemctl pour configurer le nom d'hôte de votre système.

$ sudo hostnamectl set-hostname "foreman.linuxtechi.com"
$ exec bash

Mettez à jour les entrées du nom d'hôte de votre système dans le fichier /etc/hosts.

192.168.1.20  foreman.linuxtechi.com foreman

Étape : 2) Activez les référentiels requis pour Foreman et Puppet

Pour le système Debian 9 :

Activez les référentiels Puppet 5 à l'aide des commandes ci-dessous

[email protected]:~$ sudo apt-get -y install ca-certificates
[email protected]:~$ wget https://apt.puppetlabs.com/puppet5-release-stretch.deb
[email protected]:~$ sudo dpkg -i puppet5-release-stretch.deb

Activez les référentiels Foreman 1.16 à l'aide des commandes ci-dessous

[email protected]:~$ echo "deb http://deb.theforeman.org/ stretch 1.16" | sudo tee /etc/apt/sources.list.d/foreman.list 
[email protected]:~$ echo "deb http://deb.theforeman.org/ plugins 1.16" | sudo tee -a /etc/apt/sources.list.d/foreman.list
li[email protected]:~$ wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add -
OK
[email protected]:~$

Pour le système Ubuntu 16.04 LTS

Activer les référentiels Puppet 5

[email protected]:~$ sudo  apt-get -y install ca-certificates
[email protected]:~$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb
[email protected]:~$ sudo  dpkg -i puppet5-release-xenial.deb

Activer les référentiels Foreman 1.16

[email protected]:~$ echo "deb http://deb.theforeman.org/ xenial 1.16" | sudo tee /etc/apt/sources.list.d/foreman.list
[email protected]:~$ echo "deb http://deb.theforeman.org/ plugins 1.16" | sudo tee -a /etc/apt/sources.list.d/foreman.list
[email protected]:~$ wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add -
OK
[email protected]:~$

Étape 3) Téléchargez "foreman-installer" à l'aide de la commande apt-get

Exécutez la commande ci-dessous pour installer foreman-installer,

[email protected]:~$ sudo apt-get update && sudo apt-get -y install foreman-installer

Foreman-installer est l'outil d'installation pour contremaître.

Étape 4) Installez Foreman à l'aide de "foreman-installer"

Exécutez la commande foreman-installer pour installer le serveur foreman. Par défaut, le programme d'installation de foreman installera et configurera les composants suivants :

  • Interface Web Foreman (Apache HTTP avec SSL)
  • Proxy intelligent
  • Maître des marionnettes
  • Agent marionnette
  • Serveur TFTP
[email protected]:~$ sudo foreman-installer --foreman-admin-username admin --foreman-admin-password "[email protected]#"

Une fois l'installation terminée avec succès, nous obtiendrons une sortie comme ci-dessous :

Si le pare-feu du système d'exploitation est activé et en cours d'exécution sur votre système, ouvrez les ports suivants pour le serveur Foreman

[email protected]:~$ sudo ufw allow 53/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 67:69/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 80/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 443/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 3000/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 3306/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 5910:5930/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 5432/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 8140/tcp
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow 8443/tcp
Rule added
Rule added (v6)
[email protected]:~$

Remarque : Dans mon cas, lors de l'installation de Foreman, j'obtenais cette erreur « Erreur lors de l'exécution de SQL ; psql a renvoyé le pid 32532 exit 1 :  ERREUR :nom de paramètres régionaux invalide :"en_US.utf8", j'ai résolu cette erreur en exécutant la commande ci-dessous :

[email protected]:~$ sudo dpkg-reconfigure locales

Sélectionnez "en_US.UTF-8 UTF-8 ", puis sélectionnez OK et redémarrez la machine, puis relancez la commande foreman-installer.

Étape :5) Accéder à l'interface Web de Foreman

Nous pouvons accéder à l'interface Web de Foreman en utilisant l'URL suivante :

https://{Foreman_Server_IP}

ou

https://{Hostname_Foreman_Server}

Utilisez le nom d'utilisateur comme "admin" et le mot de passe que nous spécifions dans la commande foreman-installer,

Accédez à Hôtes Tab -> Cliquez sur "Tous les hôtes

À l'heure actuelle, un seul hôte est enregistré, c'est-à-dire notre serveur de contremaître. Chaque fois que nous enregistrons de nouveaux serveurs auprès du contremaître, ces serveurs seront répertoriés ici. En dehors de cela, l'environnement de production est également créé par défaut et tous les serveurs seront enregistrés sur l'environnement par défaut. Vous pouvez créer vos environnements adaptés à votre organisation à partir de l'interface utilisateur de Foreman.

Télécharger et importer le module marionnette NTP sur Foreman Server

Utilisez la commande ci-dessous pour télécharger le module de marionnettes ntp à partir de "forge.puppet.com"

[email protected]:~$ sudo su -
[email protected]:~# puppet module install puppetlabs-ntp -i /etc/puppetlabs/code/modules/

Nous obtiendrons quelque chose comme ci-dessous :

Importez le module NTP installé dans le tableau de bord du contremaître

Depuis le tableau de bord, accédez à Configurer Tab -> Sélectionnez Marionnette –> Cours , Cliquez sur Importer

Sélectionnez les environnements auxquels vous souhaitez associer ce module, dans mon cas, je vais l'associer à Production et développement.

Cliquez sur Mettre à jour,

Nous aurons la fenêtre suivante quelque chose comme ci-dessous :

Enregistrons un hôte CentOS 7 sur le tableau de bord du contremaître, puis nous y attacherons le module ntp,

Enregistrement d'un serveur CentOS 7

Connectez-vous au système et activez le référentiel puppetlabs yum, puis installez le package puppet

[[email protected] ~]# yum install https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm -y
[[email protected] ~]# yum install puppet -y

Remarque : Si vous n'avez pas le serveur DNS, ajoutez des entrées dans le fichier hosts. Dans mon cas, j'ai ajouté les lignes suivantes dans le fichier /etc/hosts

192.168.1.20  foreman.linuxtechi.com
192.168.1.2    mx2.linuxtechi.com

Exécutez la commande ci-dessous à partir de votre serveur Centos 7 pour enregistrer cette machine dans le tableau de bord Puppet Master &Foreman.

[[email protected] ~]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com

Vous obtiendrez la sortie de la commande quelque chose comme ci-dessous :

……………………………………………………
Debug: Finishing transaction 22347940
Info: Creating a new SSL key for mx2.linuxtechi.com
Info: Caching certificate for ca
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for mx2.linuxtechi.com
Info: Certificate Request fingerprint (SHA256): A4:D3:15:0D:8D:10:48:93:96:1D:E4:61:5F:F7:F6:B4:CB:C2:01:F4:4C:02:99:37:03:2C:9E:24:0E:30:CF:CC
Debug: Using cached certificate for ca
Info: Caching certificate for ca
Debug: Using cached certificate_request for mx2.linuxtechi.com
Debug: Using cached certificate for ca
Debug: Using cached certificate for ca
Exiting; no certificate found and waitforcert is disabled
[[email protected] ~]#

Cela signifie que nous devons signer manuellement le certificat du serveur CentOS 7 à partir de la machine contremaître. Pour signer le certificat à partir du tableau de bord du contremaître, reportez-vous aux étapes ci-dessous

De l'Infrastructure Onglet -> Sélectionnez Proxies intelligents puis cliquez sur Modifier option et sélectionnez "Certificats

Signez maintenant le certificat de la machine dont l'état est en attente, exemple ci-dessous :

Cliquez sur le signe

Reportez-vous aux étapes ci-dessous pour configurer la signature automatique

De l'Infrastructure Onglet -> Sélectionnez Proxies intelligents puis cliquez sur Modifier option et sélectionnez "Signature automatique

Créez une entrée de signature automatique et spécifiez le nom de domaine pour lequel nous voulons que le contremaître signe automatiquement les certificats

Cliquez sur Enregistrer . La prochaine fois qu'un serveur du domaine "linuxtechi.com" est enregistré sur le serveur Foreman, il sera automatiquement signé,

Maintenant, allez à nouveau sur le serveur CentOS 7 et relancez la commande de l'agent de marionnettes. Cette fois, la commande doit être exécutée avec succès,

[[email protected] ~]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com

Vérifiez l'hôte à partir du tableau de bord, à partir des hôtes Tab -> Sélectionnez "Tous les hôtes ", nous y retrouverons notre hôte nouvellement enregistré (serveur CentOS 7)

Attachons le module NTP au serveur nouvellement enregistré (mx2.linuxtechi.com), sélectionnez l'hôte et cliquez sur Modifier , puis allez dans "Cours de marionnettes ” Onglet

Cliquez sur ‘+’ connectez-vous devant ntp pour ajouter le module puis cliquez sur 'Soumettre

Accédez au serveur CentOS7 et relancez la commande de l'agent de marionnettes, cette fois, il configurera ntp sur votre serveur CentOS 7.

[[email protected] puppet]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com

La sortie de la commande ci-dessus sera quelque chose comme ci-dessous :

Cela confirme que le serveur CentOS 7 a été enregistré et configuré avec succès via Foreman Server. Il conclut également l'article, veuillez partager vos commentaires dans la section des commentaires ci-dessous.

En savoir plus sur "Bare metal et provisionnement de machines virtuelles via Foreman Server


Ubuntu
  1. Comment installer et configurer un serveur NFS sur Ubuntu 20.04

  2. Comment installer et configurer VNC sur Ubuntu 20.04

  3. Comment installer et configurer Algo VPN Server sur Ubuntu 20.04

  4. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  5. Comment installer et configurer le serveur Redis dans Ubuntu

Comment installer et configurer KVM sur Debian 10 (Buster)

Comment installer et configurer DHCP sur Ubuntu 18.04

Comment installer et configurer le serveur LAMP sur Ubuntu

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer VNC sur Ubuntu Server 20.04

Installer et configurer Virtualmin sur le serveur Ubuntu 20.04 / Debian 10