[puppet] installation Apache web Server

Möchte man eine Anwendung oder ein Programm wie zum Beispiel den Apache auf mehreren Server installieren, empfiehlt es sich hierfür ein Modul zu erstellen. In dem Modul können dann diverse Standardangaben hinterlegt werden.

Für Puppet gibt es bereits mehrere Module die installiert werden können.
Ein Modul für Apache kann über puppet module install puppetlabs-apache installiert werden.

Das Modul wird dann in der nodes Konfiguration hinterlegt
node 'pmagent2' {
include apache
}

Durch das Modul wurde der Apache installiert und ein default vhost angelegt.
Um zu erfahren was alles automatisiert erstellt wird muss man sich die entsprechenden Dateien unter dem Modulpfad /etc/puppetlabs/code/environments/production/modules/apache/ näher anschauen.

Anlegen eines neuen Vhosts
apache::vhost { 'sub1.itbasic.de':
port => '80',
docroot => '/var/www/vhost/sub1.itbasic.de',
docroot_owner => 'apache',
docroot_group => 'apache',
}

Über das Modul werden die Access und die Error Log Dateien des Apache unter /var/log/httpd/vhostname abgelegt.

Always make a backup

Heutzutage ist alles digital, Rechnungen werden per E-Mail statt auf dem Postweg versendet, Anträge werden online ausgefüllt, die Lieblingsserie liegt in der Cloud und Fotos werden vom Handy ebenfalls direkt hochgeladen. In jedem Haushalt gibt es zumindest eine Digitale Kamera und die Fotos nehmen mehrere Gigabyte auf der heimischen Festplatte ein. Die Festplatte kann sich in den Rechner / Notebook oder in dem NAS befinden. Was jedoch oft vergessen wird ist, das diese Daten nicht gesichert werden. Fällt diese eine Festplatte aus, so ist alles weg. Im Bekanntenkreis sind dadurch die Kinderfotos aller Kinder verloren gegangen, nur mühsam konnten einzelne Bilder über Verwandte wieder beschafft werden.
Eine Sicherung von Daten kann auch zu Clouddiensten wie Dropbox erfolgen. Jedoch aus meiner Sicht sollte wenn möglich zumindest eine Sicherung so aufbewahrt werden, dass diese außerhalb eines Netzwerkzugriffs liegen.
Denn wird der heimische Rechner von einem Virus befallen sind somit auch die Dateien, die sich in den Synchronisierten Verzeichnissen befinden, von dem Virus inifiziert. Diese Dateien werden dann automatisch mit der Cloud Synchronisiert.
Mit Hilfe der Kommandozeile können Backup Szenarien erstellt werden, jedoch ist dies eher für Nerds oder anderer entsprechender Erfahrung. Für die Linux Shell hatte ich vor längerer Zeit den Artikel erstellt. Für nicht so Technikaffine Anwender gibt es auf dem Markt viele Produkte. Grundlegend bieten alle die Funktion die Daten nach einem Backup Plan zu sichern, jedoch bieten nicht alle neben dem Vollbackup ein differenzielles oder inkrementelles Backup an.
Um herauszufinden welches das richtige Produkt ist kann man sich zunächst im Bekanntenkreis umhören, sofern hier überhaupt jemand ein Backup durchführt. Eine weitere Möglichkeit wäre seine Anforderungen zu definieren und dann prüfen ob der Anbieter der Software diese Funktion unterstützt. Ein Kandidat für die Auswahlliste wäre Novabackup, auf der Seite von Netzsieger zu Novabackup findet man weitere Informationen.

Dieser Artikel ist mit freundlicher Unterstützung von Netzsieger entstanden

[puppet] Test Datei erstellen

Um die Konfiguration zu testen, kann auf dem node puppet agent --test eingegeben werden. Wenn es hier keine Fehler gibt, kann auf dem puppetmaster eine Testdatei angelegt werden.

Die Datei mit dem Namen test.pp wurde in dem Verzeichniss /etc/puppetlabs/code/environments/production/manifests/ erstellt und hat folgenden Inhalt:
node 'pmagent2' {
file {'/tmp/testdatei':
ensure => present,
mode => '0644',
content => "testdatei erstellt durch puppetn",
}
}
node default {}

 

Nach dem auf dem node puppet –agent test ausgeführt wurde, wird auch die Datei angelegt.

Damit die Datei über Puppet wieder entfernt wird, muss ensure von present auf absent geändert werden.

Installation Puppetmaster unter Centos 7

Damit die spätere Kommunikation zwischen den Nodes und dem Master funktioniert, müssen alle Server die gleiche Uhrzeit haben und die korrekte Namensauflösung muss sichergestellt sein. Für die korrekte Zeit empfiehlt es sich den NTP zu verwenden. Da ich nur eine kleine Testumgebung nutze, habe ich für die Namensauflösung die Hostnamen und Ip Adressen auf den Testservern in der /etc/hosts hinterlegt.

Zunächst muss unter dem root Benutzer das Repository von Puppetlabs installiert werden.
rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm

Im Anschluss kann der Puppetmaster installiert werden yum -y install puppetserver.

Der Puppetserver wird über systemctl start puppetserver gestartet, mit der Zeile systemctl enable puppetserver wird der puppetserver bei jedem Start der VM gestartet.

Damit die Nodes mit dem Master kommunizieren können, muss der Port 8140 geöffnet werden.
firewall-cmd --zone=public --permanent --add-port=8140/tcp

Installation Agent

Auf dem Node muss ebenfalls das Repository hinzugefügt und dann der Agent installiert werden.

rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
yum -y install puppet-agent

Damit der Agent weiß welchen Master er ansprechen muss, wird dieser in der Datei /etc/puppetlabs/puppet/puppet.conf wie folgt hinterlegt:
server = FQDN.

Gestartet wird der Agent über /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true.

Kommunikation

Für die Kommunikation mit dem Master wird auf dem Node ein Zertifikat erstellt. Das Zertifikat wird dem Master vorgelegt und muss dort freigeschaltet werden.

Mit puppet cert list erhält man auf dem Master eine Übersicht der Node Zertifikate, welche noch nicht freigegeben wurden.
Ein einzelnes Zertifikat kann mit puppet cert sign hostname freigegeben werden, alle ausstehenden Zertifikate über puppet cert sign --all

Eine Liste aller freigeschalteten Zertifikate (Nodes) erhält man über puppet cert list --all.

Firefox fehlerhafte Darstellung von PDF Dokumenten

Auf verschiedenen Websiten oder in Applikationen werden PDF Dokumente zur Verfügung gestellt werden. Zur Darstellung nutzt der Firefox den integrierten PDF Reader.
Bei einigen PDF’s kommt es jedoch zu Darstellungsfehlern und es werden nur kleine Kästchen dargestellt.
Das Problem lässt sich lösen in dem man in den Einstellungen die Anwendungen öffnet.
In den Anwendungen gibt es den Eintrag für Portable Document Format (PDF), dieser muss von Vorschau im Firefox auf Adobe Acrobat (in Firefox) verwenden geändert werden.