home-harmening:puppet:manifests:install_apache.pp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
home-harmening:puppet:manifests:install_apache.pp [2024/10/09 11:01] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1home-harmening:puppet:manifests:install_apache.pp [2024/10/09 11:01] (aktuell) – ↷ Seite von puppet:manifests:install_apache.pp nach home-harmening:puppet:manifests:install_apache.pp verschoben charmening
Zeile 1: Zeile 1:
 +====== Installiert Apache Webserver ======
 +\\
 +Ein Puppetmanifest, welches den apache Webserver auf einem Debian System installiert. Es wird zusätzlich eine minimale Härtung durchgeführt, eine authentifizierung über ldap aktiviert und php installiert.
 +**Seitenkonfigurationen werden über die Variable webpages verteilt und aktiviert.**
 +<code>
 +# Install Apache Webserver and configure some defaults
  
 +class infoserver_2410::install_webserver {
 +
 +  $webpages = [ '000-default.conf', '001-db.conf', '002-backup.conf', '004-doku.conf', ]
 +
 +  $module = "modules/infoserver_2410"
 +  $msg = "infoserver_2410:"
 +
 +  # Install package
 +  package  { "$msg Install apache2 webserver": name => 'apache2', ensure => present, }
 +  package  { "$msg Install php for webserver": name => 'php', ensure => present, notify => Exec["$msg Activate ldap authentication for webserver"] }
 +  exec  { "$msg Activate ldap authentication for webserver": path => [ '/usr/sbin', '/usr/bin' ], command => "a2enmod authnz_ldap", refreshonly => true, }
 +
 +  # Check if daemon is running
 +  service  { "$msg Run apache2 webserver": name => 'apache2', ensure => running, enable => true, }
 +
 +  # Disable server information
 +  file_line { "$msg Disable Apache and OS information": path => "/etc/apache2/conf-enabled/security.conf", match => "^ServerTokens.*", line => "ServerTokens Prod", ensure => present, notify => Service["$msg Run apache2 webserver"] }
 +  file_line { "$msg Disable error pages": path => "/etc/apache2/conf-enabled/security.conf", match => "^ServerSignature.*", line => "ServerSignature Off", ensure => present, notify => Service["$msg Run apache2 webserver"] }
 +
 +  # Configure webpages
 +  $webpath = "/etc/apache2/sites-available"
 +  $webpages.each | $webpage | {
 +    file { "$msg Create Webpage $webpage": ensure => present, path => "$webpath/$webpage", owner => root, group => root, mode => '640', source => "puppet:///$module/$webpath/$webpage", notify => Exec["$msg Enable webpage $webpage"] }
 +    exec { "$msg Enable webpage $webpage": path => [ '/usr/sbin', '/usr/bin' ], command => "a2ensite $webpage && systemctl reload apache2", refreshonly => true, }
 +  }
 +}
 +</code>