GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come utilizzare i moduli Puppet per creare uno stack LAMP su Ubuntu 20.04

Puppet è un potente strumento di gestione della configurazione open source che può essere utilizzato per distribuire, configurare, gestire e mantenere un server accedendovi in ​​remoto. Puppet è scritto in Ruby e ti aiuta a distribuire e gestire un singolo server, fino a migliaia di server fisici e virtuali, il tutto da una posizione centrale.

I moduli Puppet sono raccolte di file manifest e dati che consentono a Puppet di caricare e trovare classi, fatti, funzioni, tipi definiti e attività. Con i moduli Puppet, puoi installare e aggiornare pacchetti, creare file e directory e/o apportare modifiche alla configurazione in modo rapido e semplice. Ha lo scopo di eseguire e automatizzare quasi tutte le attività, come l'avvio di un ambiente LAMP, la configurazione di host virtuali, ecc.

In questo tutorial, mostreremo come creare un modulo LAMP per distribuire uno stack LAMP sul computer dell'agente Puppet, entrambi Ubuntu 20.04 VPS. Cominciamo.

Prima di iniziare

Avrai bisogno di:

  • Due server virtuali Ubuntu 20.04 con Puppet master e Puppet agent configurati.
  • Un accesso root abilitato o un utente con privilegi sudo.

Per iniziare

Innanzitutto, dovrai accedere al tuo server utilizzando SSH. Puoi farlo inserendo questo comando:

ssh root@IP_Address -p Port_Number

Ricorda di sostituire "root" con il tuo nome utente se non stai utilizzando l'utente root. Modifica "IP_Address" e "Port_Number" in base all'indirizzo IP del tuo server e al numero di porta SSH. Il numero di porta predefinito è 22.

Una volta effettuato l'accesso, puoi procedere al passaggio successivo.

Verifica il server dei pupazzi e l'agente

Innanzitutto, verifica il servizio Puppet eseguendo il comando seguente sul nodo master Puppet. Dobbiamo assicurarci che il servizio sia attivo e funzionante:

systemctl status puppetserver

Quindi, elenca tutte le richieste dell'agente firmate e non firmate con il comando seguente:

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

Dovresti vedere il seguente output:

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]

Sul nodo dell'agente Puppet, esegui il comando seguente per testare la connettività tra entrambi i nodi.

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

Se tutto va bene, dovresti ottenere il seguente output:

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

Crea un modulo LAMP

Innanzitutto, dovrai creare un modulo LAMP sul nodo master Puppet. Per creare un modulo, devi creare una directory il cui nome corrisponda al nome del tuo modulo nei modules di Puppet directory e deve contenere una directory chiamata manifests e quella directory deve contenere un init.pp file.

Per fare ciò, cambia la directory nella directory del modulo Puppet e crea una directory denominata lamp e poi un manifests directory al suo interno:

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

Quindi, crea un init.pp file che conterrà una classe Puppet che corrisponde al nome del modulo. Useremo nano per questo, ma puoi usare qualsiasi editor di testo che ti piace.

nano lamp/manifests/init.pp

Aggiungi le seguenti righe:

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
  }
}

Salva e chiudi il file quando hai finito.

Crea il file manifest principale

Un manifest è un file che contiene le configurazioni client che possono essere utilizzate per installare lo stack LAMP sul nodo dell'agente. Il file manifest principale del pupazzo si trova in /etc/puppetlabs/code/environments/production/manifests directory.

Puoi creare un nuovo file manifest denominato site.pp con il seguente comando:

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

Aggiungi le seguenti righe:

node default { }

node 'puppet-agent' {
  include lamp
}

Salva e chiudi il file.

Nel file precedente, un blocco nodo consente di specificare il codice Puppet che si applicherà solo a determinati nodi agente. Il nodo predefinito si applica a ogni nodo agente che non dispone di un blocco nodo specificato.

Qui abbiamo specificato l'puppet-agent blocco nodo che si applicherà solo al nostro puppet-agent nodo agente. Abbiamo anche aggiunto il include lamp snippet per fare in modo che Puppet utilizzi il modulo lampada sul nodo agente.

Testare il modulo LAMP

Ora dovrai estrarre la configurazione LAMP sul nodo agente dal nodo master.

Sul nodo agente, esegui il comando seguente per estrarre la configurazione LAMP dal nodo master.

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

Questo installerà e configurerà lo stack LAMP sul nodo dell'agente, come si può vedere di seguito:

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

E con ciò, lo stack LAMP è stato ora installato sul tuo nodo agente. Per verificarlo, apri il tuo browser web e digita l'URL http://agent-ip-address/info.php . Dovresti vedere la tua pagina PHP.

Congratulazioni! hai creato con successo un modulo LAMP sul tuo Puppet master e lo hai distribuito con successo sul tuo nodo (o nodi) agente con Puppet.

La distribuzione di queste modifiche sui nodi agente è resa il più semplice e automatizzata possibile, tuttavia è comunque necessario configurare entrambe le parti ed eseguire queste attività da soli. Se utilizzi uno dei nostri piani Managed Ubuntu VPS, tutto ciò che devi fare è semplicemente chiedere al nostro team di amministratori esperti di installare tutto ciò di cui hai bisogno per te. Possono installare e configurare qualsiasi altra cosa tu voglia, quando vuoi, nonché eseguire qualsiasi manutenzione del server, il tutto senza che tu debba fare nulla.

Ci auguriamo che tu abbia trovato utile questo tutorial. Se l'hai fatto, ti saremmo grati se condividi questo tutorial con i tuoi amici attraverso i social media utilizzando le nostre scorciatoie di condivisione, oppure puoi lasciare un commento dicendoci come è andata l'installazione per te. Grazie.


Panels
  1. Come installare lo stack LAMP su Ubuntu 22.04 LTS

  2. Come installare WordPress con lo stack LAMP su Ubuntu 16.04

  3. Come installare WordPress con lo stack LAMP su Ubuntu 18.04

  4. Come installare LAMP su Ubuntu 18.04

  5. Come installare EPrints su Ubuntu 20.04

Come installare lo stack LAMP su Ubuntu 20.04 Server/Desktop

Come installare lo stack LAMP con PhpMyAdmin in Ubuntu 20.04

Come installare lo stack LAMP su Ubuntu 16.04

Come installare lo stack LAMP su Ubuntu 17.04

Come installare lo stack LAMP su Ubuntu 17.10

Come installare lo stack LAMP su Ubuntu 20.04