Seite wählen

Icinga 2 – Monitoring automatisiert mit Puppet Teil 13: Profile Part V

von | Dez 21, 2018 | IT Automation, DevOps, Icinga, Puppet, PHP, Linux

This entry is part 13 of 14 in the series Icinga 2 Monitoring automatisiert mit Puppet

Im heutigen Teil dieser Reihe, fügen wir den ausstehenden Code zur Konfiguration von Nginx als Webserver für Icinga Web 2 hinzu. Neben den benötigten Nginx-Ressources, vor allem der Umleitung auf den PHP-FPM, ist darauf zu achten, dass Nginx vor der Klasse icingaweb2 und damit vor dem Paket icingaweb2 abzuarbeiten ist. Wird dies nich beachtet installiert das icingaweb2-Paket automatisch den Apache als Abhängigkeit und man hätte zwei Webserver bei sich auf dem Icinga-2-Server.
Damit das Icinga-Web-2-Modul für seine Konfigurationsdateien den korrekten Benutzer verwenden kann, ziehen wir diesen nach der Abarbeitung der Klasse nginx aus dessen Modul.
[ruby] […]
if $web_server == ’nginx‘ {
#
# Nginx
#
$manage_package = true
Class[’nginx‘]
-> Class[‚icingaweb2‘]
class { ‚::nginx‘:
manage_repo => false,
server_purge => true,
confd_purge => true,
}
$web_conf_user = $::nginx::daemon_user
nginx::resource::server { ‚icingaweb2‘:
server_name => [ ‚localhost‘ ],
ssl => false,
index_files => [],
use_default_location => false,
}
nginx::resource::location { ‚icingaweb2‘:
location => ‚~ ^/icingaweb2(.+)?‘,
location_alias => ‚/usr/share/icingaweb2/public‘,
try_files => [‚$1‘, ‚$uri‘, ‚$uri/‘, ‚/icingaweb2/index.php$is_args$args‘],
index_files => [‚index.php‘],
server => ‚icingaweb2‘,
ssl => false,
}
nginx::resource::location { ‚icingaweb2_index‘:
location => ‚~ ^/icingaweb2/index\.php(.*)$‘,
server => ‚icingaweb2‘,
ssl => false,
index_files => [],
fastcgi => ‚127.0.0.1:9000‘,
fastcgi_index => ‚index.php‘,
fastcgi_param => {
‚SCRIPT_FILENAME‘ => ‚/usr/share/icingaweb2/public/index.php‘,
‚ICINGAWEB_CONFIGDIR‘ => ‚/etc/icingaweb2‘,
‚REMOTE_USER‘ => ‚$remote_user‘,
},
}
} else {
[…][/ruby]
Beim Nginx selbst werden alle von der Standard-Installation kommenden virtuellen Hosts (server_purge => true) und sonstigen Konfigurationsdateien entfernt. Der Artikel der kommenden Woche schließt diesen Abschnitt über eine komplexere Konfiguration vorerst ab. Dort wird dann der noch fehlende Code präsentiert, der einen Apache-Webserver zum Ausliefern von Icinga Web 2 verwendet.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema IT Automation | DevOps | Icinga | Puppet | PHP | Linux

Ansible und Terraform: Die Hochzeit des Jahrzentes?

Ansible und Terraform sind wichtige Werkzeuge im DevOps-Werkzeugkasten und gehören genauso zusammen wie der Hammer und der Schraubendreher. Was sind Ansible und Terraform überhaupt? Ansible ist ein Open-Source-Tool zur Automatisierung von IT-Aufgaben wie...

End of Life von CentOS Linux 7 – Was bedeutet das für mich?

Der ein oder andere Admin wird sich vermutlich schon lange den 30. Juni 2024 im Kalender vorgemerkt haben, denn dann ist für CentOS Linux 7 das "End of Life" erreicht. Aber auch Benutzer von Red Hat Enterprise Linux 7 sollten sich Gedanken machen, denn auch dieses...

Trainings

Web Services

Events

Series



Other posts in series: