Server Setup · 6 min read · Oct 29, 2025
Der perfekte Server - Debian 8.6 (nginx, BIND, Dovecot, ISPConfig 3.1)
Dieses Tutorial zeigt, wie man einen Debian Jessie Server (mit nginx, BIND, Dovecot) für die Installation von ISPConfig 3.1 vorbereitet und wie man ISPConfig 3.1 installiert. ISPConfig 3 ist ein Webhosting-Kontrollpanel, das es Ihnen ermöglicht, 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 nginx (anstatt Apache), BIND als DNS-Server und Dovecot als IMAP / POP3 Server.
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.1.100 und dem Gateway 192.168.1.1. 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.
2 SSH-Server installieren
Wenn Sie den OpenSSH-Server während der Systeminstallation nicht installiert haben, können Sie dies jetzt tun:
apt-get -y install ssh openssh-serverVon nun an können Sie einen SSH-Client wie PuTTY verwenden und sich von Ihrem Arbeitsplatz mit Ihrem Debian 8 Server verbinden und die verbleibenden Schritte dieses Tutorials befolgen.
3 Einen Shell-Texteditor installieren (Optional)
Ich werde in diesem Tutorial den nano Texteditor verwenden. Einige Benutzer bevorzugen den klassischen vi-Editor, daher werde ich hier beide Editoren installieren. Das Standardprogramm vi hat auf Debian und Ubuntu ein seltsames Verhalten; um dies zu beheben, installieren wir vim-nox:
apt-get -y install nano vim-nox(Sie müssen dies nicht tun, wenn Sie einen anderen Texteditor wie joe verwenden.)
4 Den Hostnamen konfigurieren
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 Mailkonfiguration verursachen wird. Zuerst sollten Sie den Hostnamen in /etc/hosts überprüfen und ihn gegebenenfalls ändern. Die Zeile sollte sein: “IP-Adresse - Leerzeichen - vollständiger Hostname inkl. Domain - Leerzeichen - Subdomain-Teil”. Bearbeiten Sie /etc/hosts. Lassen Sie es so aussehen:
nano /etc/hosts127.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-allroutersDann bearbeiten Sie die Datei /etc/hostname:
nano /etc/hostnameSie sollte nur den Subdomain-Teil enthalten, in unserem Fall:
server1Starten Sie schließlich den Server neu, um die Änderung anzuwenden:
rebootMelden Sie sich erneut an und überprüfen Sie, ob der Hostname jetzt mit diesen Befehlen korrekt ist:
hostname
hostname -fDie Ausgabe sollte so aussehen:
root@server1:/tmp# hostname
server1
root@server1:/tmp# hostname -f
server1.example.com5 Aktualisieren Sie Ihre Debian-Installation
Stellen Sie zuerst sicher, dass Ihre /etc/apt/sources.list das wheezy-updates-Repository enthält (dies stellt sicher, dass Sie immer die neuesten Updates für den ClamAV-Virenscanner erhalten - dieses Projekt veröffentlicht sehr oft neue Versionen, und manchmal hören alte Versionen auf zu funktionieren), 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.listdeb 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
# Debian Backports - Erforderlich für Letsencrypt
deb http://ftp.debian.org/debian jessie-backports mainWICHTIG: Fügen Sie das Debian Backports-Repository wie oben gezeigt hinzu.
Führen Sie
apt-get updateaus, um die apt-Paketdatenbank zu aktualisieren und
apt-get upgradeum die neuesten Updates zu installieren (falls vorhanden).
6 Ändern Sie die Standard-Shell
/bin/sh ist ein Symlink zu /bin/dash, wir benötigen jedoch /bin/bash, nicht /bin/dash. Daher tun wir dies:
dpkg-reconfigure dashVerwenden 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 ntpund Ihre Systemzeit wird immer synchronisiert sein.
8 Installieren Sie Postfix, Dovecot, MySQL, 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 sudoSie 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_installationWir 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 Übertragungsports in Postfix:
nano /etc/postfix/master.cfKommentieren Sie die Abschnitte submission und smtps wie folgt aus (lassen Sie -o milter_macro_daemon_name=ORIGINATING, da wir es nicht benötigen):
[...]
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 restartWir möchten, dass MySQL 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 hört die Standardkonfiguration jetzt nur auf
# localhost, 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 mysqlDie Ausgabe sollte so aussehen:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 218123/mysqld
root@server1:~#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 postgreyDie 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 spamassassin9.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 updateInstallieren Sie die Programme, die für den Build-Prozess erforderlich sind
apt-get install build-essentialund 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 luarocksluarocks install lpcFügen Sie einen Shell-Benutzer für Metronome hinzu.
adduser --no-create-home --disabled-login --gecos 'Metronome' metronomeLaden 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 installMetronome wurde nun in /opt/metronome installiert.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.