Server Setup · 7 min read · Dec 18, 2025
Der perfekte Server - Debian 9 (Stretch) mit Apache, BIND, Dovecot, PureFTPD und ISPConfig 3.1 - Seite 2

10 Installieren Sie Apache2, PHP, FCGI, suExec, Pear, phpMyAdmin und mcrypt
Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear und mcrypt können wie folgt installiert werden:
apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap phpmyadmin php7.0-cli php7.0-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear php7.0-mcrypt mcrypt imagemagick libruby libapache2-mod-python php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl memcached php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring memcached libapache2-mod-passenger php7.0-soapSie werden die folgenden Fragen sehen:
Webserver automatisch neu konfigurieren: <- apache2
Datenbank für phpmyadmin mit dbconfig-common konfigurieren? <- ja
Geben Sie das Passwort der phpmyadmin-Anwendung ein? <- Drücken Sie einfach die Eingabetaste Führen Sie dann den folgenden Befehl aus, um die Apache-Module suexec, rewrite, ssl, actions und include (plus dav, dav_fs und auth_digest, wenn Sie WebDAV verwenden möchten) zu aktivieren:
a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest cgi headersUm sicherzustellen, dass der Server nicht durch die HTTPOXY-Sicherheitsanfälligkeit angegriffen werden kann, werden wir den HTTP_PROXY-Header in Apache global deaktivieren, indem wir die Konfigurationsdatei /etc/apache2/conf-available/httpoxy.conf hinzufügen.
nano /etc/apache2/conf-available/httpoxy.confFügen Sie den folgenden Inhalt in die Datei ein:
RequestHeader unset Proxy early
Und aktivieren Sie das Modul, indem Sie Folgendes ausführen:
a2enconf httpoxy
service apache2 restart10.1 Installieren Sie HHVM (HipHop Virtual Machine)
Es sind noch keine HHVM-Pakete für Debian 9 verfügbar. HHVM ist ein optionaler PHP-Modus, sodass Ihr Server auch ohne ihn funktioniert, Sie können jedoch den PHP-Modus HHVM für Websites nicht verwenden.
10.2 SuPHP
SuPHP ist für Debian 9 nicht mehr verfügbar, die SuPHP-Funktionen sind veraltet und werden auch aus ISPConfig entfernt. Verwenden Sie die verfügbaren PHP-Modi PHP-FPM oder PHP-FCGI zusammen mit suexec anstelle von SuPHP.
11 Installieren Sie Let’s Encrypt
ISPConfig 3.1 unterstützt die kostenlose SSL-Zertifizierungsstelle Let’s Encrypt. Die Let’s Encrypt-Funktion ermöglicht es Ihnen, kostenlose SSL-Zertifikate für Ihre Website direkt aus ISPConfig zu erstellen.
Jetzt fügen wir die Unterstützung für Let’s Encrypt hinzu.
cd /usr/local/bin
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto --install-onlyEs sind keine weiteren Schritte erforderlich, als LE zu installieren. Die SSL-Zertifikate für die Website werden von ISPConfig erstellt, wenn Sie die Websites hinzufügen.
12 Installieren Sie PHP-FPM
Um PHP-FPM mit Apache zu verwenden, benötigen wir das Apache-Modul mod_proxy_fcgi, das standardmäßig installiert ist und nur aktiviert werden muss. Wir können PHP-FPM wie folgt installieren:
apt-get -y install php7.0-fpmStellen Sie sicher, dass Sie die Module aktivieren und Apache neu starten:
a2enmod actions proxy_fcgi alias
service apache2 restart12.2 Installieren Sie PHP Opcode Cache (optional)
Opcache ist ein kostenloser PHP-Opcode-Cache zum Cachen und Optimieren von PHP-Zwischencode. APCu ist ein Kompatibilitätsmodul, das APC-kompatible Funktionen für Opcache bereitstellt, das von vielen CMS-Caching-Systemen verwendet wird. Es wird empfohlen, diese PHP-Erweiterungen zu installieren, um Ihre PHP-Seite zu beschleunigen.
APCu kann wie folgt installiert werden:
apt-get -y install php7.0-opcache php-apcuStarten Sie jetzt Apache neu:
service apache2 restart13 Installieren Sie Mailman
ISPConfig ermöglicht es Ihnen, Mailman-Mailinglisten zu verwalten (zu erstellen/zu ändern/zu löschen). Wenn Sie diese Funktion nutzen möchten, installieren Sie Mailman wie folgt:
apt-get install mailmanWählen Sie mindestens eine Sprache, z.B.:
Sprachen zur Unterstützung: <-- en (Englisch)
Fehlende Site-Liste <-- OkBevor wir Mailman starten können, muss eine erste Mailingliste namens mailman erstellt werden:
newlist mailmanroot@server1:~# newlist mailman
Geben Sie die E-Mail-Adresse der Person ein, die die Liste verwaltet: <-- admin E-Mail-Adresse, z.B. [email protected]
Initiales Mailman-Passwort: <-- admin Passwort für die Mailman-Liste
Um die Erstellung Ihrer Mailingliste abzuschließen, müssen Sie Ihre /etc/aliases (oder
equivalente) Datei bearbeiten, indem Sie die folgenden Zeilen hinzufügen und möglicherweise das
`newaliases'-Programm ausführen:
## mailman Mailingliste
mailman: |/var/lib/mailman/mail/mailman post mailman
mailman-admin: |/var/lib/mailman/mail/mailman admin mailman
mailman-bounces: |/var/lib/mailman/mail/mailman bounces mailman
mailman-confirm: |/var/lib/mailman/mail/mailman confirm mailman
mailman-join: |/var/lib/mailman/mail/mailman join mailman
mailman-leave: |/var/lib/mailman/mail/mailman leave mailman
mailman-owner: |/var/lib/mailman/mail/mailman owner mailman
mailman-request: |/var/lib/mailman/mail/mailman request mailman
mailman-subscribe: |/var/lib/mailman/mail/mailman subscribe mailman
mailman-unsubscribe: |/var/lib/mailman/mail/mailman unsubscribe mailman
Drücken Sie die Eingabetaste, um den Mailman-Besitzer zu benachrichtigen... <-- EINGABETASTE
root@server1:~#Öffnen Sie danach /etc/aliases…
nano /etc/aliases… und fügen Sie die folgenden Zeilen hinzu:
[...]
## mailman Mailingliste
mailman: |/var/lib/mailman/mail/mailman post mailman
mailman-admin: |/var/lib/mailman/mail/mailman admin mailman
mailman-bounces: |/var/lib/mailman/mail/mailman bounces mailman
mailman-confirm: |/var/lib/mailman/mail/mailman confirm mailman
mailman-join: |/var/lib/mailman/mail/mailman join mailman
mailman-leave: |/var/lib/mailman/mail/mailman leave mailman
mailman-owner: |/var/lib/mailman/mail/mailman owner mailman
mailman-request: |/var/lib/mailman/mail/mailman request mailman
mailman-subscribe: |/var/lib/mailman/mail/mailman subscribe mailman
mailman-unsubscribe: |/var/lib/mailman/mail/mailman unsubscribe mailmanFühren Sie aus:
newaliasesund starten Sie Postfix neu:
service postfix restartSchließlich müssen wir die Mailman-Apache-Konfiguration aktivieren:
ln -s /etc/mailman/apache.conf /etc/apache2/conf-enabled/mailman.confDies definiert das Alias /cgi-bin/mailman/ für alle Apache-VHosts, was bedeutet, dass Sie auf die Mailman-Admin-Oberfläche für eine Liste unter http://server1.example.com/cgi-bin/mailman/admin/ zugreifen können, und die Webseite für Benutzer einer Mailingliste finden Sie unter http://server1.example.com/cgi-bin/mailman/listinfo/.
Unter http://server1.example.com/pipermail finden Sie die Mailinglistenarchive.
Starten Sie danach Apache neu:
service apache2 restartStarten Sie dann den Mailman-Daemon:
service mailman start14 Installieren Sie PureFTPd und Quota
PureFTPd und Quota können mit dem folgenden Befehl installiert werden:
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatoolErstellen Sie die dhparam-Datei für pure-ftpd:
openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048Bearbeiten Sie die Datei /etc/default/pure-ftpd-common…
nano /etc/default/pure-ftpd-common… und stellen Sie sicher, dass der Startmodus auf standalone gesetzt ist und VIRTUALCHROOT=true gesetzt ist:
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...] Jetzt konfigurieren wir PureFTPd, um FTP- und TLS-Sitzungen zuzulassen. FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und alle Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.
Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, führen Sie aus:
echo 1 > /etc/pure-ftpd/conf/TLSUm TLS zu verwenden, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, daher erstelle ich zuerst dieses Verzeichnis:
mkdir -p /etc/ssl/private/Anschließend können wir das SSL-Zertifikat wie folgt generieren:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pemLandesname (2-Buchstaben-Code) [AU]: <-- Geben Sie Ihren Landesnamen ein (z.B. "DE").
Bundesland oder Provinzname (vollständiger Name) [Some-State]: <-- Geben Sie Ihren Bundesland- oder Provinznamen ein.
Ortsname (z.B. Stadt) []: <-- Geben Sie Ihre Stadt ein.
Organisationsname (z.B. Unternehmen) [Internet Widgits Pty Ltd]: <-- Geben Sie Ihren Organisationsnamen ein (z.B. den Namen Ihres Unternehmens).
Organisatorische Einheit (z.B. Abteilung) []: <-- Geben Sie den Namen Ihrer organisatorischen Einheit ein (z.B. "IT-Abteilung").
Allgemeiner Name (z.B. IHR Name) []: <-- Geben Sie den vollqualifizierten Domainnamen des Systems ein (z.B. "server1.example.com").
E-Mail-Adresse []: <-- Geben Sie Ihre E-Mail-Adresse ein.Ändern Sie die Berechtigungen des SSL-Zertifikats:
chmod 600 /etc/ssl/private/pure-ftpd.pemStarten Sie dann PureFTPd neu:
service pure-ftpd-mysql restartBearbeiten Sie /etc/fstab. Meine sieht so aus (ich habe usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 zur Partition mit dem Einhängepunkt / hinzugefügt):
nano /etc/fstab# /etc/fstab: statische Dateisysteminformationen.
#
# Verwenden Sie 'blkid', um die universell eindeutige Kennung für ein
# Gerät anzuzeigen; dies kann mit UUID= als robustere Methode verwendet werden, um Geräte zu benennen,
# die auch funktionieren, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5).
#
#
# / war auf /dev/sda1 während der Installation
UUID=f539c5cb-624f-4c27-a149-1446a251a453 / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
# Swap war auf /dev/sda5 während der Installation
UUID=8d3194e7-edb5-4492-937d-d066b4994baf none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 Um Quota zu aktivieren, führen Sie diese Befehle aus:
mount -o remount /quotacheck -avugm
quotaon -avug15 Installieren Sie den BIND DNS-Server
BIND kann wie folgt installiert werden:
apt-get install bind9 dnsutilsWenn Ihr Server eine virtuelle Maschine ist, wird dringend empfohlen, den haveged-Daemon zu installieren, um eine höhere Entropie für die DNSSEC-Signierung zu erhalten. Sie können haveged auch auf nicht-virtuellen Servern installieren, es sollte nicht schaden.
apt-get install havegedEine Erklärung zu diesem Thema finden Sie hier.
16 Installieren Sie Webalizer und AWStats
Webalizer und AWStats können wie folgt installiert werden:
apt-get install webalizer awstats geoip-database libclass-dbi-mysql-perl libtimedate-perlÖffnen Sie danach /etc/cron.d/awstats…
nano /etc/cron.d/awstats… und kommentieren Sie alles in dieser Datei aus:
#MAILTO=root
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh
# Generieren Sie statische Berichte:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh17 Installieren Sie Jailkit
Jailkit wird nur benötigt, wenn Sie SSH-Benutzer chrooten möchten. Es kann wie folgt installiert werden:
apt-get install build-essential autoconf automake libtool flex bison debhelper binutilscd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz
tar xvfz jailkit-2.20.tar.gz
cd jailkit-2.20
echo 5 > debian/compat
./debian/rules binarySie können jetzt das Jailkit.deb-Paket wie folgt installieren:
cd ..
dpkg -i jailkit_2.20-1_*.deb
rm -rf jailkit-2.20*18 Installieren Sie fail2ban und die UFW-Firewall
Dies ist optional, aber empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen:
apt-get install fail2banUm fail2ban zu ermöglichen, PureFTPd und Dovecot zu überwachen, erstellen Sie die Datei /etc/fail2ban/jail.local:
nano /etc/fail2ban/jail.localUnd fügen Sie die folgende Konfiguration hinzu:
[pure-ftpd]
enabled = true
port = ftp
filter = pure-ftpd
logpath = /var/log/syslog
maxretry = 3
[dovecot]
enabled = true
filter = dovecot
logpath = /var/log/mail.log
maxretry = 5
[postfix-sasl]
enabled = true
port = smtp
filter = postfix-sasl
logpath = /var/log/mail.log
maxretry = 3Starten Sie fail2ban danach neu:
service fail2ban restartUm die UFW-Firewall zu installieren, führen Sie diesen apt-Befehl aus:
apt-get install ufwErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.