Verzeichnisstruktur

[:de]zurück zu Future Business Software || Einzelhandel || Small.biz


/ (Root)
Erste Verzeichnisebene; entspricht in der Regel der Bootpartition und enthält neben den im Folgenden genannten Unterverzeichnissen auch symbolischen Verknüpfungen für initrd.img und vmlinuz (siehe /boot)

/bin
Von: binaries (Programme); muss bei Systemstart vorhanden sein; enthält für Linux unverzichtbare Programme; diese Programme können im Gegensatz zu /sbin von allen Benutzern ausgeführt werden; /bin darf keine Unterverzeichnisse enthalten.

/boot
Muss bei Systemstart vorhanden sein; Enthält zum Booten benötigte Dateien. Beispiele: Kernel “vmlinuz-versionsnummer-generic” (für Desktopsysteme), “vmlinuz-versionsnummer-server” (für Serversysteme), “vmlinuz-versionsnummer-virtual” (für virtuelle Maschinen), initiale Ramdisk “initrd.img-versionsnummer-generic”/”-server”/”-virtual” und das Programm für den Memorytest memtest86.bin

Unterverzeichnis(se):

/boot/grub: Enthält Dateien der Bootloader GRUB 2 und GRUB
/boot/efi: Enthält EFI-Programme – nur bei eingesetztem und aktiv genutztem EFI
/dev
Von: devices (Geräte); muss bei Systemstart vorhanden sein; enthält alle Gerätedateien, über die die Hardware im Betrieb angesprochen wird; Gerätedateien für Hot-Plug-Systeme (z.B. USB, IEEE1394) werden von udev erstellt

/etc
Von: et cetera (“alles übrige”), später auch: editable text configuration (änderbare Text Konfiguration); muss bei Systemstart vorhanden sein; enthält Konfigurations- und Informationsdateien des Basissystems. Beispiele: fstab, hosts, lsb-release, blkid.tab; hier liegende Konfigurationsdateien können durch gleichnamige Konfigurationsdateien im Homeverzeichnis überlagert werden. Beispiel: bash.bashrc

Unterverzeichnisse u.a.:

/etc/default: Enthält u.a. die Konfigurationsdatei grub
/etc/grub.d: Enthält Skripte für Grub_2
/etc/opt: Verzeichnisse und Konfigurationsdateien für Programme in /opt
/etc/X11: Verzeichnisse und Konfigurationsdateien des XServer; Beispiel: xorg.conf
/etc/network: Verzeichnisse und Konfigurationsdateien des Netzwerkes: Beispiel interfaces
/etc/init.d: Enthält Start- und Stopskripte; Siehe Dienste
/etc/sgml: Konfigurationsdateien für SGML (optional)
/etc/xml: Konfigurationsdateien für XML (optional)
/home
Von: home-directory (Heimatverzeichnis); enthält pro Benutzer ein Unterverzeichnis; jedes Verzeichnis wird nach dem Anmeldenamen benannt; ausführlicher Artikel: Homeverzeichnis

/lib
Von: libraries (Bibliotheken); muss bei Systemstart vorhanden sein; enthält unverzichtbare Bibliotheken fürs Booten und die dynamisch gelinkten Programme des Basissystems; mindestens notwendige Dateien bzw. symbolische Verknüpfungen: libc.so.* (C-Bibliotheken), ld* (Bibliotheksdaten: Versionen, Zugriffspfade,…)

Unterverzeichnisse u.a.:

/lib/modules: Kernelmodule
/lib/udev: Bibliotheken und Programme für udev
/lib/linux-restricted-modules: Speicherort für eingeschränkte Treiber (z.B. Grafikkarte); siehe restricted-manager
/lost+found
(verloren und gefunden); Dateien und Dateifragmente, die beim Versuch, ein defektes Dateisystem zu reparieren, übrig geblieben sind. Das Verzeichnis ist auf Partitionen mit reiserfs oder xfs nicht vorhanden. Siehe auch Datenrettung.

/media
Für (Speicher-)Medien. Enthält Unterverzeichnisse, welche als mount- oder Einhängepunkte für transportable Medien wie z.B. externe Festplatten, USB-Sticks, CD-ROMs, DVDs und andere Datenträger dienen. Ubuntu legt hier auch die Einhängepunkte für Partitionen an. Unterverzeichnisse sind u.a.:

/media/floppy: Einhängepunkt für Disketten
/media/cdrom0: Einhängepunkt für CD-ROMs
Ab Ubuntu 12.10 wurde die Verwendung des Benutzernamens eingeführt. Beispiele:

/media/BENUTZERNAME/floppy: Einhängepunkt für Disketten
/media/BENUTZERNAME/cdrom0: Einhängepunkt für CD-ROMs
/mnt
Von: mount (eingehängt); normalerweise leer; kann für temporär eingehängte Partitionen verwendet werden. Für Datenträger, die hier eingehängt werden, wird im Gegensatz zu /media kein Link auf dem Desktop angelegt (gilt nur für GNOME).

/opt
Von: optional; ist für die manuelle Installation von Programmen gedacht, die ihre eigenen Bibliotheken mitbringen und nicht zur Distribution gehören; siehe /opt; Speicherort für selbst erstellte Programme siehe /usr/local in /usr

/proc
Von: processes (laufende Programme); muss bei Systemstart vorhanden sein; enthält Schnittstellen zum aktuell geladenen Kernel und seinen Prozeduren; Dateien lassen sich mittels cat auslesen; Beispiele: version (Kernelversion), swaps (Swapspeicherinformationen), cpuinfo, interrupts, usw.;

Unterverzeichnisse u.a.:

/proc/Nummern: Jedes Programm mit Prozessnummer als Verzeichnisnamen; darin z.B. die Datei status, die Auskunft über den Prozess liefert (Programmname, Nummer, Speichernutzung,…)
Experten-Info:
/proc ist im eigentlichen Sinne kein Verzeichnis, sondern ein spezielles, virtuelles Dateisystem vom Typ “proc”, welches lediglich Schnittstellen zu Kernelprozeduren beinhaltet.

/root
Ist das Homeverzeichnis des Superusers (root). Der Grund, wieso sich das /root-Verzeichnis im Wurzelverzeichnis und nicht im Verzeichnis /home befindet, ist, dass das Homeverzeichnis von Root immer erreichbar sein muss, selbst wenn die Home-Partition aus irgendeinem Grund (Rettungs-Modus, Wartungsarbeiten) mal nicht eingehängt ist.

Hinweis:
Programme, die per gksudo bzw. kdesudo – nicht aber sudo – ausgeführt werden, bekommen dieses Verzeichnis als Heimatverzeichnis zugewiesen. Dies hat z.B. Auswirkungen auf zu installierende Programme oder gelöschte Dateien (diese findet man dann unter /root/.local/Trash)

/run
Die Benutzung dieses Ordners wurde erst mit Ubuntu 11.10 eingeführt und dient als Ersatz für bisher verwendete Ordner:

/run (bisher: /var/run, siehe auch /var)
/run/lock (bisher: /var/lock)
/run/shm (bisher: /dev/shm, siehe auch /dev)
/sbin
Von: system binaries (Systemprogramme); muss bei Systemstart vorhanden sein; enthält alle Programme für essentielle Aufgaben der Systemverwaltung; Programme können nur vom Systemadministrator (root) oder mit Superuserrechten ausgeführt werden; Beispiele: shutdown (Herunterfahren), make2fs, lsmod (Kernelmodule)

/srv
Von: services (Dienste); Verzeichnisstruktur noch nicht genau spezifiziert; soll Daten der Dienste enthalten; unter Ubuntu in der Regel leer.

/sys
Von: system; im FHS noch nicht spezifiziert; erst ab Kernel 2.6. im Verzeichnisbaum enthalten; besteht ebenso wie /proc hauptsächlich aus Kernelschnittstellen

Experten-Info:
/sys ist im eigentlichen Sinne kein Verzeichnis, sondern ein spezielles virtuelles Dateisystem vom Typ “sysfs”, welches ebenso wie /proc lediglich Schnittstellen zu Kernelprozeduren beinhaltet.

/tmp
Von: temporary (temporär); enthält temporäre Dateien von Programmen; Verzeichnis soll laut FHS beim Booten geleert werden.

/usr
Von: user (siehe: Herkunft); enthält die meisten Systemtools, Bibliotheken und installierten Programme; der Name ist historisch bedingt – früher, als es /home noch nicht gab, befanden sich hier auch die Benutzerverzeichnisse;

Hinweis:
Da für die (De-)Installation von Programmen die Paketverwaltung verantwortlich ist, sollte dieses Verzeichnis (abgesehen von /usr/local) nur von der Paketverwaltung angetastet werden.

Unterverzeichnisse u.a.:

/usr/bin : Anwenderprogramme; Hier liegen die Desktopumgebungen und die dazu gehörigen Programme, aber auch im Nachhinein über die Paketverwaltung installierte Programme, wie Audacity. Hier liegen aber nicht die manuell installierten Programme (die in /opt installiert werden).
/usr/include : Header-Dateien für C-Programme (nur für Programmierer interessant)
/usr/lib : Bibliotheken
/usr/local : Das Verzeichnis /usr/local enthält noch einmal die gleiche Verzeichnisstruktur wie /usr und ist für Programme gedacht, die man an der Paketverwaltung vorbei installieren möchte, z.B. selbst kompilierte Programme. Bei einem neu installierten Ubuntu enthält es höchstens leere Ordner.
/usr/sbin : für Linux nicht unbedingt notwendige Systemprogramme; Beispiel: dmidecode
/usr/share : im Gegensatz zu /var für statische, sich nicht ändernde Dateien; ist Architektur unabhängig, nicht aber vom Betriebssystem (z.B. können sich “Ubuntu 8.10 i386” und “Ubuntu 8.10 amd64” dieses Verzeichnis teilen, aber nicht “Ubuntu 8.10” und “Ubuntu 9.04”)
/usr/share/applications : Programmstarter, die für Anwendungsmenüs genutzt werden
/usr/share/man : Manpages
/var
Von variable (variabel); enthält nur Verzeichnisse; Dateien in den Verzeichnissen werden von den Programmen je nach Bedarf geändert (im Gegensatz zu /etc); Beispiele: Log-Dateien, Spielstände, Druckerwarteschlange

Unterverzeichnisse u.a.:

/var/log : Alle Log-Dateien der Systemprogramme; Beispiele: Xorg.0.log (Log-Datei des XServer), kern.log (Logdatei des Kernels), dmesg (letzte Kernelmeldungen), messages (Systemmeldungen); Siehe auch Logdateien
/var/games : Spielstände von Linuxspielen
/var/run : Dateien, die den Zustand des Gesamtsystems speichern; Inhalt wird bei jedem Booten gelöscht und neu geschrieben (siehe auch /run)
/var/tmp : Daten, die bei einem Reboot zwischengespeichert werden müssen (nicht verlorengehen sollen)
/var/www : Im FHS nicht vorhanden, bei Ubuntu das “document root” des Webservers Apache
/var/spool : Druckaufträge[:en]/ (Root)
Erste Verzeichnisebene; entspricht in der Regel der Bootpartition und enthält neben den im Folgenden genannten Unterverzeichnissen auch symbolischen Verknüpfungen für initrd.img und vmlinuz (siehe /boot)

/bin
Von: binaries (Programme); muss bei Systemstart vorhanden sein; enthält für Linux unverzichtbare Programme; diese Programme können im Gegensatz zu /sbin von allen Benutzern ausgeführt werden; /bin darf keine Unterverzeichnisse enthalten.

/boot
Muss bei Systemstart vorhanden sein; Enthält zum Booten benötigte Dateien. Beispiele: Kernel “vmlinuz-versionsnummer-generic” (für Desktopsysteme), “vmlinuz-versionsnummer-server” (für Serversysteme), “vmlinuz-versionsnummer-virtual” (für virtuelle Maschinen), initiale Ramdisk “initrd.img-versionsnummer-generic”/”-server”/”-virtual” und das Programm für den Memorytest memtest86.bin

Unterverzeichnis(se):

/boot/grub: Enthält Dateien der Bootloader GRUB 2 und GRUB
/boot/efi: Enthält EFI-Programme – nur bei eingesetztem und aktiv genutztem EFI
/dev
Von: devices (Geräte); muss bei Systemstart vorhanden sein; enthält alle Gerätedateien, über die die Hardware im Betrieb angesprochen wird; Gerätedateien für Hot-Plug-Systeme (z.B. USB, IEEE1394) werden von udev erstellt

/etc
Von: et cetera (“alles übrige”), später auch: editable text configuration (änderbare Text Konfiguration); muss bei Systemstart vorhanden sein; enthält Konfigurations- und Informationsdateien des Basissystems. Beispiele: fstab, hosts, lsb-release, blkid.tab; hier liegende Konfigurationsdateien können durch gleichnamige Konfigurationsdateien im Homeverzeichnis überlagert werden. Beispiel: bash.bashrc

Unterverzeichnisse u.a.:

/etc/default: Enthält u.a. die Konfigurationsdatei grub
/etc/grub.d: Enthält Skripte für Grub_2
/etc/opt: Verzeichnisse und Konfigurationsdateien für Programme in /opt
/etc/X11: Verzeichnisse und Konfigurationsdateien des XServer; Beispiel: xorg.conf
/etc/network: Verzeichnisse und Konfigurationsdateien des Netzwerkes: Beispiel interfaces
/etc/init.d: Enthält Start- und Stopskripte; Siehe Dienste
/etc/sgml: Konfigurationsdateien für SGML (optional)
/etc/xml: Konfigurationsdateien für XML (optional)
/home
Von: home-directory (Heimatverzeichnis); enthält pro Benutzer ein Unterverzeichnis; jedes Verzeichnis wird nach dem Anmeldenamen benannt; ausführlicher Artikel: Homeverzeichnis

/lib
Von: libraries (Bibliotheken); muss bei Systemstart vorhanden sein; enthält unverzichtbare Bibliotheken fürs Booten und die dynamisch gelinkten Programme des Basissystems; mindestens notwendige Dateien bzw. symbolische Verknüpfungen: libc.so.* (C-Bibliotheken), ld* (Bibliotheksdaten: Versionen, Zugriffspfade,…)

Unterverzeichnisse u.a.:

/lib/modules: Kernelmodule
/lib/udev: Bibliotheken und Programme für udev
/lib/linux-restricted-modules: Speicherort für eingeschränkte Treiber (z.B. Grafikkarte); siehe restricted-manager
/lost+found
(verloren und gefunden); Dateien und Dateifragmente, die beim Versuch, ein defektes Dateisystem zu reparieren, übrig geblieben sind. Das Verzeichnis ist auf Partitionen mit reiserfs oder xfs nicht vorhanden. Siehe auch Datenrettung.

/media
Für (Speicher-)Medien. Enthält Unterverzeichnisse, welche als mount- oder Einhängepunkte für transportable Medien wie z.B. externe Festplatten, USB-Sticks, CD-ROMs, DVDs und andere Datenträger dienen. Ubuntu legt hier auch die Einhängepunkte für Partitionen an. Unterverzeichnisse sind u.a.:

/media/floppy: Einhängepunkt für Disketten
/media/cdrom0: Einhängepunkt für CD-ROMs
Ab Ubuntu 12.10 wurde die Verwendung des Benutzernamens eingeführt. Beispiele:

/media/BENUTZERNAME/floppy: Einhängepunkt für Disketten
/media/BENUTZERNAME/cdrom0: Einhängepunkt für CD-ROMs
/mnt
Von: mount (eingehängt); normalerweise leer; kann für temporär eingehängte Partitionen verwendet werden. Für Datenträger, die hier eingehängt werden, wird im Gegensatz zu /media kein Link auf dem Desktop angelegt (gilt nur für GNOME).

/opt
Von: optional; ist für die manuelle Installation von Programmen gedacht, die ihre eigenen Bibliotheken mitbringen und nicht zur Distribution gehören; siehe /opt; Speicherort für selbst erstellte Programme siehe /usr/local in /usr

/proc
Von: processes (laufende Programme); muss bei Systemstart vorhanden sein; enthält Schnittstellen zum aktuell geladenen Kernel und seinen Prozeduren; Dateien lassen sich mittels cat auslesen; Beispiele: version (Kernelversion), swaps (Swapspeicherinformationen), cpuinfo, interrupts, usw.;

Unterverzeichnisse u.a.:

/proc/Nummern: Jedes Programm mit Prozessnummer als Verzeichnisnamen; darin z.B. die Datei status, die Auskunft über den Prozess liefert (Programmname, Nummer, Speichernutzung,…)
Experten-Info:
/proc ist im eigentlichen Sinne kein Verzeichnis, sondern ein spezielles, virtuelles Dateisystem vom Typ “proc”, welches lediglich Schnittstellen zu Kernelprozeduren beinhaltet.

/root
Ist das Homeverzeichnis des Superusers (root). Der Grund, wieso sich das /root-Verzeichnis im Wurzelverzeichnis und nicht im Verzeichnis /home befindet, ist, dass das Homeverzeichnis von Root immer erreichbar sein muss, selbst wenn die Home-Partition aus irgendeinem Grund (Rettungs-Modus, Wartungsarbeiten) mal nicht eingehängt ist.

Hinweis:
Programme, die per gksudo bzw. kdesudo – nicht aber sudo – ausgeführt werden, bekommen dieses Verzeichnis als Heimatverzeichnis zugewiesen. Dies hat z.B. Auswirkungen auf zu installierende Programme oder gelöschte Dateien (diese findet man dann unter /root/.local/Trash)

/run
Die Benutzung dieses Ordners wurde erst mit Ubuntu 11.10 eingeführt und dient als Ersatz für bisher verwendete Ordner:

/run (bisher: /var/run, siehe auch /var)
/run/lock (bisher: /var/lock)
/run/shm (bisher: /dev/shm, siehe auch /dev)
/sbin
Von: system binaries (Systemprogramme); muss bei Systemstart vorhanden sein; enthält alle Programme für essentielle Aufgaben der Systemverwaltung; Programme können nur vom Systemadministrator (root) oder mit Superuserrechten ausgeführt werden; Beispiele: shutdown (Herunterfahren), make2fs, lsmod (Kernelmodule)

/srv
Von: services (Dienste); Verzeichnisstruktur noch nicht genau spezifiziert; soll Daten der Dienste enthalten; unter Ubuntu in der Regel leer.

/sys
Von: system; im FHS noch nicht spezifiziert; erst ab Kernel 2.6. im Verzeichnisbaum enthalten; besteht ebenso wie /proc hauptsächlich aus Kernelschnittstellen

Experten-Info:
/sys ist im eigentlichen Sinne kein Verzeichnis, sondern ein spezielles virtuelles Dateisystem vom Typ “sysfs”, welches ebenso wie /proc lediglich Schnittstellen zu Kernelprozeduren beinhaltet.

/tmp
Von: temporary (temporär); enthält temporäre Dateien von Programmen; Verzeichnis soll laut FHS beim Booten geleert werden.

/usr
Von: user (siehe: Herkunft); enthält die meisten Systemtools, Bibliotheken und installierten Programme; der Name ist historisch bedingt – früher, als es /home noch nicht gab, befanden sich hier auch die Benutzerverzeichnisse;

Hinweis:
Da für die (De-)Installation von Programmen die Paketverwaltung verantwortlich ist, sollte dieses Verzeichnis (abgesehen von /usr/local) nur von der Paketverwaltung angetastet werden.

Unterverzeichnisse u.a.:

/usr/bin : Anwenderprogramme; Hier liegen die Desktopumgebungen und die dazu gehörigen Programme, aber auch im Nachhinein über die Paketverwaltung installierte Programme, wie Audacity. Hier liegen aber nicht die manuell installierten Programme (die in /opt installiert werden).
/usr/include : Header-Dateien für C-Programme (nur für Programmierer interessant)
/usr/lib : Bibliotheken
/usr/local : Das Verzeichnis /usr/local enthält noch einmal die gleiche Verzeichnisstruktur wie /usr und ist für Programme gedacht, die man an der Paketverwaltung vorbei installieren möchte, z.B. selbst kompilierte Programme. Bei einem neu installierten Ubuntu enthält es höchstens leere Ordner.
/usr/sbin : für Linux nicht unbedingt notwendige Systemprogramme; Beispiel: dmidecode
/usr/share : im Gegensatz zu /var für statische, sich nicht ändernde Dateien; ist Architektur unabhängig, nicht aber vom Betriebssystem (z.B. können sich “Ubuntu 8.10 i386” und “Ubuntu 8.10 amd64” dieses Verzeichnis teilen, aber nicht “Ubuntu 8.10” und “Ubuntu 9.04”)
/usr/share/applications : Programmstarter, die für Anwendungsmenüs genutzt werden
/usr/share/man : Manpages
/var
Von variable (variabel); enthält nur Verzeichnisse; Dateien in den Verzeichnissen werden von den Programmen je nach Bedarf geändert (im Gegensatz zu /etc); Beispiele: Log-Dateien, Spielstände, Druckerwarteschlange

Unterverzeichnisse u.a.:

/var/log : Alle Log-Dateien der Systemprogramme; Beispiele: Xorg.0.log (Log-Datei des XServer), kern.log (Logdatei des Kernels), dmesg (letzte Kernelmeldungen), messages (Systemmeldungen); Siehe auch Logdateien
/var/games : Spielstände von Linuxspielen
/var/run : Dateien, die den Zustand des Gesamtsystems speichern; Inhalt wird bei jedem Booten gelöscht und neu geschrieben (siehe auch /run)
/var/tmp : Daten, die bei einem Reboot zwischengespeichert werden müssen (nicht verlorengehen sollen)
/var/www : Im FHS nicht vorhanden, bei Ubuntu das “document root” des Webservers Apache
/var/spool : Druckaufträge[:]

PostgreSQL, Postfix und Dovecot Konfiguration

[:de]zurück zu Future Business Software || Einzelhandel || Small.biz


PostgreSQL
Wenn Sie einen Überblick bekommen möchten, was PostgreSQL so kann, dann finden sie hier eine Feature Matrix und hier die Dokumentation ( das pdf postgresql-9.5-A4). Keine Angst, wir brauchen die 3.000 Seiten, der hervorragenden Dokumentation nicht zu lesen, es genügen die ersten 20 Seiten. Wir werden uns auch nicht mit SQL beschäftigen, denn das erledigt Odoo für uns, wie wir später sehen werden. Da Webmin Probleme mit der Version 9 von PostgreSQL hat und wir doch Benutzer, Gruppen und Datenbanken einfach erstellen und kontrollieren wollen installieren wir phpPgAdmin. Wir müssen in der /etc/apache2/conf-available/phppgadmin.conf “Require local ” unter Kommentar setzen und den Apachen neu starten, um dann auf https://www.beispiel.com/phppgadmin/ PhpPgAdmin zu erreichen. Weiters müssen wir noch in der /etc/phppgadmin -> config.inc.php
$conf[‘extra_login_security’] = true; auf “false” setzten.
Wir benötigen nun ein Passwort für den PostgreSQL-Server und setzen das mit
sudo -u postgres psql
Man befindet sich nun in der Umgebung von PostgreSQL (erkennbar an postgres=#). Als nächsten Befehl gibt man
\password postgres
ein. Nun wird man zur Eingabe des neues Passwortes aufgefordert.
Um die Postgre-Umgebung wieder zu verlassen, einfach
\q
Nun sollte dem Login nichts mehr im Wege stehen und wir haben auch gleich ein PW für den Benutzer “postgres” gesetzt.
Nützliche Tipps findet man auf ubuntuusers PostgreSQL und auf phpPgAdmin.

Postfix und Dovecot

Die Dokumentation findet man auf https://www.postfix.org/documentation.html und https://wiki2.dovecot.org/ und eine gute Anleitung auf Admin Magazin. Die folgende Anleitung orientiert sich an diesen übersichtlichen Artikel.
[:en]zurück zu FBS Einzelhandel – Small.biz

PostgreSQL
Wenn Sie einen Überblick bekommen möchten, was PostgreSQL so kann, dann finden sie hier eine Feature Matrix und hier die Dokumentation ( das pdf postgresql-9.5-A4). Keine Angst, wir brauchen die 3.000 Seiten, der hervorragenden Dokumentation nicht zu lesen, es genügen die ersten 20 Seiten. Wir werden uns auch nicht mit SQL beschäftigen, denn das erledigt Odoo für uns, wie wir später sehen werden. Da Webmin Probleme mit der Version 9 von PostgreSQL hat und wir doch Benutzer, Gruppen und Datenbanken einfach erstellen und kontrollieren wollen installieren wir phpPgAdmin. Wir müssen in der /etc/apache2/conf-available/phppgadmin.conf “Require local ” unter Kommentar setzen und den Apachen neu starten, um dann auf https://www.beispiel.com/phppgadmin/ PhpPgAdmin zu erreichen. Weiters müssen wir noch in der /etc/phppgadmin -> config.inc.php
$conf[‘extra_login_security’] = true; auf “false” setzten.
Wir benötigen nun ein Passwort für den PostgreSQL-Server und setzen das mit
sudo -u postgres psql
Man befindet sich nun in der Umgebung von PostgreSQL (erkennbar an postgres=#). Als nächsten Befehl gibt man
\password postgres
ein. Nun wird man zur Eingabe des neues Passwortes aufgefordert.
Um die Postgre-Umgebung wieder zu verlassen, einfach
\q
Nun sollte dem Login nichts mehr im Wege stehen und wir haben auch gleich ein PW für den Benutzer “postgres” gesetzt.
Nützliche Tipps findet man auf ubuntuusers PostgreSQL und auf phpPgAdmin.

Postfix und Dovecot

Die Dokumentation findet man auf https://www.postfix.org/documentation.html und https://wiki2.dovecot.org/ und eine gute Anleitung auf Admin Magazin. Die folgende Anleitung orientiert sich an diesen übersichtlichen Artikel.
[:]

Vorbereitungen – Installation des Ubuntu Servers

[:de]zurück zu Future Business Software || Einzelhandel || Small.biz


Wer sich für einen Server in einem Rechenzentrum entschieden hat, bekommt nach der Bestellung die Zugangsdaten zugeschickt. Bei Hetzner bekommt man dazu die Zugangsdaten zum Robot, wo der Server verwaltet werden kann.
Ubuntu ist bereits vorinstalliert und kann im Robot, neben anderen Betriebssystemen, jederzeit neu installiert werden.

Nähere Informationen zu Ubuntu bietet auch der Server Guide.

Im Robot sehen wir die IP des Servers und in den Zugangsdaten bekamen wir das Password für den “root”. (“root” ist der Benutzername oder das Konto, das standardmäßig Zugriff auf alle Befehle und Dateien auf einem Linux oder anderen Unix-artigen Betriebssystem hat. Es wird auch der Root-Account, Benutzer Root und der Superuser genannt.)

Erster Login – Domain – SSH

Wenn Sie sich für Future Businesssoftware entschieden haben, setzte ich voraus, dass sie sich auf ihren Rechner Ubuntu installiert haben und mit diesem arbeiten. Öffnen Sie ein “Terminal” und fügen Sie es der Startleiste hinzu, denn es wird das häufigst benutzte Programm.
Im Terminal tippen Sie “root@und die IP des Servers” ein, akzeptieren Sie den Fingerprint und geben Sie nach Aufforderung das Password ein. Sie werden dieses PW vermutlich nicht mögen, weshalb Sie mit “sudo passwd root” auch gleich ein neues setzen können.
Jetzt wird das System auf den neuesten Stand gebracht mit “apt-get update” und “apt-get upgrade”. Mit “cd /” und “ls” sehen wir uns einmal das Verzeichnis am Server an. Was Sie wo zu erwarten haben und wo Sie was hingeben sollten erklärt die Übersicht Verzeichnisstruktur.

Wir begnügen uns beim ersten Login mit dem Anlegen eines Benutzers mit “adduser”. Geben Sie das Password und ihren Namen an und überspringen Sie den Rest. Jetzt werden sie mit “su Benutzername” zum Benutzer. Tippen sie wieder “ls” ein und dann “cd home”. Mit “ls” sehen Sie, dass der Benutzer ein eigenes Verzeichnis bekommen hat. Ausstieg mit “exit” aus dem Benutzer-Account und noch einmal “exit” um sich vom Server zu verabschieden.

Domain kaufen, transferieren, einrichten
Wir wollen nicht nur unsere Homepage über eine passende Web-Adresse erreichen, sondern auch unsere ERPSW (Enterprise Ressource Planning Software) soll über diese erreichbar sein und vor allem benötigen wir eine Domain, damit unser Email-Server korrekt mit anderen Email-Servern kommunizieren kann, das heißt, damit wir nicht nur intern Emails erhalten und verschicken können.
Im Robot können Sie bei Hetzner mittels eines KK-Auftrages ihre Domain zu Hetzner transferieren, siehe Domain Robot Tutorial KK oder eine neue Domain erwerben. Sie dazu auch Domain Robot FAQ. Sobald Sie eine Domain zu Hetzner transferiert, oder dort eine neue gekauft haben (dazu einfach auf “neue Domain” klicken), scheint diese im Robot auf.
Handles im Robot anlegen
Zuerst sollten – falls noch nicht vorhanden – die Handles (=Kontaktadressen) für den Inhaber (Holder), den administrativen (Admin-C) und den technischen Betreuer (Tech-C) sowie den Zonenverwalter (Zone-C) angelegt werden.
Bei .eu Domains kann nur der Domaininhaber ausgewählt werden, bei .at Domains gibt es keinen Zone-C.
Bereits existierende Handles, die in anderen Domains verwendet wurden, können und sollten wiederverwendet werden. Sollte es sich bei den genannten Handles immer um dieselbe Person/Firma handeln, dann muss natürlich auch nur ein einzelnes Handle angelegt werden.
Solange die Ampel (Statusanzeige im Robot) bei den neuen Handles noch auf “gelb” steht, kann man noch keine Domains registrieren oder umziehen. Die Handles sind aber in der Regel innerhalb einiger Sekunden angelegt.
Bitte beachten Sie: Für jede TLD (Top Level Domain) müssen im Robot separate Handles angelegt werden. Ein .de Handle kann also beispielsweise nicht für eine .com Domain verwendete werden.

Tools und Kommandos
Übrigens, in diesem Buch werden einige Tools verwendet, die im Anhang Tools alphabetisch gelistet sind, telnet und dig sind zwei davon.
Zuerst benötigen wir telnet und dig. dig ist ein Tool für die Kommandozeile, um DNS name servers abzufragen über host addresses, mail exchanges, name servers und weitere Informationen.
Es ist Teil des Debian-Pakets dnsutils, wie nslookup und nsupdate und somit in Ubuntu schon vorinstalliert, oder mit „apt-get install dnsutils“ zu installieren. Mit „man dig“ erhält man die nötige Information dazu. Wer die Info der man pages aufbereitet im Internet finden will, geht zu Beispiel auf dig https://wiki.ubuntuusers.de/dig oder DiG HOWTO https://www.madboa.com/geek/dig/

Die wichtigsten Linux-Befehle finden Sie im Anhang Kommandos.

DNS-Eintrag
Nun wird im Robot ein neuer DNS-Eintrag beantragt indem dort die gekaufte oder transferierte Domain und die IP des Servers angegeben werden. Unmittelbar danach scheint die Domain unter DNS-Einträge auf. Wir wollen ja keine DNS-Server betreiben und möglichst schnell unseren Postfix in Betrieb nehmen, aber ein paar Voraussetzungen müssen dazu trotzdem erfüllt sein.

Bevor wir den Postfix überhaupt installieren, wollen wir einmal überprüfen, ob es für unsere domain einen MX-Eintrag gibt. Wir überprüfen das mit „dig +nocmd beispiel.com any +multiline +noall +answer“ oder kurz „dig beispiel.com +short“.
Sehen wir „10 mail.beispiel.com“ als Antwort, können wir mit der Installation von Postfix beginnen, sonst müssen wir in der DNS-Verwaltung zuerst einmal einen MX-Record anlegen.

Auf Domain Name System (Wikipedia) erhalten Sie einen Überblick. Wir benötigen einen MX-Eintrag und einen PTR-Record (Reverse DNS), damit z.B. „mail.“ in beide Richtungen aufgelöst werden kann d.h. IP-Adresse > DNS-Name und umgekehrt.

mail.domain.de IN A 192.168.1.2
IN MX 10 mail.domain.de
2.1.168.192.in-addr.arpa IN PTR mail.domain.de

Sie finden bei Hetzner sowohl einen DNS Überblick, als auch eine Anleitung zu Hostname, MTA-Name und Reverse DNS Eintrag synchronisieren.

Ich zitiere:
Einige Mailserver lehnen den Empfang von Mails ab, wenn beim Absender Hostname, MTA-Name (MTA = SMTP Mailserver) und/oder der Reverse DNS Eintrag nicht übereinstimmen. Diese Beschreibung soll die Zusammenhänge erklären.
Vorüberlegungen
Der Hostname ist lediglich die Bezeichnung des Servers, er soll dem Administrator helfen, seine Server zu verwalten bzw. wieder zuerkennen. Der Hostname braucht weder mit www, mail, oder smtp zu beginnen, noch muss er mit den Domains, die vom Server bedient werden, zu tun haben. Der Hostname sollte aber über DNS zur IP-Adresse auflösbar sein.
Der MTA-Name/HELO-Hostname ist die Bezeichnung, die der Mailserver z.B. beim SMTP-Protokoll an den fremden Mailserver übermittelt. Auch dieser MTA-Name muss mit den Domains der Mails, die er dann überträgt nichts zu tun haben. Doch um sich vor Spammern zu schützen, prüfen viele Mailserver die MTA-Namen auf Gültigkeit und Konsistenz (z.B. durch Reverse DNS Abfragen), sodass reibungsloser Mailaustausch nur gewährleistet ist, wenn auch der MTA-Name vorwärts und rückwärts auflösbar ist.
Der Reverse DNS Eintrag wiederum ist der “Name” einer IP-Adresse. Dieser Eintrag dient z.B. bei Traceroutes der Erkennung der Gateways und der Hosts – und eben oft beim Mailaustausch zur Überprüfung des angegebenen MTA-Namens. Jede IP-Adresse hat nur einen Namen (auch wenn über sie viele verschiedene Domains gehostet werden) und sollte auch über einen A-Record “vorwärts” auflösbar sein.
Namenswahl
Diese drei Namen sind also wie beschrieben aneinander gebunden, es sollte in allen drei Fällen der gleiche Name vergeben werden. Doch wie soll der Name denn nun lauten?
Ein kleiner Server, der nur die eigene Domain, Homepage und Mail verwalten soll, kann z.B. “www.toms-kleine-wunderwelt.de” oder “server.toms-kleine-wunderwelt.de” lauten.
Doch was, wenn der Server verschiedene Domains verwalten soll?
Der MTA-Name muss nichts mit den Domains, die er verwaltet, zu tun haben. Große Provider mit vielen tausend Domains können jedem Ihrer Mailserver auch nur jeweils einen MTA-Namen geben. Und da ja jede IP-Adresse nur einen Reverse DNS Eintrag hat, sollte bei Traceroutes ein neutraler Name als letzter Host erscheinen.
Hier könnte man den von Hetzner vordefinierten Reverse DNS Eintrag “xxx-xxx-xxx-xxx.clients.your-server.de” als Host- und MTA-Name übernehmen. Genauso kann aber eine der Domain verwendet werden, z.B. “server3.super-duper-hoster.de”. Dies sieht wesentlich professioneller aus und läuft auch nicht Gefahr, als IP-Adresse aus einem dynamisch vergebenen Einwahl-Adressbereich abgelehnt zu werden.
Einträge definieren
Wir wählen “server3.super-duper-hoster.de” als unseren Namen. Jetzt muss der Name an den verschiedenen Stellen eingetragen werden:
Hostname
Dieser Name wird in der Zonendatei der Domain als A-Record definiert (die IP-Adresse ist nur ein Beispiel):
server3 IN A 213.133.99.99
Reverse DNS Eintrag
Der Reverse DNS Eintrag wird über den Hetzner Registration Robot für jede IP-Adresse individuell festgelegt:
Menüpunkt “Server” -> Klick auf den Server -> “IPs” -> Klick auf das Textfeld rechts neben der gewünschten IP-Adresse
Achtung: Reverse DNS Einträge haben eine TTL von 24 Stunden. Daher werden Änderungen an den Einträgen zwar sofort übernommen, fremde DNS-Server liefern aber womöglich noch bis zum Ablauf der TTL die alten Einträge aus deren Cache aus.
MTA-Name
Das wird bei jedem Mailserver an unterschiedlichen Stellen konfiguriert, in unserem Beispiel würde der MTA-Name aber “server3.super-duper-hoster.de” lauten.
MX-Einträge
Mailempfang soll natürlich möglich sein. Dazu wird in der Zonendatei der Domain “super-duper-hoster.de” dieser Eintrag eingefügt:
@ IN MX 10 server3
In den anderen Domains fügt man diesen Eintrag ein:
@ IN MX 10 server3.super-duper-hoster.de.
Der MX-Eintrag muss wie man sieht nicht mail… oder smtp… lauten, diese Einträge sind eigentlich nur für die Konfiguration der Mailprogramme bei den Kunden sinnvoll. Die Einträge im Mailprogramm müssen mit dem MX-Eintrag in der Domain auch nicht übereinstimmen. So kann der MX-Eintrag wie im Beispiel “server3.super-duper-hoster.de” lauten, die Kunden tragen in Ihren Mailprogrammen aber beispielsweise “mail.grossefirma.de” ein. Um dies zu definieren, muss man noch die folgenden Einträge anlegen:
Webserver, FTP-Server, Mailabruf und -versand von den Arbeitsplätzen
In der Domain “super-duper-hoster.de” sowie in den anderen Domains:
www IN A 213.133.99.99
ftp IN A 213.133.99.99
smtp IN A 213.133.99.99
pop3 IN A 213.133.99.99
mail IN A 213.133.99.99
Überlegenswert wäre allerdings die Vewendung von CNAME’s statt A-Records. Ändert sich die IP-Adresse, dann müssen nicht alle Zonendateien manuell geändert werden, sondern lediglich der A-Eintrag für “server3.super-duper-hoster.de”. Die Einträge würden dann so aussehen:
www IN CNAME server3.super-duper-hoster.de.
ftp IN CNAME server3.super-duper-hoster.de.
smtp IN CNAME server3.super-duper-hoster.de.
pop3 IN CNAME server3.super-duper-hoster.de.
mail IN CNAME server3.super-duper-hoster.de.
Der Webserversoftware muss natürlich über deren Konfigurationsdatei auch noch mitgeteilt werden, dass sie auf die Kundendomains reagieren soll.
Zusammenfassung
Die komplette Zonendatei für super-duper-hoster.de könnte so aussehen:
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2000091604 ; Serial
14400 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum

@ IN NS ns1.first-ns.de.
@ IN NS robotns2.second-ns.de.

localhost IN A 127.0.0.1
@ IN A 213.133.99.99
server3 IN A 213.133.99.99

www IN CNAME server3
ftp IN CNAME server3
smtp IN CNAME server3
pop3 IN CNAME server3
mail IN CNAME server3

@ IN MX 10 server3
Die Zonendatei einer der Kundendomains würde so aussehen:
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2000091604 ; Serial
14400 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum

@ IN NS ns1.first-ns.de.
@ IN NS robotns2.second-ns.de.

localhost IN A 127.0.0.1

www IN CNAME server3.super-duper-hoster.de.
ftp IN CNAME server3.super-duper-hoster.de.
smtp IN CNAME server3.super-duper-hoster.de.
pop3 IN CNAME server3.super-duper-hoster.de.
mail IN CNAME server3.super-duper-hoster.de.

@ IN MX 10 server3.super-duper-hoster.de.
Der Reverse DNS Eintrag im Hetzner Registration Robot müsste dann
server3.super-duper-hoster.de
lauten.
Funktionstests
Bestens bewährt hat sich der DNS Report auf www.dnsstuff.com. Hier kann man sehr systematisch nach Fehlern in der DNS-Konfiguration suchen und nach und nach zu einer fehlerfreien und kompatiblen Konfiguration gelangen.
Wie weise ich meinen IP-Adressen mehrere Reverse DNS Einträge zu?
Das funktioniert nicht. Wenn man sich die Funktionsweise von DNS und Reverse DNS ansieht, wird auch klar warum:
DNS Auflösung (vorwärts):
www.grossefirma.de –> 213.133.99.99
Auch mehrere Hostnamen können “vorwärts” auf die gleiche IP-Adresse verweisen, dadurch kann ein Webserver unter verschiedenen Domains angesprochen werden:
www.grossefirma.de –> 213.133.99.99
www.nocheinegrossefirma.de –> 213.133.99.99
www.riesengrossefirma.de –> 213.133.99.99
Reverse DNS Auflösung (rückwärts):
213.133.99.99 –> server3.super-duper-hoster.de
Hier liefert eine IP-Adresse immer nur einen Hostnamen zurück, und zwar den, der über den Robot von Hetzner definiert wurde. Rückschlüsse darüber, welche Domains dieser Server ausliefert, lässt ein Reverse DNS Eintrag nicht zu.
Die für Reverse DNS relevanten PTR-Einträge kann man nur über den Hetzner Registration Robot an den für die IP-Adressen zuständigen Nameservern anlegen, in der eigenen Domain angelegte PTR-Einträge werden nicht berücksichtigt.”

Langer Rede kurze Tat.
Wir tragen unsere Domain in der /etc/hostname für den Rechnernamen und in der /etc/hosts für den Domainname ein und starten den Rechner neu. Am einfachsten gehen Sie in das Verzeichnis und öffnen die Datei mit “vim hostname” – “esc-Taste” um in den Insertmodus zu gelangen, die Domain eintragen, “esc-Taste”, um in den Befehlsmodus zu gelangen und mit “wq” (write quit) speichern und schließen. Dann ebenfalls in der /etc/hosts die IP und die Domain eintragen.
Den DNS-Eintrag anpassen, wonach die Datei wie folgt aussehen könnte:
$TTL 86400
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2016080502 ; serial
14400 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum

@ IN NS robotns3.second-ns.com.
@ IN NS robotns2.second-ns.de.
@ IN NS ns1.first-ns.de.

@ IN A 78.46.244.172
futurehotelsoftware.com IN A 78.46.244.172
localhost IN A 127.0.0.1
ftp IN CNAME futurehotelsoftware.com
imap IN CNAME futurehotelsoftware.com
loopback IN CNAME localhost
mail IN CNAME futurehotelsoftware.com
pop IN CNAME futurehotelsoftware.com
relay IN CNAME futurehotelsoftware.com
smtp IN CNAME futurehotelsoftware.com
www IN CNAME futurehotelsoftware.com
@ IN MX 10 futurehotelsoftware.com

Nun tragen wir noch unter Server–>IPs den Reverse-DNS-Eintrag ein, wieder mit “futurehotelsoftware.com” und starten den Server neu.
Jetzt benutzen wir entweder “dig” oder lassen usere Einträge auf www.dnsstuff.com überprüfen. Natürlich kann der Web- und Mailserver noch nicht erreicht werden, denn wir haben ja noch keinen installiert.[:en]zurück zu FBS Einzelhandel – Small.biz

Wer sich für einen Server in einem Rechenzentrum entschieden hat, bekommt nach der Bestellung die Zugangsdaten zugeschickt. Bei Hetzner bekommt man dazu die Zugangsdaten zum Robot, wo der Server verwaltet werden kann.
Ubuntu ist bereits vorinstalliert und kann im Robot, neben anderen Betriebssystemen, jederzeit neu installiert werden.

Nähere Informationen zu Ubuntu bietet auch der Server Guide.

Im Robot sehen wir die IP des Servers und in den Zugangsdaten bekamen wir das Password für den “root”. (“root” ist der Benutzername oder das Konto, das standardmäßig Zugriff auf alle Befehle und Dateien auf einem Linux oder anderen Unix-artigen Betriebssystem hat. Es wird auch der Root-Account, Benutzer Root und der Superuser genannt.)

Erster Login – Domain – SSH

Wenn Sie sich für Future Businesssoftware entschieden haben, setzte ich voraus, dass sie sich auf ihren Rechner Ubuntu installiert haben und mit diesem arbeiten. Öffnen Sie ein “Terminal” und fügen Sie es der Startleiste hinzu, denn es wird das häufigst benutzte Programm.
Im Terminal tippen Sie “root@und die IP des Servers” ein, akzeptieren Sie den Fingerprint und geben Sie nach Aufforderung das Password ein. Sie werden dieses PW vermutlich nicht mögen, weshalb Sie mit “sudo passwd root” auch gleich ein neues setzen können.
Jetzt wird das System auf den neuesten Stand gebracht mit “apt-get update” und “apt-get upgrade”. Mit “cd /” und “ls” sehen wir uns einmal das Verzeichnis am Server an. Was Sie wo zu erwarten haben und wo Sie was hingeben sollten erklärt die Übersicht Verzeichnisstruktur.

Wir begnügen uns beim ersten Login mit dem Anlegen eines Benutzers mit “adduser”. Geben Sie das Password und ihren Namen an und überspringen Sie den Rest. Jetzt werden sie mit “su Benutzername” zum Benutzer. Tippen sie wieder “ls” ein und dann “cd home”. Mit “ls” sehen Sie, dass der Benutzer ein eigenes Verzeichnis bekommen hat. Ausstieg mit “exit” aus dem Benutzer-Account und noch einmal “exit” um sich vom Server zu verabschieden.

Domain kaufen, transferieren, einrichten
Wir wollen nicht nur unsere Homepage über eine passende Web-Adresse erreichen, sondern auch unsere ERPSW (Enterprise Ressource Planning Software) soll über diese erreichbar sein und vor allem benötigen wir eine Domain, damit unser Email-Server korrekt mit anderen Email-Servern kommunizieren kann, das heißt, damit wir nicht nur intern Emails erhalten und verschicken können.
Im Robot können Sie bei Hetzner mittels eines KK-Auftrages ihre Domain zu Hetzner transferieren, siehe Domain Robot Tutorial KK oder eine neue Domain erwerben. Sie dazu auch Domain Robot FAQ. Sobald Sie eine Domain zu Hetzner transferiert, oder dort eine neue gekauft haben (dazu einfach auf “neue Domain” klicken), scheint diese im Robot auf.
Handles im Robot anlegen
Zuerst sollten – falls noch nicht vorhanden – die Handles (=Kontaktadressen) für den Inhaber (Holder), den administrativen (Admin-C) und den technischen Betreuer (Tech-C) sowie den Zonenverwalter (Zone-C) angelegt werden.
Bei .eu Domains kann nur der Domaininhaber ausgewählt werden, bei .at Domains gibt es keinen Zone-C.
Bereits existierende Handles, die in anderen Domains verwendet wurden, können und sollten wiederverwendet werden. Sollte es sich bei den genannten Handles immer um dieselbe Person/Firma handeln, dann muss natürlich auch nur ein einzelnes Handle angelegt werden.
Solange die Ampel (Statusanzeige im Robot) bei den neuen Handles noch auf “gelb” steht, kann man noch keine Domains registrieren oder umziehen. Die Handles sind aber in der Regel innerhalb einiger Sekunden angelegt.
Bitte beachten Sie: Für jede TLD (Top Level Domain) müssen im Robot separate Handles angelegt werden. Ein .de Handle kann also beispielsweise nicht für eine .com Domain verwendete werden.

Tools und Kommandos
Übrigens, in diesem Buch werden einige Tools verwendet, die im Anhang Tools alphabetisch gelistet sind, telnet und dig sind zwei davon.
Zuerst benötigen wir telnet und dig. dig ist ein Tool für die Kommandozeile, um DNS name servers abzufragen über host addresses, mail exchanges, name servers und weitere Informationen.
Es ist Teil des Debian-Pakets dnsutils, wie nslookup und nsupdate und somit in Ubuntu schon vorinstalliert, oder mit „apt-get install dnsutils“ zu installieren. Mit „man dig“ erhält man die nötige Information dazu. Wer die Info der man pages aufbereitet im Internet finden will, geht zu Beispiel auf dig https://wiki.ubuntuusers.de/dig oder DiG HOWTO https://www.madboa.com/geek/dig/

Die wichtigsten Linux-Befehle finden Sie im Anhang Kommandos.

DNS-Eintrag
Nun wird im Robot ein neuer DNS-Eintrag beantragt indem dort die gekaufte oder transferierte Domain und die IP des Servers angegeben werden. Unmittelbar danach scheint die Domain unter DNS-Einträge auf. Wir wollen ja keine DNS-Server betreiben und möglichst schnell unseren Postfix in Betrieb nehmen, aber ein paar Voraussetzungen müssen dazu trotzdem erfüllt sein.

Bevor wir den Postfix überhaupt installieren, wollen wir einmal überprüfen, ob es für unsere domain einen MX-Eintrag gibt. Wir überprüfen das mit „dig +nocmd beispiel.com any +multiline +noall +answer“ oder kurz „dig beispiel.com +short“.
Sehen wir „10 mail.beispiel.com“ als Antwort, können wir mit der Installation von Postfix beginnen, sonst müssen wir in der DNS-Verwaltung zuerst einmal einen MX-Record anlegen.

Auf Domain Name System (Wikipedia) erhalten Sie einen Überblick. Wir benötigen einen MX-Eintrag und einen PTR-Record (Reverse DNS), damit z.B. „mail.“ in beide Richtungen aufgelöst werden kann d.h. IP-Adresse > DNS-Name und umgekehrt.

mail.domain.de IN A 192.168.1.2
IN MX 10 mail.domain.de
2.1.168.192.in-addr.arpa IN PTR mail.domain.de

Sie finden bei Hetzner sowohl einen DNS Überblick, als auch eine Anleitung zu Hostname, MTA-Name und Reverse DNS Eintrag synchronisieren.

Ich zitiere:
Einige Mailserver lehnen den Empfang von Mails ab, wenn beim Absender Hostname, MTA-Name (MTA = SMTP Mailserver) und/oder der Reverse DNS Eintrag nicht übereinstimmen. Diese Beschreibung soll die Zusammenhänge erklären.
Vorüberlegungen
Der Hostname ist lediglich die Bezeichnung des Servers, er soll dem Administrator helfen, seine Server zu verwalten bzw. wieder zuerkennen. Der Hostname braucht weder mit www, mail, oder smtp zu beginnen, noch muss er mit den Domains, die vom Server bedient werden, zu tun haben. Der Hostname sollte aber über DNS zur IP-Adresse auflösbar sein.
Der MTA-Name/HELO-Hostname ist die Bezeichnung, die der Mailserver z.B. beim SMTP-Protokoll an den fremden Mailserver übermittelt. Auch dieser MTA-Name muss mit den Domains der Mails, die er dann überträgt nichts zu tun haben. Doch um sich vor Spammern zu schützen, prüfen viele Mailserver die MTA-Namen auf Gültigkeit und Konsistenz (z.B. durch Reverse DNS Abfragen), sodass reibungsloser Mailaustausch nur gewährleistet ist, wenn auch der MTA-Name vorwärts und rückwärts auflösbar ist.
Der Reverse DNS Eintrag wiederum ist der “Name” einer IP-Adresse. Dieser Eintrag dient z.B. bei Traceroutes der Erkennung der Gateways und der Hosts – und eben oft beim Mailaustausch zur Überprüfung des angegebenen MTA-Namens. Jede IP-Adresse hat nur einen Namen (auch wenn über sie viele verschiedene Domains gehostet werden) und sollte auch über einen A-Record “vorwärts” auflösbar sein.
Namenswahl
Diese drei Namen sind also wie beschrieben aneinander gebunden, es sollte in allen drei Fällen der gleiche Name vergeben werden. Doch wie soll der Name denn nun lauten?
Ein kleiner Server, der nur die eigene Domain, Homepage und Mail verwalten soll, kann z.B. “www.toms-kleine-wunderwelt.de” oder “server.toms-kleine-wunderwelt.de” lauten.
Doch was, wenn der Server verschiedene Domains verwalten soll?
Der MTA-Name muss nichts mit den Domains, die er verwaltet, zu tun haben. Große Provider mit vielen tausend Domains können jedem Ihrer Mailserver auch nur jeweils einen MTA-Namen geben. Und da ja jede IP-Adresse nur einen Reverse DNS Eintrag hat, sollte bei Traceroutes ein neutraler Name als letzter Host erscheinen.
Hier könnte man den von Hetzner vordefinierten Reverse DNS Eintrag “xxx-xxx-xxx-xxx.clients.your-server.de” als Host- und MTA-Name übernehmen. Genauso kann aber eine der Domain verwendet werden, z.B. “server3.super-duper-hoster.de”. Dies sieht wesentlich professioneller aus und läuft auch nicht Gefahr, als IP-Adresse aus einem dynamisch vergebenen Einwahl-Adressbereich abgelehnt zu werden.
Einträge definieren
Wir wählen “server3.super-duper-hoster.de” als unseren Namen. Jetzt muss der Name an den verschiedenen Stellen eingetragen werden:
Hostname
Dieser Name wird in der Zonendatei der Domain als A-Record definiert (die IP-Adresse ist nur ein Beispiel):
server3 IN A 213.133.99.99
Reverse DNS Eintrag
Der Reverse DNS Eintrag wird über den Hetzner Registration Robot für jede IP-Adresse individuell festgelegt:
Menüpunkt “Server” -> Klick auf den Server -> “IPs” -> Klick auf das Textfeld rechts neben der gewünschten IP-Adresse
Achtung: Reverse DNS Einträge haben eine TTL von 24 Stunden. Daher werden Änderungen an den Einträgen zwar sofort übernommen, fremde DNS-Server liefern aber womöglich noch bis zum Ablauf der TTL die alten Einträge aus deren Cache aus.
MTA-Name
Das wird bei jedem Mailserver an unterschiedlichen Stellen konfiguriert, in unserem Beispiel würde der MTA-Name aber “server3.super-duper-hoster.de” lauten.
MX-Einträge
Mailempfang soll natürlich möglich sein. Dazu wird in der Zonendatei der Domain “super-duper-hoster.de” dieser Eintrag eingefügt:
@ IN MX 10 server3
In den anderen Domains fügt man diesen Eintrag ein:
@ IN MX 10 server3.super-duper-hoster.de.
Der MX-Eintrag muss wie man sieht nicht mail… oder smtp… lauten, diese Einträge sind eigentlich nur für die Konfiguration der Mailprogramme bei den Kunden sinnvoll. Die Einträge im Mailprogramm müssen mit dem MX-Eintrag in der Domain auch nicht übereinstimmen. So kann der MX-Eintrag wie im Beispiel “server3.super-duper-hoster.de” lauten, die Kunden tragen in Ihren Mailprogrammen aber beispielsweise “mail.grossefirma.de” ein. Um dies zu definieren, muss man noch die folgenden Einträge anlegen:
Webserver, FTP-Server, Mailabruf und -versand von den Arbeitsplätzen
In der Domain “super-duper-hoster.de” sowie in den anderen Domains:
www IN A 213.133.99.99
ftp IN A 213.133.99.99
smtp IN A 213.133.99.99
pop3 IN A 213.133.99.99
mail IN A 213.133.99.99
Überlegenswert wäre allerdings die Vewendung von CNAME’s statt A-Records. Ändert sich die IP-Adresse, dann müssen nicht alle Zonendateien manuell geändert werden, sondern lediglich der A-Eintrag für “server3.super-duper-hoster.de”. Die Einträge würden dann so aussehen:
www IN CNAME server3.super-duper-hoster.de.
ftp IN CNAME server3.super-duper-hoster.de.
smtp IN CNAME server3.super-duper-hoster.de.
pop3 IN CNAME server3.super-duper-hoster.de.
mail IN CNAME server3.super-duper-hoster.de.
Der Webserversoftware muss natürlich über deren Konfigurationsdatei auch noch mitgeteilt werden, dass sie auf die Kundendomains reagieren soll.
Zusammenfassung
Die komplette Zonendatei für super-duper-hoster.de könnte so aussehen:
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2000091604 ; Serial
14400 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum

@ IN NS ns1.first-ns.de.
@ IN NS robotns2.second-ns.de.

localhost IN A 127.0.0.1
@ IN A 213.133.99.99
server3 IN A 213.133.99.99

www IN CNAME server3
ftp IN CNAME server3
smtp IN CNAME server3
pop3 IN CNAME server3
mail IN CNAME server3

@ IN MX 10 server3
Die Zonendatei einer der Kundendomains würde so aussehen:
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2000091604 ; Serial
14400 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum

@ IN NS ns1.first-ns.de.
@ IN NS robotns2.second-ns.de.

localhost IN A 127.0.0.1

www IN CNAME server3.super-duper-hoster.de.
ftp IN CNAME server3.super-duper-hoster.de.
smtp IN CNAME server3.super-duper-hoster.de.
pop3 IN CNAME server3.super-duper-hoster.de.
mail IN CNAME server3.super-duper-hoster.de.

@ IN MX 10 server3.super-duper-hoster.de.
Der Reverse DNS Eintrag im Hetzner Registration Robot müsste dann
server3.super-duper-hoster.de
lauten.
Funktionstests
Bestens bewährt hat sich der DNS Report auf www.dnsstuff.com. Hier kann man sehr systematisch nach Fehlern in der DNS-Konfiguration suchen und nach und nach zu einer fehlerfreien und kompatiblen Konfiguration gelangen.
Wie weise ich meinen IP-Adressen mehrere Reverse DNS Einträge zu?
Das funktioniert nicht. Wenn man sich die Funktionsweise von DNS und Reverse DNS ansieht, wird auch klar warum:
DNS Auflösung (vorwärts):
www.grossefirma.de –> 213.133.99.99
Auch mehrere Hostnamen können “vorwärts” auf die gleiche IP-Adresse verweisen, dadurch kann ein Webserver unter verschiedenen Domains angesprochen werden:
www.grossefirma.de –> 213.133.99.99
www.nocheinegrossefirma.de –> 213.133.99.99
www.riesengrossefirma.de –> 213.133.99.99
Reverse DNS Auflösung (rückwärts):
213.133.99.99 –> server3.super-duper-hoster.de
Hier liefert eine IP-Adresse immer nur einen Hostnamen zurück, und zwar den, der über den Robot von Hetzner definiert wurde. Rückschlüsse darüber, welche Domains dieser Server ausliefert, lässt ein Reverse DNS Eintrag nicht zu.
Die für Reverse DNS relevanten PTR-Einträge kann man nur über den Hetzner Registration Robot an den für die IP-Adressen zuständigen Nameservern anlegen, in der eigenen Domain angelegte PTR-Einträge werden nicht berücksichtigt.”

Langer Rede kurze Tat.
Wir tragen unsere Domain in der /etc/hostname für den Rechnernamen und in der /etc/hosts für den Domainname ein und starten den Rechner neu. Am einfachsten gehen Sie in das Verzeichnis und öffnen die Datei mit “vim hostname” – “esc-Taste” um in den Insertmodus zu gelangen, die Domain eintragen, “esc-Taste”, um in den Befehlsmodus zu gelangen und mit “wq” (write quit) speichern und schließen. Dann ebenfalls in der /etc/hosts die IP und die Domain eintragen.
Den DNS-Eintrag anpassen, wonach die Datei wie folgt aussehen könnte:
$TTL 86400
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2016080502 ; serial
14400 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum

@ IN NS robotns3.second-ns.com.
@ IN NS robotns2.second-ns.de.
@ IN NS ns1.first-ns.de.

@ IN A 78.46.244.172
futurehotelsoftware.com IN A 78.46.244.172
localhost IN A 127.0.0.1
ftp IN CNAME futurehotelsoftware.com
imap IN CNAME futurehotelsoftware.com
loopback IN CNAME localhost
mail IN CNAME futurehotelsoftware.com
pop IN CNAME futurehotelsoftware.com
relay IN CNAME futurehotelsoftware.com
smtp IN CNAME futurehotelsoftware.com
www IN CNAME futurehotelsoftware.com
@ IN MX 10 futurehotelsoftware.com

Nun tragen wir noch unter Server–>IPs den Reverse-DNS-Eintrag ein, wieder mit “futurehotelsoftware.com” und starten den Server neu.
Jetzt benutzen wir entweder “dig” oder lassen usere Einträge auf www.dnsstuff.com überprüfen. Natürlich kann der Web- und Mailserver noch nicht erreicht werden, denn wir haben ja noch keinen installiert.[:]

Systemarchitektur allgemein

[:de]zurück zu Future Business Software || Einzelhandel || Small.biz

Wie in der Einleitung erwähnt, gibt es viele Kombinationsmöglichkeiten der unzähligen Applikationen, die man verwenden kann, um sich ein System aufzubauen. Bevor man mit der Einrichtung von Servern wie Postfix und Dovecot beginnt, sollte man sich schon über die Hardware und Grundstruktur im klaren sein. Open-LDAP als zentralen Auskunftsdienst zu verwenden macht natürlich für viele Szenarien Sinn, aber wir benötigen hier keine Verwaltung der Benutzerberechtigungen auf Systemebene, da wir die Berechtigungen auf Anwendungsebene mit Odoo und ownCloud vergeben. Im Beispiel “Future Test-Boutique” gehen wir von einer Boutique mit bis zu 5 Mitarbeitern aus und wir werden später sehen, wer welche Zugriffsmöglichkeiten und Berechtigungen bekommt.

Hardware

Server

Die gebräuchlichsten Möglichkeiten für den Server (mit „Server“ ist hier immer der Rechner, auf dem sämtliche Software läuft gemeint. Bei Software-Servern wird immer der Zusatz angegeben, um welchen Server es sich handelt, wie Email-Server, Web-Server, ….) sind:

  1. eigene(r) Rechner
  2. Rechner in einem Rechenzentrum
  3. Cloud

Für die Version: Small.biz für Kleinbetriebe empfehle ich die Server-Client Lösung mit einem Rechner in einem Rechenzentrum.

Client(s) bzw. Workstation(s)

Jeder PC, Laptop und ev. sogar das Handy ist dazu geeignet, wenn es über eine Internetverbindung und einen Browser verfügt. Empfehlen kann ich aber nur PC’s mit neu aufgesetztem Ubuntu und die Verwendung von Firefox, Evolution und LibreOffice. Dafür ist Future Hotel- & Businesssoftware konzipiert und nur so ist eine sichere, effiziente Nutzung gewährleistet.[:en]zurück zu FBS Einzelhandel – Small.biz

Wie in der Einleitung erwähnt, gibt es viele Kombinationsmöglichkeiten der unzähligen Applikationen, die man verwenden kann, um sich ein System aufzubauen. Bevor man mit der Einrichtung von Servern wie Postfix und Dovecot beginnt, sollte man sich schon über die Hardware und Grundstruktur im klaren sein. Open-LDAP als zentralen Auskunftsdienst zu verwenden macht natürlich für viele Szenarien Sinn, aber wir benötigen hier keine Verwaltung der Benutzerberechtigungen auf Systemebene, da wir die Berechtigungen auf Anwendungsebene mit Odoo und ownCloud vergeben. Im Beispiel “Future Test-Boutique” gehen wir von einer Boutique mit bis zu 5 Mitarbeitern aus und wir werden später sehen, wer welche Zugriffsmöglichkeiten und Berechtigungen bekommt.

Hardware

Server

Die gebräuchlichsten Möglichkeiten für den Server (mit „Server“ ist hier immer der Rechner, auf dem sämtliche Software läuft gemeint. Bei Software-Servern wird immer der Zusatz angegeben, um welchen Server es sich handelt, wie Email-Server, Web-Server, ….) sind:

  1. eigene(r) Rechner
  2. Rechner in einem Rechenzentrum
  3. Cloud

Für die Version: Small.biz für Kleinbetriebe empfehle ich die Server-Client Lösung mit einem Rechner in einem Rechenzentrum.

Client(s) bzw. Workstation(s)

Jeder PC, Laptop und ev. sogar das Handy ist dazu geeignet, wenn es über eine Internetverbindung und einen Browser verfügt. Empfehlen kann ich aber nur PC’s mit neu aufgesetztem Ubuntu und die Verwendung von Firefox, Evolution und LibreOffice. Dafür ist Future Hotel- & Businesssoftware konzipiert und nur so ist eine sichere, effiziente Nutzung gewährleistet.[:]

Literaturhinweise, Quellen und Weblinks

English Version
zurück zu Future Business Software || Einzelhandel || Small.biz


Open Source Software allgemein
Gründe für den Open-Source-Einsatz
Vorteile/Nachteile von Open Source Software
Wettbewerbsvorteile dank Open Source
Open Source Software: Einsatzpotenziale und Wirtschaftlichkeit – Eine Studie der Fraunhofer-Gesellschaft Fraunhofer-Studie-Open-Source-Software

Software:

Ubuntu:
Ubuntu Server

OpenLDAP:
OpenLdap
OpenLDAP Software 2.4 Administrator’s Guide
OpenLDAP-Praxis
OpenLDAP ab Precise

Cloud:
ownCloud
OpenStack
Ubuntu OpenStack

Hardware:
Rechenzentrum Hetzner

Weitere Quellen:
Gartner IT Infrastructure & Operations Management Summit, 14. und 15. Juni, Berlin
Eigener Mailserver mit Postfix und Dovecot
Ubuntu 16.04 LTS als ownCloud-Server
Fünf private Cloud-Dienste für Linux im Überblick
UNIX and Linux System Administration Handbook, 4th Edition – 2010