Server Setup · 7 min read · Sep 25, 2025
Der perfekte Server - Ubuntu 15.10 (Wily Werewolf) mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig 3
Dieses Tutorial zeigt die Installation eines Ubuntu 15.10 (Wily Werewolf) Webhosting-Servers mit Apache2, Postfix, Dovecot, Bind und PureFTPD, um ihn für die Installation von ISPConfig 3 vorzubereiten. Das resultierende System wird einen Web-, Mail-, Mailinglisten-, DNS- und FTP-Server bereitstellen.
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. Dieses Setup umfasst die Installation von Apache (anstatt Nginx), BIND (anstatt MyDNS) und Dovecot (anstatt Courier).
ISPConfig 3 Handbuch
Um zu lernen, wie man ISPConfig 3 verwendet, empfehle ich dringend, das ISPConfig 3 Handbuch herunterzuladen.
Auf mehr als 300 Seiten behandelt es das Konzept hinter ISPConfig (Admin, Reseller, Kunden), erklärt, wie man ISPConfig 3 installiert und aktualisiert, enthält ein Referenzdokument für alle Formulare und Formularfelder in ISPConfig zusammen mit Beispielen für gültige Eingaben und bietet Tutorials für die häufigsten Aufgaben in ISPConfig 3. Es beschreibt auch, wie man seinen Server sicherer macht und enthält am Ende einen Abschnitt zur Fehlersuche.
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 grundlegende Minimalinstallation von Ubuntu 15.10, wie im Tutorial beschrieben.
2. Bearbeiten Sie /etc/apt/sources.list und aktualisieren Sie Ihre Linux-Installation
Bearbeiten Sie /etc/apt/sources.list. Kommentieren Sie die Installations-CD aus oder entfernen Sie sie aus der Datei und stellen Sie sicher, dass die Universe- und Multiverse-Repositories aktiviert sind. Es sollte danach so aussehen:
nano /etc/apt/sources.list#
# deb cdrom:[Ubuntu-Server 15.10 _Wily Werewolf_ - Release amd64 (20151021)]/ wily main restricted
#deb cdrom:[Ubuntu-Server 15.10 _Wily Werewolf_ - Release amd64 (20151021)]/ wily main restricted
# Siehe http://help.ubuntu.com/community/UpgradeNotes für Informationen zum Upgrade auf
# neuere Versionen der Distribution.
deb http://de.archive.ubuntu.com/ubuntu/ wily main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ wily main restricted
## Wichtige Fehlerbehebungsupdates, die nach der endgültigen Veröffentlichung der
## Distribution erstellt wurden.
deb http://de.archive.ubuntu.com/ubuntu/ wily-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ wily-updates main restricted
## N.B. Software aus diesem Repository wird VOLLSTÄNDIG VON dem Ubuntu
## Team UNTERSTÜTZT. Bitte beachten Sie auch, dass Software im Universe KEINE
## Überprüfung oder Updates vom Ubuntu-Sicherheitsteam erhält.
deb http://de.archive.ubuntu.com/ubuntu/ wily universe
deb-src http://de.archive.ubuntu.com/ubuntu/ wily universe
deb http://de.archive.ubuntu.com/ubuntu/ wily-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ wily-updates universe
## N.B. Software aus diesem Repository wird VOLLSTÄNDIG VON dem Ubuntu
## Team UNTERSTÜTZT und könnte nicht unter einer freien Lizenz stehen. Bitte überzeugen Sie sich selbst von
## Ihren Rechten zur Nutzung der Software. Bitte beachten Sie auch, dass Software im
## Multiverse KEINE Überprüfung oder Updates vom Ubuntu
## Sicherheitsteam erhält.
deb http://de.archive.ubuntu.com/ubuntu/ wily multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ wily multiverse
deb http://de.archive.ubuntu.com/ubuntu/ wily-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ wily-updates multiverse
## N.B. Software aus diesem Repository wurde möglicherweise nicht so
## umfassend getestet wie die in der Hauptversion enthaltene, obwohl sie
## neuere Versionen einiger Anwendungen enthält, die nützliche Funktionen bieten können.
## Bitte beachten Sie auch, dass Software in Backports KEINE Überprüfung
## oder Updates vom Ubuntu-Sicherheitsteam erhält.
deb http://de.archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu wily-security main restricted
deb-src http://security.ubuntu.com/ubuntu wily-security main restricted
deb http://security.ubuntu.com/ubuntu wily-security universe
deb-src http://security.ubuntu.com/ubuntu wily-security universe
deb http://security.ubuntu.com/ubuntu wily-security multiverse
deb-src http://security.ubuntu.com/ubuntu wily-security multiverse
## Kommentieren Sie die folgenden beiden Zeilen aus, um Software aus Canonicals
## 'Partner'-Repository hinzuzufügen.
## Diese Software ist kein Teil von Ubuntu, sondern wird von Canonical und den
## jeweiligen Anbietern als Dienst für Ubuntu-Nutzer angeboten.
# deb http://archive.canonical.com/ubuntu wily partner
# deb-src http://archive.canonical.com/ubuntu wily partnerFühren Sie dann aus
apt-get updateum die apt-Paketdatenbank zu aktualisieren und
apt-get upgradeum die neuesten Updates zu installieren (sofern vorhanden). Wenn Sie sehen, dass ein neuer Kernel als Teil der Updates installiert wird, sollten Sie das System danach neu starten:
reboot3. Ä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 Folgendes:
dpkg-reconfigure dashVerwenden Sie dash als die Standard-System-Shell (/bin/sh)? <– Nein
Wenn Sie dies nicht tun, wird die ISPConfig-Installation fehlschlagen.
4. Deaktivieren Sie AppArmor
AppArmor ist eine Sicherheits-erweiterung (ähnlich wie SELinux), die erweiterte Sicherheit bieten soll. Meiner Meinung nach benötigen Sie es nicht, um ein sicheres System zu konfigurieren, und es verursacht normalerweise mehr Probleme als Vorteile (denken Sie daran, nachdem Sie eine Woche lang Fehlersuche betrieben haben, weil ein Dienst nicht wie erwartet funktionierte, und dann herausfinden, dass alles in Ordnung war, nur AppArmor das Problem verursachte). Daher deaktiviere ich es (das ist ein Muss, wenn Sie ISPConfig später installieren möchten).
Wir können es wie folgt deaktivieren:
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils5. 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, wenn Sie einen physischen Server betreiben. Falls Sie einen virtuellen Server betreiben, sollten Sie diesen Schritt überspringen. Führen Sie einfach aus
apt-get install ntp ntpdateund Ihre Systemzeit wird immer synchronisiert sein.
6. Installieren Sie Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, binutils
Um Postfix zu installieren, müssen wir sicherstellen, dass sendmail nicht installiert und aktiv ist. Um sendmail zu stoppen und zu entfernen, führen Sie diesen Befehl aus:
service sendmail stop; update-rc.d -f sendmail removeDie Fehlermeldung:
Failed to stop sendmail.service: Unit sendmail.service not loaded.ist in Ordnung, es bedeutet nur, dass sendmail nicht installiert war, also gab es nichts zu entfernen.
Jetzt können wir Postfix, Dovecot, MariaDB (als MySQL-Ersatz), 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 sudoSie werden nach den folgenden Fragen gefragt:
Allgemeiner Typ der Mailkonfiguration: <-- Internet Site
System-Mail-Name: <-- server1.example.com Es ist wichtig, dass Sie einen Subdomainnamen als “System-Mail-Name” verwenden, wie server1.example.com oder server1.ihredomain.com und nicht eine Domain, die Sie später als E-Mail-Domain verwenden möchten (z.B. ihredomain.tld).
Öffnen Sie als Nächstes die TLS/SSL- und Übertragungsports in Postfix:
nano /etc/postfix/master.cfKommentieren Sie die Abschnitte für die Übertragung und smtps wie folgt aus - fügen Sie die Zeile -o smtpd_client_restrictions=permit_sasl_authenticated,reject zu beiden Abschnitten hinzu und lassen Sie alles danach auskommentiert:
[...]
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=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=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[...] HINWEIS: Die Leerzeichen vor den “-o …. “-Zeilen sind wichtig!
Starten Sie Postfix danach 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/mariadb.conf.d/mysqld.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
[...] Jetzt setzen wir ein Root-Passwort in MariaDB. Führen Sie aus:
mysql_secure_installationSie werden nach diesen Fragen gefragt:
Geben Sie das aktuelle Passwort für root ein (drücken Sie Enter für keines): <-- drücken Sie Enter
Root-Passwort setzen? [Y/n] <-- y
Neues Passwort: <-- Geben Sie hier das neue MariaDB-Root-Passwort ein
Neues Passwort erneut eingeben: <-- Wiederholen Sie das Passwort
Anonyme Benutzer entfernen? [Y/n] <-- y
Root-Login aus der Ferne verbieten? [Y/n] <-- y
Privilegientabellen jetzt neu laden? [Y/n] <-- yDann starten wir MariaDB neu:
service mysql restartÜberprüfen Sie jetzt, 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 24603/mysqld
root@server1:~# 7. 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-perlDas 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
update-rc.d -f spamassassin removeBearbeiten Sie die Konfigurationsdatei von clamd:
nano /etc/clamav/clamd.confund ändern Sie die Zeile:
AllowSupplementaryGroups falsein:
AllowSupplementaryGroups true Und speichern Sie die Datei. Um clamav zu starten, verwenden Sie
freshclam
service clamav-daemon startErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.