% !TEX root = LiTerm.tex
% !TeX encoding = UTF-8
% !TeX spellcheck = de_DE
\chapter{Durchführung}
\section{Serverinstallation}
Ich habe das Image der Netzwerkinstallations-\acs{CD} von der Seite des Debianprojektes\cite{web:debian} heruntergeladen und auf eine DVD-RW gebrannt.
Während des Brennvorgangs habe ich 3 Minipcs aufgebaut, da die Routen vom FiSiNetz in das Projektnetz noch nicht installiert waren, hatte ich sie für die Dauer der Installation mit dem FiSiNetz verbunden.
Als der Brennvorgang fertig war habe ich von der DVD mittels EFI gebootet und die fragen wie in Tabelle \ref{tab:einstserver} beantwortet.
Ich habe nur die Standardwerkzeuge und den \acs{SSH}-Server installiert, da die Server nur Remote administriert werden müssen.
Nachdem die Installation durchgeführt wurde, habe ich mich als User \texttt{administrator} angemeldet und das Programm \texttt{sudo} installiert und den user \texttt{administrator} der Gruppe \texttt{sudo} hinzugefügt.
Hiernach habe ich die \texttt{/etc/network/interfaces} bearbeitet und die vorhandenen Einstellungen durch die entsprechenden Einstellungen aus den Listings \ref{list:interfacesz},\ref{list:interfacesp} und \ref{list:interfacesh} ersetzt.
Hiernach habe ich den \texttt{ISC-DHCP-server} und \texttt{bind9} installiert und konfiguriert.
die \texttt{/etc/resolv.conf} habe ich auf allen Servern durch den folgenden Inhalt ersetzt.
\begin{minted}{text}
domain literm.local
search literm.local
nameserver 10.0.0.1
\end{minted}
Danach habe ich auf \master{} das folgende Kommando ausgeführt.
\mint{text}{sudo apt install slapd postgresql-server}
Dieser wird der Nutzerverwaltung und anderen Programmen später als Nutzerdatenbank dienen.
Die Frage nach dem Administratorpasswort für \texttt{slapd} habe ich mit dem Passwort aus Tabelle \ref{tab:passwort} beantwortet.
Um für die Nutzerverwaltung, dem Projektmanagement und die Mailumgebung einfach zugreifen zu können habe ich den \ac{DNS}-Server so konfiguriert das die Domains \texttt{mail.literm.local}, \texttt{management.literm.local}, \texttt{projekt.literm.local} auf die \acs{IP}-Adresse von \management{} zeigen\footnote{Siehe Listing \ref{list:bindzone} und \ref{list:namedconf}}.
\section{Installation Nutzerverwaltung}
%\blindtext[3]
Auf\master{} und \management{} habe ich die Quellen für Fusiondirectory(Listing \ref{list:fussourcelist}) gespeichert und den \acs{GPG}-Schlüssel \texttt{0xD744D55EACDA69FF} dem Schlüsselbund beider Rechner hinzugefügt.
Hiernach habe ich ein Update der Pakete und Quellen durchgeführt und auf \master{} die Befehle aus Listing \ref{list:fusschemainstall} als root ausgeführt.
Auf \management{} habe ich die entsprechenden Pakete(Listing \ref{list:fusapainstall}) installiert.
Hiernach habe ich auf \management{} einen \texttt{VirtualHost} für Fusiondirectory erstellt(Listing \ref{list:virthostfus}).

Nachdem die Installation abschlossen war habe ich einen Webbrowser geöffnet und die Domain für ich im vorigen Teil angelegt habe aufgerufen habe.
Um zu verifizieren das ich Zugriff auf den Server habe, habe ich die angezeigte Session-ID in die Angegebene Datei geschrieben.
Hiernach habe ich die Sprache auf Deutsch gestellt und fehlende Einstellungen in der \texttt{php.ini} ergänzt.
Den Verbindungs-Namen habe ich belassen, die URI habe ich auf \texttt{ldap://zeus.literm.local:389/} gesetzt.
Die Basis habe ich auf \texttt{dc=literm,dc=local} gesetzt und das Administratorpasswort in das Feld eingesetzt.

Im eigentlichen Konfigurationschritt habe ich die Zeitzone auf \texttt{Europa/Berlin}, die minimale Passwortlänge auf 8 und die Warnung wegen unverschlüsselter Verbindungen ausgeschaltet.
Das CN-Pattern habe ich auf \texttt{\%als[0,5]|sn\%\%als[0,3]|fn\%} gesetzt.

Im letzten Konfigurationsschritt habe ich die Objektklassen migriert, den Superuser angelegt\footnote{Benutzername und Passwort siehe Tabelle \ref{tab:passwort}} und die Standard ACL Gruppen und Rollen angelegt.
Hiernach habe ich die Konfiguration heruntergeladen, den Inhalt in die \texttt{/etc/fusiondirectory/fusiondirectory.conf} geschrieben und den Befehl \mint{bash}{fusiondirectory-setup --check-config} ausgeführt und die Nachfrage mit Ja bestätigt.
Hiernach habe ich mich angemeldet und habe die Abteilung kfm(Kaufmännischer Bereich) und test angelegt, in kfm habe ich die Unterabteilung it hinzugefügt.
Für die Benutzer habe ich die Unixgruppe \texttt{users} angelegt und deren \ac{gid} auf den Debian Standardwert 100 gesetzt.
Um die Administration zu vereinfachen habe ich die Gruppen \texttt{administratoren} und \texttt{ausbilder} geschaffen.

Hiernach habe ich unter /kfm/it die Server mit ihren Diensten angelegt.
Als nächstes habe ich die ACL-Rolle für Benutzer angelegt und allen Benutzern zugewiesen.

Als nächstes habe ich eine Benutzervorlage angelegt, dort habe ich die Unix, Quota und Maileinstellungen Aktiviert.
Die Einstellungen für die Vorlage selber habe ich anhand der Tabelle \ref{tab:setbenvor} vorgenommen.

\section{Installation Monitoring}
Ich habe den \acs{GPG}-Schlüssel des Icinga-Projektes in den \english{Keyring} \texttt{/etc/apt/trusted.gpg.d/icinga2.gpg} importiert und das Repository für APT hinzugefügt und die Quellen aktualisiert.
Hiernach habe ich die Pakete \texttt{icinga2}, \texttt{icinga2-ido-pgsql} und \texttt{icingaweb2} installiert.
die Nachfrage ob das icinga-pgsql Paket genutzt werden soll habe ich mit Ja beantwortet.
Bei der Nachkonfiguration der Pakete habe ich die Autokonfiguration für die Datenbank nicht benutzt.
Hiernach habe ich den Datenbankbenutzer angelegt und die Daten in die Konfiguration eingetragen und die Features \texttt{command} und \texttt{ido-pgsql} aktiviert.
Für das Webbasierte Setup habe ich mit dem Kommando \mint{bash}/icingacli setup token create/ einen Token generiert.
Diesen habe ich im Webbrowser im Setup\footnote{zu finden unter \url{http://icinga.literm.local/setup}} eingegeben.
Bei der Modulauswahl habe ich nur das Monitoringmodul ausgewählt.
Hiernach wurde angezeigt, dass das PHP-Modul PDO-PostgreSQL fehlte, dies behob ich indem ich das Paket php-pgsql installierte, und das die \texttt{php.ini}-Einstellung \texttt{date.timezone} fehlte.
dies habe ich durch das Einstellen der Betreffenden Option behoben.
Die Authentifizierung habe ich auf LDAP und habe die entsprechenden Einstellungen gesetzt.
Für die Gruppen habe ich die Einstellung für die Objektklasse auf groupOfNames gesetzt.
Für die Datenbank habe ich die gleichen Zugangsdaten wie für Icinga selber genutzt.
Um Befehle an die Icingainstanz zu senden habe ich den Transporttyp auf \texttt{Lokale Befehlsdatei} gesetzt und den Pfad auf \texttt{/run/icinga2/cmd/icinga2.cmd}
Hiernach habe ich den Inhalt der \texttt{/etc/icinga2/conf.d/hosts.conf} durch den Inhalt des Listings \ref{list:icihosts} ersetzt und den Dienst \texttt{icinga2} neu gestartet.
\section{Installation Projektmanagementprogramm}
%TODO Openproject beschreibung
\section{Installation Mailumgebung}
%TODO SOgo Beschreibung
\section{Schulung}
% TODO Schulung