GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

So verwenden Sie Puppet-Module zum Erstellen eines LAMP-Stacks unter Ubuntu 20.04

Puppet ist ein leistungsstarkes Open-Source-Konfigurationsverwaltungstool, mit dem Sie einen Server bereitstellen, konfigurieren, verwalten und warten können, während Sie remote darauf zugreifen. Puppet ist in Ruby geschrieben und hilft Ihnen bei der Bereitstellung und Verwaltung eines einzelnen Servers – bis hin zu Tausenden von physischen und virtuellen Servern – alles von einem zentralen Standort aus.

Puppet-Module sind Sammlungen von Manifestdateien und Daten, die es Puppet ermöglichen, Klassen, Fakten, Funktionen, definierte Typen und Aufgaben zu laden und zu finden. Mit Puppet-Modulen können Sie schnell und einfach Pakete installieren und aktualisieren, Dateien und Verzeichnisse erstellen und/oder Konfigurationsänderungen vornehmen. Es zielt darauf ab, fast jede Aufgabe auszuführen und zu automatisieren, wie z. B. das Starten einer LAMP-Umgebung, das Einrichten virtueller Hosts usw.

In diesem Tutorial zeigen wir, wie Sie ein LAMP-Modul erstellen, um einen LAMP-Stack auf der Puppet-Agent-Maschine bereitzustellen, die beide Ubuntu 20.04-VPS sind. Fangen wir an.

Bevor wir beginnen

Sie benötigen:

  • Zwei virtuelle Ubuntu 20.04-Server mit konfiguriertem Puppet-Master und Puppet-Agent.
  • Ein aktivierter Root-Zugriff oder ein Benutzer mit sudo-Berechtigungen.

Erste Schritte

Zuerst müssen Sie sich mit SSH bei Ihrem Server anmelden. Sie können dies tun, indem Sie diesen Befehl eingeben:

ssh root@IP_Address -p Port_Number

Denken Sie daran, „root“ durch Ihren Benutzernamen zu ersetzen, wenn Sie nicht den Root-Benutzer verwenden. Ändern Sie „IP_Address“ und „Port_Number“ entsprechend der IP-Adresse Ihres Servers und der SSH-Portnummer. Die Standardportnummer ist 22.

Sobald Sie angemeldet sind, können Sie mit dem nächsten Schritt fortfahren.

Puppet-Server und -Agent überprüfen

Überprüfen Sie zunächst den Puppet-Dienst, indem Sie den folgenden Befehl auf dem Puppet-Master-Knoten ausführen. Wir müssen sicherstellen, dass der Dienst aktiv ist und ausgeführt wird:

systemctl status puppetserver

Listen Sie als Nächstes alle signierten und unsignierten Agentenanforderungen mit dem folgenden Befehl auf:

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

Sie sollten die folgende Ausgabe sehen:

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]

Führen Sie auf dem Puppet-Agent-Knoten den folgenden Befehl aus, um die Konnektivität zwischen beiden Knoten zu testen.

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

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:

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

Erstellen Sie ein LAMP-Modul

Zuerst müssen Sie ein LAMP-Modul auf dem Puppet-Master-Knoten erstellen. Um ein Modul zu erstellen, müssen Sie ein Verzeichnis erstellen, dessen Name mit Ihrem Modulnamen in Puppets modules übereinstimmt Verzeichnis, und es muss ein Verzeichnis namens manifests enthalten , und dieses Verzeichnis muss eine init.pp enthalten Datei.

Wechseln Sie dazu in das Verzeichnis des Puppet-Moduls und erstellen Sie ein Verzeichnis mit dem Namen lamp und dann ein manifests Verzeichnis darin:

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

Als nächstes erstellen Sie eine init.pp Datei, die eine Puppet-Klasse enthält, die dem Modulnamen entspricht. Wir werden nano verwenden dafür, aber Sie können jeden beliebigen Texteditor verwenden.

nano lamp/manifests/init.pp

Fügen Sie die folgenden Zeilen hinzu:

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
  }
}
ist das Paket 'apache2' erforderlich

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Erstellen Sie die Hauptmanifestdatei

Ein Manifest ist eine Datei, die Clientkonfigurationen enthält, die zum Installieren des LAMP-Stacks auf dem Agentenknoten verwendet werden können. Die Hauptmanifestdatei von Puppet befindet sich unter /etc/puppetlabs/code/environments/production/manifests Verzeichnis.

Sie können eine neue Manifestdatei mit dem Namen site.pp erstellen mit folgendem Befehl:

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

Fügen Sie die folgenden Zeilen hinzu:

node default { }

node 'puppet-agent' {
  include lamp
}

Speichern und schließen Sie die Datei.

In der obigen Datei können Sie mit einem Knotenblock den Puppet-Code angeben, der nur für bestimmte Agentenknoten gilt. Der Standardknoten gilt für jeden Agentenknoten, für den kein Knotenblock angegeben ist.

Hier haben wir den puppet-agent angegeben Knotenblock, der nur für unseren puppet-agent gilt Agentenknoten. Wir haben auch die include lamp hinzugefügt Schnipsel, um Puppet dazu zu bringen, das Lampenmodul auf dem Agentenknoten zu verwenden.

Testen Sie das LAMP-Modul

Jetzt müssen Sie die LAMP-Konfiguration auf dem Agent-Knoten vom Master-Knoten abrufen.

Führen Sie auf dem Agent-Knoten den folgenden Befehl aus, um die LAMP-Konfiguration vom Master-Knoten abzurufen.

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

Dadurch wird der LAMP-Stack auf dem Agentenknoten installiert und eingerichtet, wie unten zu sehen ist:

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

Und damit wurde der LAMP-Stack nun auf Ihrem Agentenknoten installiert. Um dies zu überprüfen, öffnen Sie Ihren Webbrowser und geben Sie die URL http://agent-ip-address/info.php ein . Sie sollten Ihre PHP-Seite sehen.

Herzliche Glückwünsche! Sie haben erfolgreich ein LAMP-Modul auf Ihrem Puppet-Master erstellt und es erfolgreich auf Ihrem Agentenknoten (oder Knoten) mit Puppet bereitgestellt.

Die Bereitstellung dieser Änderungen auf Agentenknoten soll so einfach und automatisiert wie möglich sein, Sie müssen jedoch weiterhin beide Seiten konfigurieren und diese Aufgaben selbst ausführen. Wenn Sie einen unserer Managed Ubuntu VPS-Pläne verwenden, müssen Sie lediglich unser erfahrenes Admin-Team bitten, alles zu installieren, was Sie für Sie benötigen. Sie können alles andere installieren und einrichten, was Sie möchten, wann immer Sie möchten, sowie alle Serverwartungen durchführen, ohne dass Sie etwas tun müssen.

Wir hoffen, Sie fanden dieses Tutorial hilfreich. Wenn Sie dies getan haben, würden wir uns freuen, wenn Sie dieses Tutorial über soziale Medien mit Ihren Freunden teilen, indem Sie unsere Freigabeverknüpfungen verwenden, oder Sie können einen Kommentar hinterlassen, in dem Sie uns mitteilen, wie die Installation für Sie verlaufen ist. Danke.


Panels
  1. So installieren Sie LAMP Stack auf Ubuntu 22.04 LTS

  2. So installieren Sie WordPress mit LAMP Stack auf Ubuntu 16.04

  3. So installieren Sie LAMP unter Ubuntu 18.04

  4. So installieren Sie WordPress mit LAMP Stack auf Ubuntu 20.04

  5. So installieren Sie EPrints unter Ubuntu 20.04

So installieren Sie LAMP Stack auf Ubuntu 20.04 Server/Desktop

So installieren Sie LAMP Stack mit PhpMyAdmin in Ubuntu 20.04

So installieren Sie den LAMP-Stack unter Ubuntu 16.04

So installieren Sie den LAMP-Stack unter Ubuntu 17.04

So installieren Sie den LAMP-Stack unter Ubuntu 17.10

So installieren Sie den LAMP-Stack unter Ubuntu 20.04