GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Jak používat loutkové moduly k vytvoření zásobníku LAMP na Ubuntu 20.04

Puppet je výkonný nástroj pro správu konfigurace s otevřeným zdrojovým kódem, který lze použít k nasazení, konfiguraci, správě a údržbě serveru při vzdáleném přístupu. Puppet je napsán v Ruby a pomáhá vám nasadit a spravovat jeden server – až po tisíce fyzických a virtuálních serverů – to vše z centrálního umístění.

Moduly Puppet jsou kolekce souborů manifestů a dat, které umožňují Puppetu načíst a najít třídy, fakta, funkce, definované typy a úkoly. S moduly Puppet můžete instalovat a aktualizovat balíčky, vytvářet soubory a adresáře a/nebo provádět jakékoli změny konfigurace rychle a snadno. Jeho cílem je provádět a automatizovat téměř jakýkoli úkol, jako je spuštění prostředí LAMP, nastavení virtuálních hostitelů atd.

V tomto tutoriálu si ukážeme, jak vytvořit modul LAMP pro nasazení zásobníku LAMP na stroji Puppet agent, přičemž oba jsou Ubuntu 20.04 VPS. Začněme.

Než začneme

Budete potřebovat:

  • Dva virtuální servery Ubuntu 20.04 s nakonfigurovaným Puppet masterem a Puppet agentem.
  • Povolen přístup root nebo uživatel s právy sudo.

Začínáme

Nejprve se budete muset přihlásit na svůj server pomocí SSH. Můžete to udělat zadáním tohoto příkazu:

ssh root@IP_Address -p Port_Number

Pokud nepoužíváte uživatele root, nezapomeňte nahradit „root“ svým uživatelským jménem. Změňte „IP_Address“ a „Port_Number“ podle IP adresy vašeho serveru a čísla portu SSH. Výchozí číslo portu je 22.

Jakmile jste přihlášeni, můžete přejít k dalšímu kroku.

Ověřte loutkový server a agenta

Nejprve ověřte službu Puppet spuštěním následujícího příkazu v uzlu Puppet master. Musíme se ujistit, že je služba aktivní a běží:

systemctl status puppetserver

Dále vypište všechny podepsané a nepodepsané požadavky agentů pomocí následujícího příkazu:

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

Měli byste vidět následující výstup:

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]

V uzlu Puppet agent spusťte následující příkaz a otestujte konektivitu mezi oběma uzly.

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

Pokud je vše v pořádku, měli byste získat následující výstup:

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

Vytvořte modul LAMP

Nejprve budete muset vytvořit modul LAMP na hlavním uzlu Puppet. Chcete-li vytvořit modul, musíte vytvořit adresář, jehož název odpovídá názvu vašeho modulu v modules Puppet a musí obsahovat adresář s názvem manifests a tento adresář musí obsahovat init.pp soubor.

Chcete-li to provést, změňte adresář na adresář modulu Puppet a vytvořte adresář s názvem lamp a poté manifests adresář v něm:

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

Dále vytvořte init.pp soubor, který bude obsahovat třídu Puppet, která odpovídá názvu modulu. Budeme používat nano k tomu, ale můžete použít libovolný textový editor, který se vám líbí.

nano lamp/manifests/init.pp

Přidejte následující řádky:

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

Po dokončení uložte a zavřete soubor.

Vytvořte soubor hlavního manifestu

Manifest je soubor, který obsahuje konfigurace klienta, které lze použít k instalaci zásobníku LAMP na uzel agenta. Hlavní soubor manifestu loutky se nachází v /etc/puppetlabs/code/environments/production/manifests adresář.

Můžete vytvořit nový soubor manifestu s názvem site.pp pomocí následujícího příkazu:

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

Přidejte následující řádky:

node default { }

node 'puppet-agent' {
  include lamp
}

Uložte a zavřete soubor.

Ve výše uvedeném souboru vám blok uzlů umožňuje zadat kód loutky, který se bude vztahovat pouze na určité uzly agentů. Výchozí uzel se vztahuje na každý uzel agenta, který nemá zadaný blok uzlu.

Zde jsme specifikovali puppet-agent blok uzlu, který se bude vztahovat pouze na našeho puppet-agent uzel agenta. Také jsme přidali include lamp úryvek, aby Puppet používal modul lampy na uzlu agenta.

Otestujte modul LAMP

Nyní budete muset stáhnout konfiguraci LAMP na uzlu agenta z hlavního uzlu.

Na uzlu agenta spusťte následující příkaz, abyste získali konfiguraci LAMP z hlavního uzlu.

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

Tím se nainstaluje a nastaví zásobník LAMP na uzlu agenta, jak je vidět níže:

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

A s tím je nyní zásobník LAMP nainstalován na váš uzel agenta. Chcete-li to zkontrolovat, otevřete webový prohlížeč a zadejte adresu URL http://agent-ip-address/info.php . Měli byste vidět svou stránku PHP.

Gratulujeme! úspěšně jste vytvořili modul LAMP na vašem Puppet masteru a úspěšně jste jej nasadili na váš agentský uzel (nebo uzly) pomocí Puppet.

Nasazení těchto změn na uzly agentů je navrženo tak, aby bylo co nejsnazší a co nejautomatizovanější, ale stále musíte nakonfigurovat obě strany a provádět tyto úkoly sami. Pokud používáte jeden z našich plánů Managed Ubuntu VPS, vše, co musíte udělat, je jednoduše požádat náš tým zkušených administrátorů, aby vám nainstaloval cokoli, co potřebujete. Mohou nainstalovat a nastavit cokoli jiného, ​​co byste mohli chtít, kdykoli to chcete, stejně jako provádět jakoukoli údržbu serveru, aniž byste museli cokoli dělat.

Doufáme, že vám tento návod pomohl. Pokud ano, ocenili bychom, kdybyste tento návod sdíleli se svými přáteli prostřednictvím sociálních médií pomocí našich zkratek pro sdílení, nebo nám můžete zanechat komentář, jak instalace probíhala. Děkuji.


Panels
  1. Jak nainstalovat LAMP Stack na Ubuntu 22.04 LTS

  2. Jak nainstalovat WordPress s LAMP Stack na Ubuntu 16.04

  3. Jak nainstalovat WordPress s LAMP Stack na Ubuntu 18.04

  1. Jak nainstalovat LAMP na Ubuntu 18.04

  2. Jak nainstalovat WordPress s LAMP Stack na Ubuntu 20.04

  3. Jak nainstalovat EPrints na Ubuntu 20.04

  1. Jak nainstalovat LAMP Stack na Ubuntu 18.04

  2. Jak vytvořit zásobník LAMP založený na dockeru pomocí dockeru na Ubuntu 20.04

  3. Jak nainstalovat WordPress na Ubuntu 18.04 pomocí LAMP Stack