Server Setup · 8 min read · Jan 20, 2026

Der perfekte Server - Ubuntu 15.04 (Vivid Vervet) mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig 3 - Seite 2

8. Installieren von 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-doc apache2-utils 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-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached

Sie werden die folgende Frage sehen:

Webserver automatisch neu konfigurieren: <– apache2
Datenbank für phpmyadmin mit dbconfig-common konfigurieren? <– Ja

Passwort des administrativen Benutzers der Datenbank: <– Geben Sie hier das MySQL-Root-Passwort ein.
MySQL-Anwendungspasswort für phpmyadmin: <– Drücken Sie 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 cgi
a2enmod dav_fs dav auth_digest

Und aktivieren Sie das mcrypt-Modul in PHP:

php5enmod mcrypt

Öffnen Sie als Nächstes /etc/apache2/mods-available/suphp.conf…

nano /etc/apache2/mods-available/suphp.conf

… und kommentieren Sie den Abschnitt aus:


    #
    #    SetHandler application/x-httpd-suphp
    #
        suPHP_AddHandler application/x-httpd-suphp  
        AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml

    
        suPHP_Engine on
    

    # Standardmäßig suPHP für Debian-paketierte Webanwendungen deaktivieren, da Dateien
    # im Besitz von root sind und nicht von suPHP ausgeführt werden können, aufgrund von min_uid.
    
        suPHP_Engine off
    

# # Verwenden Sie eine spezifische PHP-Konfigurationsdatei (ein Verzeichnis, das eine php.ini-Datei enthält)
#       suPHP_ConfigPath /etc/php5/cgi/suphp/
# # Sagt mod_suphp, dass es Anfragen mit dem Typ  NICHT bearbeiten soll.
#       suPHP_RemoveHandler 

Starten Sie Apache danach neu:

service apache2 restart

Wenn 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:

nano /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 danach neu:

service apache2 restart

8.1 APCu PHP Opcode-Cache

APCu ist ein kostenloser PHP-Opcode-Cache zum Cachen und Optimieren von PHP-Zwischencode. Es wird dringend empfohlen, eines dieser Module zu installieren, um Ihre PHP-Seite zu beschleunigen.

APCu kann wie folgt installiert werden:

apt-get install php5-apcu

Jetzt starten Sie Apache neu:

service apache2 restart

8.2 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-fpm

Stellen Sie sicher, dass Sie das Modul aktivieren und Apache neu starten:

a2enmod actions fastcgi alias   
service apache2 restart

8.3 Zusätzliche PHP-Versionen

Seit 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, überprüfen Sie bitte dieses Tutorial: Wie man mehrere PHP-Versionen (PHP-FPM & FastCGI) mit ISPConfig 3 (Ubuntu 12.10) verwendet (funktioniert auch für Ubuntu 15.04).

9. Installieren von 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 mailman

Wählen Sie mindestens eine Sprache, z.B.:

Sprachen zur Unterstützung: <– en (Englisch)
Fehlende Site-Liste <– Ok

Bevor wir Mailman starten können, muss eine erste Mailingliste namens mailman erstellt werden:

newlist mailman

root@server1:~# newlist mailman
Geben Sie die E-Mail-Adresse der Person ein, die die Liste verwaltet: <– E-Mail-Adresse des Administrators, z.B. [email protected]
Anfängliches Mailman-Passwort: <– Administrationspasswort für die Mailman-Liste
Um die Erstellung Ihrer Mailingliste abzuschließen, müssen Sie Ihre /etc/aliases (or
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 mailman" Führen Sie newaliases nachher aus und starten Sie Postfix neu: service postfix restart Schließlich müssen wir die Mailman-Apache-Konfiguration aktivieren: ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf Dies definiert den Alias /cgi-bin/mailman/ für alle Apache-VHosts, was bedeutet, dass Sie auf die Mailman-Administrationsoberflä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 Mailinglisten-Archive. Starten Sie Apache danach neu: service apache2 restart Starten Sie dann den Mailman-Daemon: service mailman start ## 10. Installieren von PureFTPd und Quota PureFTPd und Quota können mit dem folgenden Befehl installiert werden: apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool Bearbeiten 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/TLS Um 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/ Danach 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.pem Landesname (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. Firma) [Internet Widgits Pty Ltd]: <– Geben Sie Ihren Organisationsnamen ein (z.B. den Namen Ihrer Firma).
Organisationsbereich (z.B. Abteilung) []: <– Geben Sie Ihren Organisationsbereich 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.pem Starten Sie dann PureFTPd neu: service pure-ftpd-mysql restart Bearbeiten Sie /etc/fstab. Meine sieht so aus (ich habe ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 zu der 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 zu drucken; dies kann mit UUID= als eine robustere Möglichkeit verwendet werden, Geräte zu benennen # die funktioniert, selbst wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5). # # /dev/mapper/server1--vg-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=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2 /dev/mapper/server1--vg-swap_1 none swap sw 0 0 Um Quota zu aktivieren, führen Sie diese Befehle aus: mount -o remount / quotacheck -avugm quotaon -avug Was die folgende Ausgabe zeigt: root@server1:/etc/mysql/mariadb.conf.d# quotacheck -avugm quotacheck: Scanning /dev/mapper/server1--vg-root [/] done quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted. quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted. quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted. quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted. quotacheck: Checked 11029 directories and 79849 files quotacheck: Old file not found. quotacheck: Old file not found. root@server1:/etc/mysql/mariadb.conf.d# quotaon -avug /dev/mapper/server1--vg-root [/]: group quotas turned on /dev/mapper/server1--vg-root [/]: user quotas turned on ## 11. Installieren des BIND DNS-Servers BIND kann wie folgt installiert werden: apt-get install bind9 dnsutils ## 12. Installieren von 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 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.sh ## 13. Installieren von 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 installiert werden!): apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold cd /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 binary Sie können jetzt das Jailkit.deb-Paket wie folgt installieren: cd .. dpkg -i jailkit_2.17-1_*.deb rm -rf jailkit-2.17* ## 14. Installieren von fail2ban Dies ist optional, aber empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen: apt-get install fail2ban Um fail2ban zu veranlassen, PureFTPd und Dovecot zu überwachen, erstellen Sie die Datei /etc/fail2ban/jail.local: nano /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 [postfix-sasl] enabled = true port = smtp filter = postfix-sasl logpath = /var/log/mail.log maxretry = 3 Erstellen Sie dann die folgenden beiden Filterdateien: nano /etc/fail2ban/filter.d/pureftpd.conf [Definition] failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.* ignoreregex = nano /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 = Fügen Sie die fehlende ignoreregex-Zeile in die postfix-sasl-Datei ein: echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf Starten Sie fail2ban danach neu: service fail2ban restart

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.