Server Setup · 6 min read · Oct 30, 2025

Der perfekte Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)

Dieses Tutorial zeigt, wie man einen Debian Jessie Server (mit Apache2, BIND, Dovecot) für die Installation von ISPConfig 3.1 vorbereitet und wie man ISPConfig 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. Dieses Setup umfasst Apache (statt nginx), BIND 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 anpassen. 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.

Was ist neu in dieser Version des Tutorials?

  • Unterstützung für die neuen ISPConfig 3.1 Funktionen.
  • Unterstützung für Let’s Encrypt SSL-Zertifikate.
  • Unterstützung für HHVM (HipHop Virtual Machine) zur Ausführung von PHP-Skripten.
  • Unterstützung für XMPP (Metronome).
  • Unterstützung für E-Mail-Greylisting mit Postgrey.
  • UFW als Firewall zur Ersetzung von Bastille.
  • RoundCube Webmail anstelle von Squirrelmail.

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 unter 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

Schließlich starten Sie den Server neu, um die Änderung anzuwenden:

reboot

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

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 zuerst 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 ISPConfig-Installation 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

und Ihre Systemzeit wird immer synchronisiert sein.

8 Installieren Sie Postfix, Dovecot, MySQL, rkhunter und 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-Mailname: <– server1.example.com
Neues Passwort für den MariaDB “root”-Benutzer: <– yourrootsqlpassword
Wiederholen Sie das Passwort für den MariaDB “root”-Benutzer: <– yourrootsqlpassword

Um die MariaDB / MySQL-Installation zu sichern und die Testdatenbank zu deaktivieren, führen Sie diesen Befehl aus:

mysql_secure_installation

Wir müssen das MySQL-Root-Passwort nicht ändern, da wir gerade während der Installation ein neues festgelegt haben. Beantworten Sie die Fragen wie folgt:

Ändern Sie das Root-Passwort? [Y/n] <-- n  
Anonyme Benutzer entfernen? [Y/n] <-- y  
Root-Login aus der Ferne verbieten? [Y/n] <-- y  
Testdatenbank und Zugriff darauf entfernen? [Y/n] <-- y  
Privilegientabellen jetzt neu laden? [Y/n] <-- y

Ö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 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 anschließend 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:/# netstat -tap | grep mysql  
tcp6 0 0 [::]:mysql [::]:* LISTEN 16806/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 postgrey

Das ISPConfig 3 Setup 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

9.1 Installieren Sie den Metronome XMPP-Server (optional)

Dieser Schritt installiert den Metronome XMPP-Server, der einen Chat-Server bereitstellt, der mit dem XMPP-Protokoll kompatibel ist. Dieser Schritt ist optional, wenn Sie keinen Chat-Server benötigen, können Sie diesen Schritt überspringen. Keine anderen ISPConfig-Funktionen hängen von dieser Software ab.

Fügen Sie das Prosody-Paket-Repository in Debian hinzu.

echo "deb http://packages.prosody.im/debian jessie main" > /etc/apt/sources.list.d/metronome.list  
wget http://prosody.im/files/prosody-debian-packages.key -O - | sudo apt-key add -

Aktualisieren Sie die Paketliste:

apt-get update

und installieren Sie die Pakete mit apt.

apt-get install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocks
luarocks install lpc

Fügen Sie einen Shell-Benutzer für Metronome hinzu.

adduser --no-create-home --disabled-login --gecos 'Metronome' metronome

Laden Sie Metronome in das Verzeichnis /opt herunter und kompilieren Sie es.

cd /opt; git clone https://github.com/maranda/metronome.git metronome  
cd ./metronome; ./configure --ostype=debian --prefix=/usr  
make  
make install

Metronome wurde jetzt in /opt/metronome installiert.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.