Server Setup · 6 min read · Nov 03, 2025

Der perfekte Server - Ubuntu 13.04 (Apache2, BIND, Dovecot, ISPConfig 3) - Seite 4

12 Installieren Sie Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Wir können Postfix, Dovecot, MySQL, rkhunter und binutils mit einem einzigen Befehl installieren:

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo

Sie werden nach den folgenden Fragen gefragt:

Neues Passwort für den MySQL “root”-Benutzer: <– yourrootsqlpassword
Wiederholen Sie das Passwort für den MySQL “root”-Benutzer: <– yourrootsqlpassword
Allgemeiner Typ der Mailkonfiguration: <– Internet Site
System-Mailname: <– server1.example.com

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

vi /etc/postfix/master.cf

Kommentieren Sie die Abschnitte für die Übertragung 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 kommentiert:

| [...] 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 anschließend neu:

/etc/init.d/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:

vi /etc/mysql/my.cnf

| [...] # Statt skip-networking ist die Standardeinstellung 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:

/etc/init.d/mysql restart

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

netstat -tap | grep mysql

Die Ausgabe sollte wie folgt aussehen:

root@server1:~# netstat -tap | grep mysql  
 tcp        0      0 *:mysql                 *:*                     LISTEN      21298/mysqld  
 root@server1:~#

13 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-Installation verwendet amavisd, das die SpamAssassin-Filterbibliothek intern lädt, sodass wir SpamAssassin stoppen können, um RAM freizugeben:

/etc/init.d/spamassassin stop  
 update-rc.d -f spamassassin remove

14 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 memcached

Sie werden die folgende Frage sehen:

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

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
a2enmod 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 aus und fügen Sie die Zeile AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml hinzu - andernfalls werden alle PHP-Dateien von SuPHP ausgeführt:

| # # SetHandler application/x-httpd-suphp # AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp 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 behandeln soll. # suPHP_RemoveHandler |

Starten Sie Apache anschließend neu:

/etc/init.d/apache2 restart

Wenn Sie Ruby-Dateien mit der Erweiterung .rb auf Ihren durch 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 restart

14.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-Cache, wie eAccelerator und APC. Es wird dringend empfohlen, eines dieser Programme zu installieren, um Ihre PHP-Seite zu beschleunigen.

Xcache kann wie folgt installiert werden:

apt-get install php5-xcache

Starten Sie jetzt Apache neu:

/etc/init.d/apache2 restart

14.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-fpm

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

a2enmod actions fastcgi alias  
 /etc/init.d/apache2 restart

14.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 wie Sie 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 13.04).

15 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 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: <– admin E-Mail-Adresse, z.B. [email protected]
Anfängliches Mailman-Passwort: <– admin Passwort für die Mailman-Liste
Um das Erstellen 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… <– ENTER

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 aus

newaliases

und starten Sie Postfix neu:

/etc/init.d/postfix restart

Schließlich müssen wir die Mailman-Apache-Konfiguration aktivieren:

ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/mailman.conf

Dies definiert das 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 Mailinglistenarchive.

Starten Sie Apache anschließend neu:

/etc/init.d/apache2 restart

Starten Sie dann den Mailman-Daemon:

/etc/init.d/mailman start
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.