Server Installation · 7 min read · Jan 22, 2026
Der perfekte Server - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3) - Seite 4
12 Installieren Sie Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear und mcrypt
Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear und mcrypt können wie folgt installiert werden:
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcachedSie werden die folgende Frage sehen:
Webserver automatisch neu konfigurieren: <- apache2
Konfigurieren Sie die Datenbank für phpmyadmin mit dbconfig-common? <- neinFühren Sie dann den folgenden Befehl aus, um die Apache-Module suexec, rewrite, ssl, actions und include zu aktivieren (plus dav, dav_fs und auth_digest, wenn Sie WebDAV verwenden möchten):
a2enmod suexec rewrite ssl actions includea2enmod dav_fs dav auth_digestÖffnen Sie als nächstes /etc/apache2/mods-available/suphp.conf…
vi /etc/apache2/mods-available/suphp.conf… und kommentieren Sie den Abschnitt
| |
Starten Sie Apache anschließend neu:
/etc/init.d/apache2 restartWenn Sie Ruby-Dateien mit der Erweiterung .rb auf Ihren über ISPConfig erstellten Websites hosten möchten, müssen Sie die Zeile application/x-ruby rb in /etc/mime.types auskommentieren:
vi /etc/mime.types| [...] #application/x-ruby rb [...] |
(Dies ist nur für .rb-Dateien erforderlich; Ruby-Dateien mit der Erweiterung .rbx funktionieren sofort.)
Starten Sie Apache anschließend neu:
/etc/init.d/apache2 restart12.1 Xcache
Xcache ist ein kostenloser und offener PHP Opcode-Cache zum Cachen und Optimieren von PHP-Zwischencode. Es ist ähnlich wie andere PHP Opcode-Caches, wie eAccelerator und APC. Es wird dringend empfohlen, einen dieser Caches zu installieren, um Ihre PHP-Seite zu beschleunigen.
Xcache kann wie folgt installiert werden:
apt-get install php5-xcacheStarten Sie nun Apache neu:
/etc/init.d/apache2 restart12.2 PHP-FPM
Beginnend mit ISPConfig 3.0.5 gibt es einen zusätzlichen PHP-Modus, den Sie für die Verwendung mit Apache auswählen können: PHP-FPM.
Um PHP-FPM mit Apache zu verwenden, benötigen wir das mod_fastcgi Apache-Modul (bitte verwechseln Sie dies nicht mit mod_fcgid - sie sind sehr ähnlich, aber Sie können PHP-FPM nicht mit mod_fcgid verwenden). Wir können PHP-FPM und mod_fastcgi wie folgt installieren:
apt-get install libapache2-mod-fastcgi php5-fpmStellen Sie sicher, dass Sie das Modul aktivieren und Apache neu starten:
a2enmod actions fastcgi alias
/etc/init.d/apache2 restart12.3 Zusätzliche PHP-Versionen
Beginnend mit ISPConfig 3.0.5 ist es möglich, mehrere PHP-Versionen auf einem Server zu haben (wählbar über ISPConfig), die über FastCGI und PHP-FPM ausgeführt werden können. Um zu erfahren, wie Sie zusätzliche PHP-Versionen (PHP-FPM und FastCGI) erstellen und ISPConfig konfigurieren, lesen Sie bitte dieses Tutorial: So verwenden Sie mehrere PHP-Versionen (PHP-FPM & FastCGI) mit ISPConfig 3 (Debian Wheezy).
13 Installieren Sie Mailman
Seit Version 3.0.4 ermöglicht ISPConfig auch die Verwaltung (Erstellen/Ändern/Löschen) von Mailman-Mailinglisten. 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 der Person ein, die die Liste führt: <-- Admin-E-Mail-Adresse, z.B. [email protected]
Anfangs-Mailman-Passwort: <-- Admin-Passwort für die Mailman-Liste
Um die Erstellung Ihrer Mailingliste abzuschließen, müssen Sie Ihre /etc/aliases oder
entsprechende 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 anschließend /etc/aliases…
vi /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 mailman" |
Führen Sie danach
newaliasesaus und starten Sie Postfix neu:
/etc/init.d/postfix restartSchließlich müssen wir die Mailman-Apache-Konfiguration aktivieren:
ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/mailman.confDies definiert den 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:///cgi-bin/mailman/admin/ zugreifen können, und die Webseite für Benutzer einer Mailingliste finden Sie unter http:///cgi-bin/mailman/listinfo/.
Unter http:///pipermail finden Sie die Mailinglistenarchive.
Starten Sie Apache anschließend neu:
/etc/init.d/apache2 restartStarten Sie dann den Mailman-Daemon:
/etc/init.d/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 quotatoolBearbeiten Sie die Datei /etc/default/pure-ftpd-common…
vi /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 Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, was FTP viel sicherer macht.
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 Ländernamen 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.
Name der Organisation (z.B. Unternehmen) [Internet Widgits Pty Ltd]: <-- Geben Sie den Namen Ihrer Organisation ein (z.B. den Namen Ihres Unternehmens).
Name der organisatorischen Einheit (z.B. Abteilung) []: <-- Geben Sie den Namen Ihrer organisatorischen Einheit ein (z.B. "IT-Abteilung").
Gemeinsamer Name (z.B. IHR Name) []: <-- Geben Sie den vollständig qualifizierten 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:
/etc/init.d/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):
vi /etc/fstab| # /etc/fstab: statische Dateisysteminformationen. # # Verwenden Sie 'blkid', um die universell eindeutige Kennung für ein # Gerät zu drucken; dies kann mit UUID= als robustere Möglichkeit verwendet werden, Geräte zu benennen # die auch funktioniert, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5). # # /dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 # /boot war während der Installation auf /dev/sda1 UUID=46d1bd79-d761-4b23-80b8-ad20cb18e049 /boot ext2 defaults 0 2 /dev/mapper/server1-swap_1 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 dnsutils16 Installieren Sie Vlogger, Webalizer und AWstats
Vlogger, Webalizer und AWstats können wie folgt installiert werden:
apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perlÖffnen Sie anschließend /etc/cron.d/awstats…
vi /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.sh |
17 Installieren Sie Jailkit
Jailkit wird nur benötigt, wenn Sie SSH-Benutzer chrooten möchten. Es kann wie folgt installiert werden (wichtig: Jailkit muss vor ISPConfig installiert werden - es kann danach nicht mehr installiert werden!):
apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-goldcd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./debian/rules binarySie können jetzt das Jailkit.deb-Paket wie folgt installieren:
cd ..
dpkg -i jailkit_2.17-1_*.deb
rm -rf jailkit-2.17*18 Installieren Sie fail2ban
Dies ist optional, aber empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen:
apt-get install fail2banUm fail2ban zu veranlassen, PureFTPd und Dovecot zu überwachen, erstellen Sie die Datei /etc/fail2ban/jail.local:
vi /etc/fail2ban/jail.local[pureftpd]
enabled = true
port = ftp
filter = pureftpd
logpath = /var/log/syslog
maxretry = 3
[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 5
[sasl]
enabled = true
port = smtp
filter = sasl
logpath = /var/log/mail.log
maxretry = 3Erstellen Sie dann die folgenden beiden Filterdateien:
vi /etc/fail2ban/filter.d/pureftpd.conf[Definition]
failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.*
ignoreregex = vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P\S*),.*
ignoreregex = Starten Sie fail2ban anschließend neu:
/etc/init.d/fail2ban restartErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.