122 Zeilen
11 KiB
TeX
122 Zeilen
11 KiB
TeX
% !TEX root = LiTerm.tex
|
|
% !TeX encoding = UTF-8
|
|
% !TeX spellcheck = de_DE
|
|
\chapter{Durchführung}
|
|
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} auf allen Rechnern mittels \acs{SSH} angemeldet, 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}
|
|
Das Packet \texttt{slapd} stellt den OpenLDAP-Server bereit. 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, ohne eine Hauptseite zu erstellen, die Nutzer unötig verwirrt, habe ich den \acs{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}}.
|
|
Hiernach habe ich Postfix auf allen Servern Installiert und konfiguriert.
|
|
Die folgende Tabelle zeigt die Optionen die ich eingestellt habe.
|
|
\begin{table}
|
|
\centering
|
|
\begin{tabular}{|l|l|}
|
|
\hline
|
|
\textbf{Einstellung}&\textbf{Wert}\\\hline
|
|
System-Email-Name&literm.local\\\hline
|
|
Empfänger von E-Mails an Root&administrator\\\hline
|
|
Weitere Rechner für die Mails akzeptiert werden&zeus.literm.local,\\
|
|
&poseidon.literm.local,\\
|
|
&hades.literm.local,\\
|
|
&localhost\\
|
|
&literm.local\\\hline
|
|
Synchrone Aktualisierung& Nein\\
|
|
Lokale Netze&127.0.0.0/8,\\
|
|
&[::ffff:127.0.0.0]/104,\\
|
|
&[::1]/128,\\
|
|
&10.0.0.0/30\\\hline
|
|
Maximale Postfachgröße&1073741824\footnote{Dies entspricht 1 GiB oder 1,073GB}\\\hline
|
|
Zeichen für lokale Adresserweiterung&+\\\hline
|
|
Internetprotokolle&ipv4\\\hline
|
|
\end{tabular}
|
|
\caption{Einstellungen Postfix auf \master{}}
|
|
\label{tab:postfixconf}
|
|
\end{table}
|
|
\section{Installation Nutzerverwaltung}
|
|
Für die Nutzerverwaltung habe ich mich für Fusiondirectory\cite{www:fusiondirectory} entschieden, da ich keine Gleichwertige Konkurrenz fand.
|
|
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 \acs{ACL} Gruppen und Rollen angelegt.
|
|
Hiernach habe ich die Konfiguration heruntergeladen, den Inhalt der Konfiguration in die \\\texttt{/etc/fusiondirectory/fusiondirectory.conf}\footnote{Für den Inhalt siehe Listing \ref{list:fusiondirectoryconf}} 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 \texttt{/kfm}(Kaufmännischer Bereich) und \texttt{/test} angelegt, in \texttt{/kfm} habe ich die Unterabteilung \texttt{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 \texttt{/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.
|
|
|
|
Hiernach habe ich die \ac{ACL} für alle Benutzer angelegt.
|
|
Die Einstellungen kann man in Abbildung \ref{bild:benutzeracl} sehen.
|
|
\section{Installation Monitoring}
|
|
Für die Monitoring Lösung habe ich mich für Icinga\cite{www:icinga} entschieden
|
|
Ich habe den \acs{GPG}-Schlüssel des Icinga-Projektes in den Keyring importiert, 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 dass 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 Icinga zu senden habe ich den Transporttyp auf \texttt{Lokale Befehlsdatei} und den Pfad auf \texttt{/run/icinga2/cmd/icinga2.cmd} gesetzt.
|
|
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}
|
|
Ich habe mich für das Projektmanagementsystem für Openproject\cite{www:openproject} entschieden, da es eine Einfache Konfiguration bietet und Nutzerfreundlich ist.
|
|
Auf \management{} habe ich den \acs{GPG}-Schlüssel \texttt{0xBD33EEB8} in den Schlüsselbund von \acs{APT} importiert, das Repository aus Listing \ref{list:opsourcelist} in die \texttt{/etc/apt/sources.list} eingetragen und die Quellen aktualisiert.
|
|
Hiernach habe ich das Paket \texttt{openproject} installiert.
|
|
Zur Konfiguration habe ich den Befehl \texttt{openproject configure} ausgeführt.
|
|
Bei der Frage ob ich denn eine MySQL Datenbank benutzen möchte habe ich die Option "`skip"' gewählt.
|
|
Danach habe ich die Nachfrage ob apache2 konfiguriert werden soll mit "`install"' beantwortet und bei der Vollqualifizierten Domain \texttt{projekt.literm.local} eingegeben.
|
|
Die Pfadpräfix habe ich leer gelassen.
|
|
Die \acs{SSL} Unterstützung habe ich in der nachfolgenden Frage ausgeschaltet.
|
|
In den folgenden Fragen habe ich die Subversion Unterstützung ausgelassen, aber die Git Unterstützung eingeschaltet.
|
|
Die Standardoptionen für Git habe ich belassen.
|
|
Bei der SMTP-Option habe ich sendmail ausgewählt da ich Postfix bereits entsprechend konfiguriert habe.
|
|
Als Administrator E-Mail Adresse habe ich \texttt{admin@literm.local} angegeben.
|
|
Dies ist eine Weiteterleitung auf alle Administratoren.
|
|
Memcache habe ich nicht installiert.
|
|
Hiernach habe ich mich im Browser an der Openproject Instanz mit dem Benutzernamen und Kennwort admin angemeldet und habe das Passwort auf das entsprechende aus Tabelle \ref{tab:passwort} geändert.
|
|
Hiernach habe ich die \ac{LDAP} Authentifikation in den Einstellungen Eingeschaltet indem ich die entsprechenden Einstellungen eingetragen habe(Abbildung \ref{bild:benutzeracl}).
|
|
\section{Installation Mailumgebung}
|
|
Für die Mailumgebung habe ich mich für SOGo\cite{www:sogo} entschieden da es LDAP implementiert und man Kontakte, Kalendereinträge und Aufgaben managen kann.
|
|
Bevor ich das Repository hinzufügen konnte, habe ich das Paket \texttt{apt-transport-https} hinzugefügt.
|
|
In die Datei \texttt{/etc/apt/sources.list.d/sogo.list} den Eintrag \mint{sources.list}{deb https://packages.inverse.ca/SOGo/nightly/4/debian/ stretch stretch} und den \acs{GPG}-Schlüssel \texttt{0x810273C4} hinzugefügt.
|
|
Für SOGo selber habe ich die Pakete \texttt{sogo} und \texttt{sope4.9-gdl1-postgresql} installiert.
|
|
Hiernach habe ich den Inhalt der \texttt{/etc/sogo/sogo.conf} durch den Inhalt des Listings \ref{list:sogoconf} ersetzt.
|
|
Hiernach habe ich der Konfigurationsdatei \texttt{/etc/dovecot/conf.d/10-mail.conf} im Namespace \texttt{Inbox} die Option \texttt{location} auf \texttt{mbox:\~{}/mail:INBOX=/var/mail/\%u} gesetzt.
|
|
Dies habe ich gemacht, da Dovecot so die Inbox für den Benutzer anlegt, ohne wirft der Dienst Fehler wenn man versucht auf die Inbox zuzugreifen.
|
|
Des weiteren habe ich in der Datei die Option \texttt{mail\_gid} auf den Wert \texttt{mail} gesetzt.
|
|
So haben die angelegten Mailboxen die Gruppe \texttt{mail}, Postfix benötigt das um E-Mails in die Dateien schreiben zu können. |