---
# System prepended metadata

title: Mailserver

---


# Mailserver

**Verantwortliche:**
Stefan Miljevic, Leo Gruber

**Aufgaben:**

 1. Jeder Server soll eine Web-Oberfläche zur Netzwerk/Server Überwachung zur Verfügung stellen (z.B. Nagios, Icinga, Zabbix).

**Verwendete Software und Pakete:**

 1. Nagios Core

 **Kurze Beschreibung:**
Nagios ist eine OpenSource - Software zum Monitoring von Netzwerkdiensten und der Netzwerkinfrastruktur. Nagios bietet dazu eine umfangreiche Sammlung von Tools und Plugins, welche das Erstellen beliebiger Überwachungs- und Benachrichtigungsfunktionen ermöglichen. Mithilfe der Weboberfläche können die gesammelten Daten abgefragt werden.

**Vorraussetzungen:** 
Instanzen erstellt und .pem Key ist auf den jeweiligen Windowsrechnern vorhanden.

## Verbindungsaufbau zur Instanz

 1.  Kopieren des .pem Files in das Ubuntu Subsystem in das Verzeichnis /etc/ssh
 2. Berechtigungen anpassen:  `sudo chmod 400 "keyname.pem"`
 3. Verbindung aufbauen: `sudo ssh -i "keyname.pem" ubuntu@IP-ADDRESS`
 --> Der Connection-String ist bei der Instanz unter *Actions > Connect zu finden*
 
## Installation

Die folgenden Schritte müssen auf allen Instanzen durchgeführt werden.

### Schritt 1 - Vorrausgesetzte Pakete installieren
 1. Apache und PHP installieren:
```
$ sudo apt-get update
$ sudo apt-get install wget build-essential unzip openssl libssl-dev
$ sudo apt-get install apache2 php libapache2-mod-php php-gd libgd-dev
```
 ### Schritt 2 - Nagios Benutzer erstellen
 1. Neues Benutzerkonto für Nagios im System erstellen:
`$ sudo adduser nagios`
    
 2. Neue Gruppe erstellen für Nagios Setup "nagcmd":
 `$ sudo groupadd nagcmd`
 4.  Benutzer "nagios" zu der erstellten Gruppe und zu der Apache Gruppe hinzufügen:
 ```
$ sudo usermod -a -G nagcmd nagios
$ sudo usermod -a -G nagcmd www-data
```

### Schritt 3 - Nagios Core installieren
 1. Nagios Core Files herunterladen:
 ```
$ cd /opt/
$ sudo wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz
$ sudo tar xzf nagios-4.4.5.tar.gz
 ```
 2. Nagios installieren mit make:
 ```
$ cd nagios-4.4.5
$ sudo ./configure --with-command-group=nagcmd
$ sudo make all
$ sudo make install
$ sudo make install-init
$ sudo make install-daemoninit
$ sudo make install-config
$ sudo make install-commandmode
$ sudo make install-exfoliation
```
3. Eventhandler Skripte kopieren, welche Eventtrigger hinzufügen:
```
$ sudo cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
$ sudo chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
```
## Konfiguration

### Schritt 1 - Apache aufsetzen
1.  Apache Konfigurationsdatei für den Nagios Server erstellen:
`$ sudo vi /etc/apache2/conf-available/nagios.conf`

2. In das erstellte File folgeden Text einfügen:
```
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Restricted Area"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user
</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Restricted Area"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user
</Directory>
```

3. Benutzerkonto "nagiosadmin" erstellen und Passwort zuweisen:
`$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin`

4. Apache konfigurieren und neustarten:
```
$ sudo a2enconf nagios
$ sudo a2enmod cgi rewrite
$ sudo service apache2 restart
```
### Schritt 2 - Nagios Plugins installieren
1. Nagios Plugins Source herunterladen und entpacken:
```
$ cd /opt
$ sudo wget http://www.nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
$ sudo tar xzf nagios-plugins-2.2.1.tar.gz
$ cd nagios-plugins-2.2.1
```
2. Nagios Plugins installieren:
```
$ sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
$ sudo make
$ sudo make install
```
### Schritt 3 -Einstellungen überprüfen
1. Nagios Installation und Konfigurationsfile überprüfen: 
```
$ sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
$ sudo service nagios start
```
2. Nagios konfigurieren, sodass Nagios automatisch startet beim Hochfahren
`$ sudo systemctl enable nagios`

### Schritt 4 -AWS Security Group aktualisieren
1. In der AWS Konsole zu Security Groups navigieren.
2.  Bei der Security Group der jeweiligen Instanz folgende Inbound Rule hinzufügen:
    * Type: HTTP
    * Protocol: TCP
    * Port Range: 80
    * Source: Anywhere
 ### Jetzt ist Nagios unter  http://IP-Adresse/nagios erreichbar.
 
## Zugriff

1. Instanz starten
2. Durch das Klicken auf die Instanz können die Details angezeigt werden, dort dann die Public IP Adresse entnehmen.
3. Unter http://IP-Adresse/nagios kann man nun auf die Weboberfläche der Instanz zugreifen.
4. Mit den Credentials einloggen:
	* Username: nagiosadmin
	* Passwort: bif3c1_20
	
## Quellen
* https://sysadminxpert.com/step-by-step-method-for-installing-nagios-in-amazon-linux/ (20.01.20)
* https://tecadmin.net/install-nagios-monitoring-server-on-ubuntu/ (20.01.20)

