GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment utiliser les modules Puppet pour créer une pile LAMP sur Ubuntu 20.04

Puppet est un puissant outil de gestion de configuration open source qui peut être utilisé pour déployer, configurer, gérer et maintenir un serveur tout en y accédant à distance. Puppet est écrit en Ruby et vous aide à déployer et à gérer un serveur unique, jusqu'à des milliers de serveurs physiques et virtuels, le tout à partir d'un emplacement central.

Les modules Puppet sont des collections de fichiers manifestes et de données qui permettent à Puppet de charger et de trouver des classes, des faits, des fonctions, des types définis et des tâches. Avec les modules Puppet, vous pouvez installer et mettre à jour des packages, créer des fichiers et des répertoires et/ou apporter des modifications de configuration rapidement et facilement. Il vise à effectuer et à automatiser presque toutes les tâches, telles que le lancement d'un environnement LAMP, la configuration d'hôtes virtuels, etc.

Dans ce didacticiel, nous montrerons comment créer un module LAMP pour déployer une pile LAMP sur la machine de l'agent Puppet, qui sont tous deux des VPS Ubuntu 20.04. Commençons.

Avant de commencer

Vous aurez besoin de :

  • Deux serveurs virtuels Ubuntu 20.04 avec le maître Puppet et l'agent Puppet configurés.
  • Un accès root activé ou un utilisateur avec des privilèges sudo.

Mise en route

Tout d'abord, vous devrez vous connecter à votre serveur en utilisant SSH. Vous pouvez le faire en saisissant cette commande :

ssh root@IP_Address -p Port_Number

N'oubliez pas de remplacer "root" par votre nom d'utilisateur si vous n'utilisez pas l'utilisateur root. Modifiez "IP_Address" et "Port_Number" en fonction de l'adresse IP et du numéro de port SSH de votre serveur. Le numéro de port par défaut est 22.

Une fois connecté, vous pouvez passer à l'étape suivante.

Vérifier le serveur et l'agent Puppet

Tout d'abord, vérifiez le service Puppet en exécutant la commande suivante sur le nœud maître Puppet. Nous devons nous assurer que le service est actif et en cours d'exécution :

systemctl status puppetserver

Ensuite, répertoriez toutes les demandes d'agent signées et non signées avec la commande suivante :

/opt/puppetlabs/bin/puppetserver ca list --all

Vous devriez voir le résultat suivant :

Signed Certificates:
    puppet-client       (SHA256)  58:73:AE:62:04:9E:B8:0F:16:07:83:08:34:4A:00:D2:E6:82:9B:47:2A:00:9F:F4:08:AE:56:A8:E7:1B:6A:31
    puppet-master       (SHA256)  7F:23:98:18:0E:3F:0F:FD:3E:12:FD:43:A6:50:C2:4C:58:0F:C6:EB:B0:5A:2A:74:6F:D8:A0:95:BC:31:EA:47alt names: ["DNS:puppet-master", "DNS:puppet-master"]authorization extensions: [pp_cli_auth: true]

Sur le nœud de l'agent Puppet, exécutez la commande suivante pour tester la connectivité entre les deux nœuds.

/opt/puppetlabs/bin/puppet agent --test

Si tout va bien, vous devriez obtenir le résultat suivant :

Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for puppet-client
Info: Applying configuration version '1583136740'
Notice: Applied catalog in 0.05 seconds

Créer un module LAMPE

Tout d'abord, vous devrez créer un module LAMP sur le nœud maître Puppet. Pour créer un module, vous devez créer un répertoire dont le nom correspond au nom de votre module dans les modules de Puppet répertoire, et il doit contenir un répertoire appelé manifests , et ce répertoire doit contenir un init.pp fichier.

Pour ce faire, changez le répertoire en répertoire du module Puppet et créez un répertoire nommé lamp puis un manifests répertoire à l'intérieur :

cd /etc/puppetlabs/code/modules/
mkdir -p lamp/manifests

Ensuite, créez un init.pp fichier qui contiendra une classe Puppet correspondant au nom du module. Nous allons utiliser nano pour cela, mais vous pouvez utiliser n'importe quel éditeur de texte que vous aimez.

nano lamp/manifests/init.pp

Ajoutez les lignes suivantes :

class lamp {
  # execute 'apt-get update'
  exec { 'apt-update':                    # exec resource named 'apt-update'
    command => '/usr/bin/apt-get update'  # command this resource will run
  }

  # install apache2 package
  package { 'apache2':
    require => Exec['apt-update'],        # require 'apt-update' before installing
    ensure => installed,
  }

  # ensure apache2 service is running
  service { 'apache2':
    ensure => running,
  }

  # install mysql-server package
  package { 'mysql-server':
    require => Exec['apt-update'],        # require 'apt-update' before installing
    ensure => installed,
  }

  # ensure mysql service is running
  service { 'mysql':
    ensure => running,
  }

  # install php package
  package { 'php':
    require => Exec['apt-update'],        # require 'apt-update' before installing
    ensure => installed,
  }
  # ensure info.php file exists
  file { '/var/www/html/info.php':
    ensure => file,
    content => '',    # phpinfo code
    require => Package['apache2'],        # require 'apache2' package before creating
  }
}

Enregistrez et fermez le fichier lorsque vous avez terminé.

Créer le fichier manifeste principal

Un manifeste est un fichier qui contient des configurations client qui peuvent être utilisées pour installer la pile LAMP sur le nœud de l'agent. Le fichier manifeste principal de la marionnette se trouve dans /etc/puppetlabs/code/environments/production/manifests répertoire.

Vous pouvez créer un nouveau fichier manifeste nommé site.pp avec la commande suivante :

nano /etc/puppetlabs/code/environments/production/manifests/site.pp

Ajoutez les lignes suivantes :

node default { }

node 'puppet-agent' {
  include lamp
}

Enregistrez et fermez le fichier.

Dans le fichier ci-dessus, un bloc de nœud permet de spécifier le code Puppet qui ne s'appliquera qu'à certains nœuds d'agent. Le nœud par défaut s'applique à chaque nœud d'agent qui n'a pas de bloc de nœuds spécifié.

Ici, nous avons spécifié le puppet-agent node block qui ne s'appliquera qu'à notre puppet-agent nœud agent. Nous avons également ajouté la lampe include lamp snippet pour que Puppet utilise le module de lampe sur le nœud de l'agent.

Testez le module LAMPE

Maintenant, vous devrez extraire la configuration LAMP sur le nœud agent à partir du nœud maître.

Sur le nœud agent, exécutez la commande suivante pour extraire la configuration LAMP du nœud maître.

/opt/puppetlabs/bin/puppet agent --test

Cela installera et configurera la pile LAMP sur le nœud de l'agent, comme illustré ci-dessous :

Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for puppet-agent
Info: Applying configuration version '1594188800'
Notice: /Stage[main]/Lamp/Exec[apt-update]/returns: executed successfully
Notice: /Stage[main]/Lamp/Package[apache2]/ensure: created
Notice: /Stage[main]/Lamp/Package[mysql-server]/ensure: created
Notice: /Stage[main]/Lamp/Package[php]/ensure: created
Notice: /Stage[main]/Lamp/File[/var/www/html/info.php]/ensure: defined content as '{md5}d9c0c977ee96604e48b81d795236619a'
Notice: Applied catalog in 73.09 seconds

Et avec cela, la pile LAMP est maintenant installée sur votre nœud d'agent. Pour le vérifier, ouvrez votre navigateur Web et tapez l'URL http://agent-ip-address/info.php . Vous devriez voir votre page PHP.

Toutes nos félicitations! vous avez créé avec succès un module LAMP sur votre maître Puppet et l'avez déployé avec succès sur votre ou vos nœuds d'agent avec Puppet.

Le déploiement de ces modifications sur les nœuds d'agent est conçu pour être aussi simple et automatisé que possible, mais vous devez toujours configurer les deux côtés et effectuer ces tâches vous-même. Si vous utilisez l'un de nos forfaits VPS Ubuntu gérés, il vous suffit de demander à notre équipe d'administrateurs experts d'installer tout ce dont vous avez besoin pour vous. Ils peuvent installer et configurer tout ce que vous souhaitez, quand vous le souhaitez, ainsi que procéder à la maintenance du serveur, le tout sans que vous ayez à faire quoi que ce soit.

Nous espérons que vous avez trouvé ce tutoriel utile. Si tel est le cas, nous vous serions reconnaissants de partager ce didacticiel avec vos amis via les réseaux sociaux en utilisant nos raccourcis de partage, ou vous pouvez laisser un commentaire nous indiquant comment l'installation s'est déroulée pour vous. Merci.


Panels
  1. Comment installer LAMP Stack sur Ubuntu 22.04 LTS

  2. Comment installer WordPress avec LAMP Stack sur Ubuntu 16.04

  3. Comment installer WordPress avec LAMP Stack sur Ubuntu 18.04

  4. Comment installer LAMP sur Ubuntu 18.04

  5. Comment installer WordPress avec LAMP Stack sur Ubuntu 20.04

Comment installer LAMP Stack sur le serveur/bureau Ubuntu 20.04

Comment installer LAMP Stack avec PhpMyAdmin dans Ubuntu 20.04

Comment installer la pile LAMP sur Ubuntu 16.04

Comment installer la pile LAMP sur Ubuntu 17.04

Comment installer la pile LAMP sur Ubuntu 17.10

Comment installer la pile LAMP sur Ubuntu 20.04