Server Setup · 6 min read · Oct 02, 2025

Der perfekte Server - Ubuntu 14.10 mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig

Der perfekte Server - Ubuntu 14.10 mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig

Version 1.0
Autor: Falko Timme, aktualisiert von Srijan Kishore
Folgen Sie howtoforge auf Twitter
Zuletzt bearbeitet am 31. Okt. 2014

Dieses Tutorial zeigt, wie man einen Ubuntu 14.10 (Utopic Unicorn) Server (mit Apache2, BIND, Dovecot) für die Installation von ISPConfig 3 einrichtet und wie man ISPConfig 3 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. 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 Referenzhandbuch 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.0.100 und dem Gateway 192.168.0.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 14.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 so aussehen:

nano /etc/apt/sources.list
# 

# deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Release amd64 (20141022.2)]/ utopic main restricted

#deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Release amd64 (20141022.2)]/ utopic main restricted

# Siehe http://help.ubuntu.com/community/UpgradeNotes, wie man auf
# neuere Versionen der Distribution aktualisiert.
deb http://de.archive.ubuntu.com/ubuntu/ utopic main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ utopic main restricted

## Wichtige Fehlerbehebungsupdates, die nach der endgültigen Veröffentlichung der
## Distribution erstellt wurden.
deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ utopic-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/ utopic universe
deb-src http://de.archive.ubuntu.com/ubuntu/ utopic universe
deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates universe

## N.B. Software aus diesem Repository wird VOLLSTÄNDIG VON dem Ubuntu 
## Team UNTERSTÜTZT und ist möglicherweise nicht unter einer freien Lizenz. Bitte stellen Sie sicher, dass Sie
## das Recht haben, die Software zu verwenden. 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/ utopic multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ utopic multiverse
deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ utopic-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/ utopic-backports main restricted universe multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ utopic-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu utopic-security main restricted
deb-src http://security.ubuntu.com/ubuntu utopic-security main restricted
deb http://security.ubuntu.com/ubuntu utopic-security universe
deb-src http://security.ubuntu.com/ubuntu utopic-security universe
deb http://security.ubuntu.com/ubuntu utopic-security multiverse
deb-src http://security.ubuntu.com/ubuntu utopic-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 utopic partner
# deb-src http://archive.canonical.com/ubuntu utopic partner

## Kommentieren Sie die folgenden beiden Zeilen aus, um Software aus Ubuntus
## 'Extras'-Repository hinzuzufügen.
## Diese Software ist kein Teil von Ubuntu, wird jedoch von Drittanbietern
## angeboten, die ihre neueste Software versenden möchten.
# deb http://extras.ubuntu.com/ubuntu utopic main
# deb-src http://extras.ubuntu.com/ubuntu utopic main

Führen Sie dann aus

apt-get update

um die apt-Paketdatenbank zu aktualisieren und

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, wir benötigen jedoch /bin/bash, nicht /bin/dash. Daher machen wir Folgendes:

dpkg-reconfigure dash

Verwenden Sie dash als 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 Sicherheitserweiterung (ä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 mit 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 (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-utils

5. Synchronisieren Sie die Systemuhr

Es ist eine gute Idee, die Systemuhr mit einem NTP ( n etwork t ime p rotocol) 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, MySQL, phpMyAdmin, rkhunter, binutils

Um Postfix zu installieren, müssen wir sendmail stoppen und entfernen

service sendmail stop; update-rc.d -f sendmail remove

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

Sie werden nach folgenden Fragen gefragt:

Neues Passwort für den MySQL “root” Benutzer: <– yourrootsqlpassword
Wiederholen Sie das Passwort für den MySQL “root” Benutzer: <– yourrootsqlpassword
Ein selbstsigniertes SSL-Zertifikat erstellen?: <– Ja
Hostname: <– server1.example.com
Nur lokal: <– OK
Allgemeine Art der Mailkonfiguration: <– 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 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 ist der Standard 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 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-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   
update-rc.d -f spamassassin remove

Um clamav zu verwenden, nutzen Sie

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

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.