GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e configurare Foreman 1.16 su Debian 9 / Ubuntu 16.04 Server

Foreman è uno strumento di configurazione e provisioning gratuito e open source che può essere installato su sistemi Red Hat, CentOS, Scientific Linux, Debian e Ubuntu. Con lo strumento Forman possiamo facilmente effettuare il provisioning di macchine virtuali e server bare metal e quindi configurare i sistemi installati utilizzando gli strumenti di configurazione come Puppet e Ansible. Ogni volta che installiamo il server Foreman, installa automaticamente Puppet master su di esso.

Con l'aiuto della GUI di Foreman, gli amministratori di sistema possono applicare moduli puppet specifici ai server registrati per svolgere le attività ripetitive e possono anche automatizzare facilmente le attività operative quotidiane.

In questo tutorial, analizzeremo i passaggi di installazione di Foreman 1.16 su Debian 9 e Ubuntu 16.04 Server.

Di seguito sono riportati i requisiti minimi di sistema per il server Foreman:

  • 4 GB RAM (quando Puppet Master è installato sullo stesso server caposquadra)
  • CPU a 2 core
  • Debian 9 / Ubuntu 16.04 appena installato

Sotto ci sono i dettagli della configurazione del mio laboratorio per il server foreman

  • L'indirizzo IP di Foreman Server è "192.168.1.20"
  • Nome host di Foreman Server “foreman.linuxtechi.com”
  • Puppet Master 5 verrà installato sul server Foreman
  • OS:Server Debian 9 / Ubuntu 16.04 LTS

Accediamo al sistema Debian 9 / Ubuntu 16.04 LTS

Passo:1) Configura il nome host e aggiorna le sue voci nel file hosts

Usa il comando systemctl per configurare il nome host del tuo sistema.

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

Aggiorna le voci del tuo nome host di sistema nel file /etc/hosts.

192.168.1.20  foreman.linuxtechi.com foreman

Passaggio:2) Abilita i repository richiesti per Foreman &Puppet

Per il sistema Debian 9:

Abilita i repository di Puppet 5 usando i comandi seguenti

[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

Abilita i repository Foreman 1.16 usando i comandi seguenti

[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]:~$

Per sistema Ubuntu 16.04 LTS

Abilita i repository di 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

Abilita i repository 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]:~$

Passaggio:3) Scarica "foreman-installer" usando il comando apt-get

Esegui il comando sotto per installare foreman-installer,

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

Foreman-installer è lo strumento di installazione per foreman.

Passaggio:4) Installa Foreman utilizzando "foreman-installer"

Esegui il comando foreman-installer per installare il server foreman, per impostazione predefinita il programma di installazione foreman installerà e configurerà i seguenti componenti:

  • Interfaccia utente Web di Foreman (Apache HTTP con SSL)
  • Proxy intelligente
  • Maestro burattinaio
  • Agente fantoccio
  • Server TFTP
[email protected]:~$ sudo foreman-installer --foreman-admin-username admin --foreman-admin-password "[email protected]#"

Una volta completata l'installazione, otterremo un output simile al seguente:

Nel caso in cui il firewall del sistema operativo sia abilitato e in esecuzione sul tuo sistema, apri le seguenti porte per il server 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]:~$

Nota: Nel mio caso durante l'installazione di foreman, ricevevo questo errore "Errore durante l'esecuzione di SQL; psql ha restituito pid 32532 uscita 1:"ERRORE: nome locale non valido:"en_US.utf8", ho risolto questo errore eseguendo il comando seguente:

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

Seleziona "en_US.UTF-8 UTF-8 ” e quindi selezionare OK e riavviare la macchina, quindi eseguire nuovamente il comando foreman-installer.

Passaggio:5) Accedi all'interfaccia utente Web di Foreman

Possiamo accedere all'interfaccia utente Web di Foreman utilizzando il seguente URL:

https://{Foreman_Server_IP}

o

https://{Nome host_Foreman_Server}

Usa il nome utente come "admin" e la password che specifichiamo nel comando foreman-installer,

Vai a Host Scheda -> Fai clic su "Tutti gli host

A partire da ora, è registrato un solo host, ovvero il nostro server caposquadra. Ogni volta che registriamo nuovi server per il caposquadra, quei server verranno elencati qui. Oltre a questo, anche l'ambiente di produzione viene creato per impostazione predefinita e tutti i server verranno registrati nell'ambiente di default. Puoi creare i tuoi ambienti adatti alla tua organizzazione dall'interfaccia utente di Foreman.

Scarica e importa il modulo puppet NTP su Foreman Server

Utilizza il comando seguente per scaricare il modulo puppet ntp  da "forge.puppet.com"

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

Otterremo l'output qualcosa come di seguito:

Importa il modulo NTP installato nella dashboard di caposquadra

Dalla dashboard vai su Configura Scheda –> Seleziona Pupazzo –> Classi , Fare clic su Importa

Seleziona gli ambienti a cui vuoi allegare questo modulo,  nel mio caso lo allegherò a Produzione e sviluppo.

Fare clic su Aggiorna,

Otterremo la finestra successiva qualcosa come di seguito:

Registriamo un host CentOS 7 al dashboard di caposquadra e quindi allegheremo il modulo ntp ad esso,

Registrazione di un server CentOS 7

Accedi al sistema e abilita il repository yum di puppetlabs, quindi installa il pacchetto puppet

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

Nota: Nel caso in cui non disponi del server DNS, aggiungi le voci nel file hosts, nel mio caso ho aggiunto le seguenti righe nel file /etc/hosts

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

Esegui il comando seguente dal tuo server centos 7 per registrare questa macchina nella dashboard del burattinaio e caposquadra.

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

Otterrai l'output del comando qualcosa come di seguito:

……………………………………………………
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] ~]#

Significa che dobbiamo firmare manualmente il certificato del server CentOS 7 dalla macchina del caposquadra. Per firmare il certificato dalla dashboard di caposquadra, fai riferimento ai passaggi seguenti

Dall'infrastruttura Scheda –> Seleziona Proxy intelligenti e quindi fare clic su Modifica opzione e seleziona "Certificati

Ora firma il certificato della macchina il cui stato è in sospeso, l'esempio è mostrato di seguito:

Clicca sul segno

Fai riferimento ai passaggi seguenti per configurare la firma automatica

Dall'infrastruttura Scheda –> Seleziona Proxy intelligenti e quindi fare clic su Modifica opzione e seleziona "Autosign

Crea una voce di firma automatica e specifica il nome di dominio per il quale vogliamo che caposquadra firmi automaticamente i certificati

Fai clic su Salva . La prossima volta ogni volta che un server del dominio "linuxtechi.com" viene registrato sul server Foreman, verrà firmato automaticamente,

Ora vai di nuovo al server CentOS 7 ed esegui nuovamente il comando dell'agente puppet, questa volta il comando dovrebbe essere eseguito correttamente,

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

Verifica l'host da Dashboard, Da Host Scheda -> Seleziona "Tutti gli host ", lì avremo il nostro host appena registrato ( CentOS 7 Server)

Alleghiamo il modulo NTP al Server appena registrato (mx2.linuxtechi.com), selezioniamo l'host e clicchiamo su Modifica , quindi vai a "Corsi di burattini "Scheda

Fai clic su '+' accedi davanti a ntp per aggiungere il modulo, quindi fai clic su "Invia '

Vai su CentOS7 Server ed esegui nuovamente il comando puppet agent, questa volta configurerà ntp sul tuo server CentOS 7.

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

L'output del comando precedente sarà simile al seguente:

Ciò conferma che il server CentOS 7 è stato registrato e configurato correttamente tramite Foreman Server. Conclude anche l'articolo, per favore condividi i tuoi commenti nella sezione commenti qui sotto.

Ulteriori informazioni su "Bare metal e provisioning di macchine virtuali tramite Foreman Server


Ubuntu
  1. Come installare e configurare un server NFS su Ubuntu 20.04

  2. Come installare e configurare VNC su Ubuntu 20.04

  3. Come installare e configurare Algo VPN Server su Ubuntu 20.04

  4. Come installare e configurare il server DHCP su Ubuntu 20.04

  5. Come installare e configurare il server Redis in Ubuntu

Come installare e configurare KVM su Debian 10 (Buster)

Come installare e configurare DHCP su Ubuntu 18.04

Come installare e configurare il server LAMP su Ubuntu

Come installare e configurare il server OpenLDAP su Ubuntu 16.04

Come installare e configurare VNC su Ubuntu Server 20.04

Installa e configura Virtualmin su Ubuntu 20.04 / Debian 10 Server