Server Setup · 5 min read · Nov 02, 2025

Der perfekte Server - Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)

Dieses Tutorial zeigt, wie man einen Debian Jessie-Server (mit Apache2, BIND, Dovecot) für die Installation von ISPConfig 3 vorbereitet und wie man ISPConfig 3 installiert. Das Webhosting-Kontrollpanel ISPConfig 3 ermöglicht es Ihnen, die folgenden Dienste über einen Webbrowser zu konfigurieren: Apache oder nginx Webserver, Postfix-Mailserver, Courier oder Dovecot IMAP/POP3-Server, MySQL, BIND oder MyDNS Nameserver, PureFTPd, SpamAssassin, ClamAV und viele mehr. Diese Einrichtung umfasst Apache (statt nginx), BIND (statt MyDNS) und Dovecot (statt Courier).

1 Vorbemerkung

In diesem Tutorial werde ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.1.100 und dem Gateway 192.168.1.1 verwenden. Diese Einstellungen können bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls ersetzen. Bevor Sie fortfahren, benötigen Sie eine minimale Installation von Debian 8. Dies könnte ein minimales Debian-Image von Ihrem Hosting-Anbieter sein oder Sie verwenden das Minimal Debian Server Tutorial, um das Basissystem einzurichten.

2 Installieren Sie den SSH-Server (Optional)

Wenn Sie den OpenSSH-Server während der Systeminstallation nicht installiert haben, können Sie dies jetzt tun:

apt-get install ssh openssh-server

Von nun an können Sie einen SSH-Client wie PuTTY verwenden und sich von Ihrem Arbeitsplatz mit Ihrem Debian Jessie-Server verbinden und die verbleibenden Schritte dieses Tutorials befolgen.

3 Installieren Sie einen Shell-Texteditor (Optional)

Wir werden in diesem Tutorial den nano-Texteditor verwenden. Einige Benutzer bevorzugen den klassischen vi-Editor, daher werden wir hier beide Editoren installieren. Das Standardvi-Programm hat ein seltsames Verhalten auf Debian und Ubuntu; um dies zu beheben, installieren wir vim-nox:

apt-get install nano vim-nox

Wenn vi Ihr bevorzugter Editor ist, ersetzen Sie nano in den folgenden Befehlen durch vi, um Dateien zu bearbeiten.

4 Konfigurieren Sie den Hostnamen

Der Hostname Ihres Servers sollte ein Subdomain wie “server1.example.com” sein. Verwenden Sie keinen Domainnamen ohne Subdomain-Teil wie “example.com” als Hostnamen, da dies später Probleme mit Ihrer Mail-Konfiguration verursachen wird. Zuerst sollten Sie den Hostnamen in /etc/hosts überprüfen und ihn bei Bedarf ändern. Die Zeile sollte lauten: “IP-Adresse - Leerzeichen - vollständiger Hostname inkl. Domain - Leerzeichen - Subdomain-Teil”. Für unseren Hostnamen server1.example.com sollte die Datei wie folgt aussehen:

nano /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.1.100   server1.example.com     server1

# Die folgenden Zeilen sind wünschenswert für IPv6-fähige Hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Dann bearbeiten Sie die Datei /etc/hostname:

nano /etc/hostname

Sie sollte nur den Subdomain-Teil enthalten, in unserem Fall:

server1

Starten Sie schließlich den Server neu, um die Änderung anzuwenden:

reboot

Melden Sie sich erneut an und überprüfen Sie, ob der Hostname jetzt korrekt ist, mit diesen Befehlen:

hostname  
hostname -f

Die Ausgabe sollte wie folgt aussehen:

root@server1:/tmp# hostname  
server1  
root@server1:/tmp# hostname -f  
server1.example.com

5 Aktualisieren Sie Ihre Debian-Installation

Stellen Sie zunächst sicher, dass Ihre /etc/apt/sources.list das jessie/updates-Repository enthält (dies stellt sicher, dass Sie immer die neuesten Sicherheitsupdates erhalten), und dass die contrib- und non-free-Repositories aktiviert sind (einige Pakete wie libapache2-mod-fastcgi sind nicht im Hauptrepository enthalten).

nano /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 8.0.0 _Jessie_ - Official amd64 NETINST Binary-1 20150425-12:50]/ jessie main  
  
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free  
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free  
  
deb http://security.debian.org/ jessie/updates main contrib non-free  
deb-src http://security.debian.org/ jessie/updates main contrib non-free

Führen Sie aus:

apt-get update

Um die apt-Paketdatenbank zu aktualisieren

apt-get upgrade

und um die neuesten Updates zu installieren (falls vorhanden).

6 Ändern Sie die Standard-Shell

/bin/sh ist ein Symlink zu /bin/dash, jedoch benötigen wir /bin/bash, nicht /bin/dash. Daher tun wir dies:

dpkg-reconfigure dash

Verwenden Sie dash als die Standard-System-Shell (/bin/sh)? <- nein

Wenn Sie dies nicht tun, schlägt die Installation von ISPConfig fehl.

7 Synchronisieren Sie die Systemuhr

Es ist eine gute Idee, die Systemuhr mit einem NTP ( n etwork t ime p rotokoll) Server über das Internet zu synchronisieren. Führen Sie einfach aus

apt-get install ntp ntpdate

und Ihre Systemzeit wird immer synchronisiert sein.

8 Installieren Sie Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Wir können Postfix, Dovecot, MySQL, rkhunter und binutils mit einem einzigen Befehl installieren:

apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo

Wenn Sie MySQL anstelle von MariaDB bevorzugen, ersetzen Sie die Pakete “mariadb-client mariadb-server” im obigen Befehl durch “mysql-client mysql-server”.

Sie werden nach den folgenden Fragen gefragt:

Allgemeiner Typ der Mailkonfiguration: <– Internet Site
System-Mail-Name: <– server1.example.com
Neues Passwort für den MariaDB “root”-Benutzer: <– yourrootsqlpassword
Wiederholen Sie das Passwort für den MariaDB “root”-Benutzer: <– yourrootsqlpassword

Öffnen Sie als Nächstes die TLS/SSL- und Übermittlungsports in Postfix:

nano /etc/postfix/master.cf

Kommentieren Sie die Abschnitte submission und smtps wie folgt aus und fügen Sie Zeilen hinzu, wo nötig, sodass dieser Abschnitt der master.cf-Datei genau wie der unten aussieht.

[...]
submission inet n - - - - smtpd  
 -o syslog_name=postfix/submission  
 -o smtpd_tls_security_level=encrypt  
 -o smtpd_sasl_auth_enable=yes  
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject  
# -o smtpd_reject_unlisted_recipient=no  
# -o smtpd_client_restrictions=$mua_client_restrictions  
# -o smtpd_helo_restrictions=$mua_helo_restrictions  
# -o smtpd_sender_restrictions=$mua_sender_restrictions  
# -o smtpd_recipient_restrictions=  
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject  
# -o milter_macro_daemon_name=ORIGINATING  
smtps inet n - - - - smtpd  
 -o syslog_name=postfix/smtps  
 -o smtpd_tls_wrappermode=yes  
 -o smtpd_sasl_auth_enable=yes  
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject  
# -o smtpd_reject_unlisted_recipient=no  
# -o smtpd_client_restrictions=$mua_client_restrictions  
# -o smtpd_helo_restrictions=$mua_helo_restrictions  
# -o smtpd_sender_restrictions=$mua_sender_restrictions  
# -o smtpd_recipient_restrictions=  
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject  
# -o milter_macro_daemon_name=ORIGINATING
[...]

Starten Sie Postfix danach neu:

service postfix restart

Wir möchten, dass MariaDB auf allen Schnittstellen hört, nicht nur auf localhost, daher bearbeiten wir /etc/mysql/my.cnf und kommentieren die Zeile bind-address = 127.0.0.1 aus:

nano /etc/mysql/my.cnf
[...]
# Anstelle von skip-networking ist die Standardeinstellung jetzt, nur auf
# localhost zu hören, was kompatibler ist und nicht weniger sicher.
#bind-address           = 127.0.0.1
[...]

Dann starten wir MySQL neu:

service mysql restart

Überprüfen Sie nun, ob das Networking aktiviert ist. Führen Sie aus

netstat -tap | grep mysql

Die Ausgabe sollte wie folgt aussehen:

root@server1:/tmp# netstat -tap | grep mysql  
tcp6 0 0 [::]:mysql [::]:* LISTEN 27371/mysqld

9 Installieren Sie Amavisd-new, SpamAssassin und Clamav

Um amavisd-new, SpamAssassin und ClamAV zu installieren, führen wir aus

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

Die ISPConfig 3-Einrichtung verwendet amavisd, das die SpamAssassin-Filterbibliothek intern lädt, sodass wir SpamAssassin stoppen können, um etwas RAM freizugeben:

service spamassassin stop  
systemctl disable spamassassin
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.