Server Setup · 7 min read · Sep 25, 2025

Der perfekte Server - Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD und ISPConfig 3)

Dieses Tutorial zeigt die Schritte zur Installation eines Ubuntu 15.10 (Wiley Werewolf) Servers mit Nginx, PHP, MariaDB, Postfix, pure-ftpd, BIND, Dovecot und ISPConfig 3. ISPConfig 3 ist ein Webhosting-Kontrollpanel, das es Ihnen ermöglicht, die installierten Dienste über einen Webbrowser zu konfigurieren. Dieses Setup bietet einen vollständigen Hosting-Server mit Web-, E-Mail- (inkl. Spam- und Antivirusfilter), Datenbank-, FTP- und DNS-Diensten.

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 für die Netzwerkkonfiguration verwenden. 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 erklärt.

Die Schritte in diesem Tutorial müssen als Root-Benutzer ausgeführt werden, daher werde ich “sudo” nicht vor die Befehle setzen. Melden Sie sich entweder als Root-Benutzer auf Ihrem Server an, bevor Sie fortfahren, oder führen Sie aus:

sudo su

um Root zu werden, wenn Sie als ein anderer Benutzer in der Shell angemeldet sind.

Die Befehle zum Bearbeiten von Dateien verwenden den Editor “nano”; Sie können ihn durch einen Editor Ihrer Wahl ersetzen. Nano ist ein einfach zu bedienender Dateieditor für die Shell. Wenn Sie nano verwenden möchten und es noch nicht installiert haben, führen Sie aus:

apt-get install nano

2. 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-Repositorys aktiviert sind. Es sollte 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, wie man auf  
# neuere Versionen der Distribution aktualisiert.  
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 in 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 in  
## 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, wird jedoch von Canonical und den  
## jeweiligen Anbietern als Dienst für Ubuntu-Benutzer angeboten.  
# deb http://archive.canonical.com/ubuntu wily partner  
# deb-src http://archive.canonical.com/ubuntu wily partner                                                 

Führen Sie dann aus:

apt-get update

Um die apt-Paketdatenbank zu aktualisieren und dann:

apt-get upgrade

um die neuesten Updates zu installieren (falls vorhanden). Wenn Sie sehen, dass ein neuer Kernel als Teil der Updates installiert wird, sollten Sie das System danach neu starten:

reboot

3. Ä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.

4. Deaktivieren Sie AppArmor

AppArmor ist eine Sicherheits-Erweiterung (ähnlich wie SELinux), die erweiterte Sicherheit bieten soll. Es ist ab Version 13.10 standardmäßig nicht installiert. Wir werden überprüfen, ob es installiert ist. 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 mit der Fehlersuche verbracht haben, weil ein Dienst nicht wie erwartet funktionierte, und dann stellen Sie fest, dass alles in Ordnung war, nur AppArmor das Problem verursachte). Daher deaktiviere ich es (dies ist ein Muss, wenn Sie später ISPConfig installieren möchten).

Wir können es so deaktivieren:

service apparmor stop  
update-rc.d -f apparmor remove  
apt-get remove apparmor apparmor-utils

5. 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.

6. Installieren Sie Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, Binutils

Wir können 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 sudo

MariaDB ist ein Fork des MySQL-Datenbankservers, entwickelt von dem ursprünglichen MySQL-Entwickler Monty Widenius. Laut Tests, die im Internet zu finden sind, ist MariaDB schneller als MySQL und die Entwicklung schreitet schneller voran, daher haben die meisten Linux-Distributionen MySQL durch MariaDB als standardmäßigen “MySQL-ähnlichen” Datenbankserver ersetzt. Falls Sie MySQL gegenüber MariaDB bevorzugen, ersetzen Sie “mariadb-client mariadb-server” im obigen Befehl durch “mysql-client mysql-server”.

Sie werden nach den folgenden Fragen gefragt:

Allgemeiner Typ der Mail-Konfiguration: <-- Internet Site  
System-Mail-Name: <-- server1.example.com

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

nano /etc/postfix/master.cf

Kommentieren Sie die Abschnitte für die Übermittlung 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  
[...]  

Starten Sie Postfix danach neu:

service postfix restart

Wir möchten, dass MariaDB/MySQL auf allen Schnittstellen hört, nicht nur auf localhost. Daher bearbeiten wir /etc/mysql/mariadb.conf.d/mysqld.cnf (für MariaDB) oder /etc/mysql/my.cnf (für MySQL) und kommentieren die Zeile bind-address = 127.0.0.1 aus:

MariaDB

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  
[...]  

Dann starten wir MariaDB neu:

service mysql restart

Der systemd-Dienstname für MariaDB und MySQL ist “mysql”, daher ist der Neustartbefehl für beide Datenbankserver derselbe.

Jetzt setzen wir ein Root-Passwort in MariaDB. Führen Sie aus:

mysql_secure_installation

Sie 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: <-- Passwort wiederholen  
Anonyme Benutzer entfernen? [Y/n] <-- y  
Root-Login aus der Ferne verbieten? [Y/n] <-- y  
Privilegientabellen jetzt neu laden? [Y/n] <-- y

Führen Sie dann diesen Befehl aus, um das UNIX-Auth-Plugin für den Root-Benutzer zu deaktivieren:

echo "update user set plugin='' where User='root';flush privileges;" | mysql --defaults-file=/etc/mysql/debian.cnf mysql

Um die passwortbasierte Authentifizierung von PHPMyAdmin zu ermöglichen.

MySQL

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

Der systemd-Dienstname für MariaDB und MySQL ist “mysql”, daher ist der Neustartbefehl für beide Datenbankserver derselbe.

Für MySQL und MariaDB:

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

netstat -tap | grep mysql

Die Ausgabe sollte so aussehen:

root@server1:~# netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      8032/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-perl

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

service spamassassin stop  
update-rc.d -f spamassassin remove

Um die ClamAV-Antivirus-Signaturen zu aktualisieren und den Clamd-Dienst zu starten. Der Aktualisierungsprozess kann einige Zeit in Anspruch nehmen, unterbrechen Sie ihn nicht.

freshclam  
service clamav-daemon start
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.