Server Installation · 13 min read · Nov 01, 2025

Der perfekte Server – CentOS 7.1 mit Apache2, Postfix, Dovecot, Pure-FTPD, BIND und ISPConfig 3 - Seite 2

9 Installieren Sie Dovecot

Dovecot kann wie folgt installiert werden:

yum -y install dovecot dovecot-mysql dovecot-pigeonhole

Erstellen Sie eine leere dovecot-sql.conf-Datei und einen Symlink:

touch /etc/dovecot/dovecot-sql.conf  
ln -s /etc/dovecot/dovecot-sql.conf /etc/dovecot-sql.conf

Jetzt erstellen Sie die Systemstartlinks und starten Dovecot:

systemctl enable dovecot  
systemctl start dovecot

10 Installieren Sie Postfix

Postfix kann wie folgt installiert werden:

yum -y install postfix

Dann schalten Sie Sendmail aus und starten Postfix und Mariadb (MySQL):

systemctl enable mariadb.service  
systemctl start mariadb.service
systemctl stop sendmail.service  
systemctl disable sendmail.service  
systemctl enable postfix.service  
systemctl restart postfix.service

Wir deaktivieren Sendmail, um sicherzustellen, dass es nicht gestartet wird, falls es auf Ihrem Server installiert ist. Daher kann die Fehlermeldung “Failed to issue method call: Unit sendmail.service not loaded.” ignoriert werden.

11 Installieren Sie Getmail

Getmail kann wie folgt installiert werden:

yum -y install getmail

12 Setzen Sie MySQL-Passwörter und konfigurieren Sie phpMyAdmin

Setzen Sie Passwörter für das MySQL-Root-Konto:

mysql_secure_installation
[root@server1 tmp]# mysql_secure_installation  
  
  
HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESES SCRIPTS WIRD FÜR ALLE MariaDB  
SERVER IM PRODUKTIONSEINSATZ EMPFOHLEN! BITTE JEDEN SCHRITT SORGFÄLTIG LESEN!
Um sich bei MariaDB anzumelden, um es zu sichern, benötigen wir das aktuelle  
Passwort für den Root-Benutzer. Wenn Sie gerade MariaDB installiert haben und  
Sie das Root-Passwort noch nicht gesetzt haben, wird das Passwort leer sein,  
also sollten Sie hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste für keines):  
OK, Passwort erfolgreich verwendet, weiter...
Das Setzen des Root-Passworts stellt sicher, dass niemand ohne die richtige  
Autorisierung auf den MariaDB-Root-Benutzer zugreifen kann.  
  
Setzen Sie das Root-Passwort? [Y/n] <-- EINGABETASTE  
Neues Passwort: <-- IhrRootSQLPasswort  
Neues Passwort erneut eingeben: <-- IhrRootSQLPasswort  
Passwort erfolgreich aktualisiert!  
Aktualisiere Berechtigungstabellen..  
 ... Erfolg!  
  
  
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, der es jedem  
ermöglicht, sich bei MariaDB anzumelden, ohne dass ein Benutzerkonto für  
ihn erstellt werden muss. Dies ist nur für Tests gedacht und soll die  
Installation etwas reibungsloser gestalten. Sie sollten sie entfernen, bevor Sie  
in eine Produktionsumgebung wechseln.  
  
Anonyme Benutzer entfernen? [Y/n] <-- EINGABETASTE  
 ... Erfolg!  

Normalerweise sollte root nur von 'localhost' aus zugelassen werden.  
Dies stellt sicher, dass jemand das Root-Passwort nicht aus dem  
Netzwerk erraten kann.  
  
Verweigern Sie den Remote-Login für root? [Y/n] <-- EINGABETASTE  
 ... Erfolg!  

Standardmäßig kommt MariaDB mit einer Datenbank namens 'test', auf die jeder  
zugreifen kann. Dies ist ebenfalls nur für Tests gedacht und sollte entfernt  
werden, bevor Sie in eine Produktionsumgebung wechseln.  
  
Testdatenbank und Zugriff darauf entfernen? [Y/n] <-- EINGABETASTE  
 - Testdatenbank wird gelöscht...  
 ... Erfolg!  
 - Berechtigungen für die Testdatenbank werden entfernt...  
 ... Erfolg!  

Das Aktualisieren der Berechtigungstabellen stellt sicher, dass alle bisher  
getätigten Änderungen sofort wirksam werden.  
  
Berechtigungstabellen jetzt aktualisieren? [Y/n] <-- EINGABETASTE  
 ... Erfolg!  

Aufräumen...  
  

Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen haben, sollte Ihre  
MariaDB-Installation jetzt sicher sein.  
  
Danke, dass Sie MariaDB verwenden!  
  
[root@server1 tmp]#

Jetzt konfigurieren wir phpMyAdmin. Wir ändern die Apache-Konfiguration, damit phpMyAdmin Verbindungen nicht nur von localhost zulässt (indem wir die beiden “Require ip”-Zeilen auskommentieren und die neue Zeile “Require all granted” im -Block hinzufügen):

nano /etc/httpd/conf.d/phpMyAdmin.conf
# phpMyAdmin - Webbasierter MySQL-Browser, geschrieben in php
#
# Erlaubt standardmäßig nur localhost
#
# Aber phpMyAdmin für jeden anderen als localhost zuzulassen, sollte als
# gefährlich angesehen werden, es sei denn, es ist ordnungsgemäß durch SSL gesichert

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin


   
     # Apache 2.4
     
     #  Require ip 127.0.0.1
     #  Require ip ::1  
        Require all granted
     
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   

            

Als nächstes ändern wir die Authentifizierung in phpMyAdmin von Cookie auf http:

nano /etc/phpMyAdmin/config.inc.php
[...]
/* Authentifizierungstyp */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Dann erstellen wir die Systemstartlinks für Apache und starten ihn:

systemctl enable  httpd.service  
systemctl restart  httpd.service

Jetzt können Sie Ihren Browser auf http://server1.example.com/phpmyadmin/ oder http://192.168.0.100/phpmyadmin/ lenken und sich mit dem Benutzernamen root und Ihrem neuen Root-MySQL-Passwort anmelden.

13 Installieren Sie Amavisd-new, SpamAssassin und ClamAV

Um amavisd-new, spamassassin und clamav zu installieren, führen Sie den folgenden Befehl aus:

yum -y install amavisd-new spamassassin clamav clamav-update unzip bzip2 perl-DBD-mysql

Bearbeiten Sie die freshclam-Konfigurationsdatei /etc/freshclam.conf

nano /etc/freshclam.conf

und kommentieren Sie die Zeile “Example” aus

[....]  
# Beispiel  
[....]

Dann starten wir freshclam, amavisd und clamd.amavisd:

sa-update  
freshclam   
systemctl enable amavisd.service

14 Installation von Apache2 mit mod_php, mod_fcgi/PHP5, PHP-FPM und suPHP

ISPConfig 3 ermöglicht es Ihnen, mod_php, mod_fcgi/PHP5, cgi/PHP5 und suPHP auf einer pro Website-Basis zu verwenden.

Wir können Apache2 mit mod_php5, mod_fcgid und PHP5 wie folgt installieren:

yum -y install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel php-fpm

Als nächstes öffnen wir /etc/php.ini…

nano /etc/php.ini

… und ändern die Fehlerberichterstattung (so dass keine Hinweise mehr angezeigt werden), setzen die Zeitzone und kommentieren cgi.fix_pathinfo=1 aus:

[...]
;error_reporting = E_ALL & ~E_DEPRECATED
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
[...]
; cgi.fix_pathinfo bietet *echte* PATH_INFO/PATH_TRANSLATED-Unterstützung für CGI. PHP's
; vorheriges Verhalten war es, PATH_TRANSLATED auf SCRIPT_FILENAME zu setzen und nicht zu verstehen,
; was PATH_INFO ist. Für weitere Informationen zu PATH_INFO siehe die CGI-Spezifikationen. Das Setzen
; dies auf 1 bewirkt, dass PHP CGI seine Pfade an die Spezifikation anpasst. Eine Einstellung
; von null bewirkt, dass PHP sich wie zuvor verhält. Standard ist 1. Sie sollten Ihre Skripte
; so anpassen, dass sie SCRIPT_FILENAME anstelle von PATH_TRANSLATED verwenden.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=1  
[...]  
date.timezone = 'Europe/Berlin'
[...]

Als nächstes installieren wir suPHP (es gibt ein mod_suphp-Paket in den Repositories, aber leider ist es nicht mit ISPConfig kompatibel, daher müssen wir suPHP selbst erstellen):

cd /usr/local/src  
wget http://suphp.org/download/suphp-0.7.2.tar.gz  
tar zxvf suphp-0.7.2.tar.gz

CentOS 7.1 verwendet apache-2.4, daher benötigen wir einen Patch für suPHP, bevor wir es gegen Apache kompilieren können. Der Patch wird wie folgt angewendet:

wget -O suphp.patch https://lists.marsching.com/pipermail/suphp/attachments/20130520/74f3ac02/attachment.patch  
patch -Np1 -d suphp-0.7.2 < suphp.patch  
cd suphp-0.7.2  
autoreconf -if

[root@server1 suphp-0.7.2]# autoreconf -if

libtoolize: legt Hilfsdateien in AC_CONFIG_AUX_DIR, config.

libtoolize: kopiert Datei config/ltmain.sh

libtoolize: Ziehen Sie in Betracht, AC_CONFIG_MACRO_DIR([m4]) zu configure.ac hinzuzufügen und

libtoolize: rerunning libtoolize, um die richtigen libtool-Makros im Baum zu halten.

libtoolize: Ziehen Sie in Betracht, -I m4 zu ACLOCAL_AMFLAGS in Makefile.am hinzuzufügen.

configure.ac:9: Warnung: AM_INIT_AUTOMAKE: zwei- und drei-Argumente-Formen sind veraltet. Für weitere Informationen siehe:

configure.ac:9: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation

configure.ac:24: installiert ‘config/config.guess’

configure.ac:24: installiert ‘config/config.sub’

configure.ac:9: installiert ‘config/install-sh’

configure.ac:9: installiert ‘config/missing’

src/Makefile.am: installiert ‘config/depcomp’

[root@server1 suphp-0.7.2]#

Es wird der Patch angewendet, jetzt können wir den neuen Quellcode wie folgt kompilieren:

./configure --prefix=/usr/ --sysconfdir=/etc/ --with-apr=/usr/bin/apr-1-config --with-apache-user=apache --with-setid-mode=owner --with-logfile=/var/log/httpd/suphp_log  
make  
make install

Dann fügen wir das suPHP-Modul zu unserer Apache-Konfiguration hinzu…

nano /etc/httpd/conf.d/suphp.conf
LoadModule suphp_module modules/mod_suphp.so

… und erstellen die Datei /etc/suphp.conf wie folgt:

nano /etc/suphp.conf
[global]
;Pfad zur Protokolldatei
logfile=/var/log/httpd/suphp.log
;Protokollebene
loglevel=info
;Benutzer, unter dem Apache läuft
webserver_user=apache
;Pfad, in dem sich alle Skripte befinden müssen
docroot=/
;Pfad zu chroot(), bevor das Skript ausgeführt wird
;chroot=/mychroot
; Sicherheitsoptionen
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false
;Überprüfen, ob das Skript innerhalb von DOCUMENT_ROOT ist
check_vhost_docroot=true
;Sende kleinere Fehlermeldungen an den Browser
errors_to_browser=false
;PATH-Umgebungsvariable
env_path=/bin:/usr/bin
;Umask setzen, in oktaler Notation angeben
umask=0077
; Mindest-UID
min_uid=100
; Mindest-GID
min_gid=100

[handlers]
;Handler für PHP-Skripte
x-httpd-suphp="php:/usr/bin/php-cgi"
;Handler für CGI-Skripte
x-suphp-cgi="execute:!self"

Bearbeiten Sie die Datei /etc/httpd/conf.d/php.conf, um die PHP-Analyse nur für phpmyadmin, roundcube und andere Systempakete in /usr/share zu aktivieren, jedoch nicht für Websites in /var/www, da ISPConfig PHP für jede Website einzeln aktivieren wird.

nano /etc/httpd/conf.d/php.conf

Ändern Sie die Zeilen:

  
SetHandler application/x-httpd-php  

in:

  
  
SetHandler application/x-httpd-php  
  

So wird der PHP-Handler von der Directory-Direktive umschlossen.

Aktivieren Sie httpd und PHP-FPM, damit sie beim Booten gestartet werden, und starten Sie den PHP-FPM-Dienst.

systemctl start php-fpm.service  
systemctl enable php-fpm.service  
systemctl enable httpd.service

Schließlich starten wir Apache neu:

systemctl restart httpd.service

15 Installation von mod_python

Das Apache-Modul mod_python ist nicht als RPM-Paket verfügbar, daher werden wir es aus dem Quellcode kompilieren. Der erste Schritt besteht darin, die Python-Entwicklungsdateien zu installieren und die aktuelle mod_python-Version als tar.gz-Datei herunterzuladen.

yum -y install python-devel
cd /usr/local/src/  
wget http://dist.modpython.org/dist/mod_python-3.5.0.tgz  
tar xfz mod_python-3.5.0.tgz  
cd mod_python-3.5.0

und dann das Modul konfigurieren und kompilieren

./configure  
make  
make install

und das Modul in Apache aktivieren

echo 'LoadModule python_module modules/mod_python.so' > /etc/httpd/conf.modules.d/10-python.conf  
systemctl restart httpd.service

16 Installieren Sie PureFTPd

PureFTPd kann mit dem folgenden Befehl installiert werden:

yum -y install pure-ftpd

Dann erstellen Sie die Systemstartlinks und starten PureFTPd:

systemctl enable pure-ftpd.service  
systemctl start pure-ftpd.service

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.

OpenSSL wird von TLS benötigt; um OpenSSL zu installieren, führen wir einfach aus:

yum install openssl

Öffnen Sie /etc/pure-ftpd/pure-ftpd.conf…

nano /etc/pure-ftpd/pure-ftpd.conf

Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, setzen Sie TLS auf 1:

[...]
# Diese Option kann drei Werte annehmen:
# 0 : Deaktivieren Sie die SSL/TLS-Verschlüsselungsschicht (Standard).
# 1 : Akzeptieren Sie sowohl traditionelle als auch verschlüsselte Sitzungen.
# 2 : Verweigern Sie Verbindungen, die keine SSL/TLS-Sicherheitsmechanismen verwenden,
#     einschließlich anonymer Sitzungen.
# Kommentieren Sie dies nicht blind aus. Stellen Sie sicher, dass :
# 1) Ihr Server mit SSL/TLS-Unterstützung kompiliert wurde (--with-tls),
# 2) Ein gültiges Zertifikat vorhanden ist,
# 3) Nur kompatible Clients sich anmelden.

TLS                      1
[...]

Um TLS verwenden zu können, 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

Ländercode (2 Buchstaben) [XX]: <– Geben Sie Ihren Ländercode ein (z.B. “DE”).
Name des Bundeslandes oder der Provinz (vollständiger Name) []: <– Geben Sie den Namen Ihres Bundeslandes oder Ihrer Provinz ein.
Name der Stadt (z.B. Stadt) [Default City]: <– Geben Sie Ihre Stadt ein.
Name der Organisation (z.B. Firma) [Default Company Ltd]: <– Geben Sie den Namen Ihrer Organisation ein (z.B. den Namen Ihres Unternehmens).
Name der Abteilung (z.B. Abschnitt) []: <– Geben Sie den Namen Ihrer Abteilung ein (z.B. “IT-Abteilung”).
Allgemeiner Name (z.B. Ihr Name oder der Hostname Ihres Servers) []: <– 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

Schließlich starten Sie PureFTPd neu:

systemctl restart pure-ftpd.service

Das war’s. Sie können jetzt versuchen, sich mit Ihrem FTP-Client zu verbinden; Sie sollten jedoch Ihren FTP-Client so konfigurieren, dass er TLS verwendet.

17 Installieren Sie BIND

Wir können BIND wie folgt installieren:

yum -y install bind bind-utils

Machen Sie eine Sicherung der vorhandenen /etc/named.conf-Datei und erstellen Sie eine neue wie folgt:

cp /etc/named.conf /etc/named.conf_bak  
cat /dev/null > /etc/named.conf  
nano /etc/named.conf
// named.conf\
//\
// Bereitgestellt vom Red Hat bind-Paket zur Konfiguration des ISC BIND named(8) DNS\
// Servers als nur Caching-Nameserver (nur als localhost-DNS-Resolver).\
//\
// Siehe /usr/share/doc/bind*/sample/ für Beispiel-named-Konfigurationsdateien.\
options {\
        listen-on port 53 { any; };\
        listen-on-v6 port 53 { any; };\
        directory       "/var/named";\
        dump-file       "/var/named/data/cache_dump.db";\
        statistics-file "/var/named/data/named_stats.txt";\
        memstatistics-file "/var/named/data/named_mem_stats.txt";\
        allow-query     { any; };\
                allow-recursion {"none";};\
        recursion no;\
};\
logging {\
        channel default_debug {\
                file "data/named.run";\
                severity dynamic;\
        };\
};\
zone "." IN {\
        type hint;\
        file "named.ca";\
};\
include "/etc/named.conf.local";

Erstellen Sie die Datei /etc/named.conf.local, die am Ende von /etc/named.conf enthalten ist ( /etc/named.conf.local wird später von ISPConfig gefüllt, wenn Sie DNS-Zonen in ISPConfig erstellen):

touch /etc/named.conf.local

Dann erstellen wir die Startlinks und starten BIND:

systemctl enable named.service  
systemctl start named.service

18 Installieren Sie Webalizer und AWStats

Webalizer und AWStats können wie folgt installiert werden:

yum -y install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

19 Installieren Sie Jailkit

Jailkit wird verwendet, um SSH-Benutzer und Cronjobs zu chrooten. Es kann wie folgt installiert werden (wichtig: Jailkit muss vor ISPConfig installiert werden - es kann danach nicht installiert werden!):

cd /tmp  
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz  
tar xvfz jailkit-2.17.tar.gz  
cd jailkit-2.17  
./configure  
make  
make install  
cd ..  
rm -rf jailkit-2.17*

20 Installieren Sie fail2ban

Dies ist optional, aber empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen.

yum -y install iptables-services fail2ban fail2ban-systemd  
systemctl mask firewalld.service  
systemctl enable iptables.service  
systemctl enable ip6tables.service  
systemctl stop firewalld.service  
systemctl start iptables.service  
systemctl start ip6tables.service

Als nächstes erstellen wir die Datei /etc/fail2ban/jail.local und aktivieren die Überwachung für SSH, E-Mail und FTP-Dienste.

nano /etc/fail2ban/jail.local

Fügen Sie den folgenden Inhalt in die jail.local-Datei ein:

[sshd]  
enabled = true  
action = iptables[name=sshd, port=ssh, protocol=tcp]  
  
[pure-ftpd]  
enabled = true  
action = iptables[name=FTP, port=ftp, protocol=tcp]  
maxretry = 3  
  
[dovecot]  
enabled = true  
action = iptables-multiport[name=dovecot, port="pop3,pop3s,imap,imaps", protocol=tcp]  
maxretry = 5  
  
[postfix-sasl]  
enabled = true  
action = iptables-multiport[name=postfix-sasl, port="smtp,smtps,submission", protocol=tcp]  
maxretry = 3

Dann erstellen Sie die Systemstartlinks für fail2ban und starten Sie es:

systemctl enable fail2ban.service  
systemctl start fail2ban.service

21 Installieren Sie rkhunter

rkhunter kann wie folgt installiert werden:

yum -y install rkhunter

22 Installieren Sie Mailman

Wenn Sie Mailinglisten mit Mailman auf Ihrem Server verwalten möchten, installieren Sie jetzt Mailman. Mailman wird von ISPConfig unterstützt, sodass Sie später neue Mailinglisten über ISPConfig erstellen können.

yum -y install mailman

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

touch /var/lib/mailman/data/aliases  
postmap /var/lib/mailman/data/aliases  
/usr/lib/mailman/bin/newlist mailman

[root@server1 tmp]# /usr/lib/mailman/bin/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 (oder
entsprechende) Datei bearbeiten, indem Sie die folgenden Zeilen hinzufügen und möglicherweise
das Programm newaliases ausführen:

Mailman-Mailingliste

mailman: “|/usr/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/usr/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/usr/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/usr/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/usr/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/usr/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/usr/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/usr/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/usr/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/usr/lib/mailman/mail/mailman unsubscribe mailman”

Drücken Sie die Eingabetaste, um den Mailman-Besitzer zu benachrichtigen… <– EINGABETASTE

[root@server1 tmp]#

Öffnen Sie danach /etc/aliases…

vi /etc/aliases

… und fügen Sie die folgenden Zeilen hinzu:

[...]
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Führen Sie danach aus:

newaliases

und starten Sie Postfix neu:

systemctl restart postfix.service

Öffnen Sie jetzt die Mailman-Apache-Konfigurationsdatei /etc/httpd/conf.d/mailman.conf…

nano /etc/httpd/conf.d/mailman.conf

… und fügen Sie die Zeile ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/. Kommentieren Sie Alias /pipermail/ /var/lib/mailman/archives/public/ aus und fügen Sie die Zeile Alias /pipermail /var/lib/mailman/archives/public/ hinzu:

#
#  httpd-Konfigurationseinstellungen zur Verwendung mit Mailman.
#
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/

    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all



#Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /pipermail /var/lib/mailman/archives/public/

    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    AddDefaultCharset Off


# Kommentieren Sie die folgende Zeile aus, um Abfragen an /mailman auf die
# Listinfo-Seite umzuleiten (empfohlen).

# RedirectMatch ^/mailman[/]*$ /mailman/listinfo

Starten Sie Apache neu:

systemctl restart httpd.service

Erstellen Sie die Systemstartlinks für Mailman und starten Sie es:

systemctl enable mailman.service  
systemctl start mailman.service

Nachdem Sie ISPConfig 3 installiert haben, können Sie Mailman wie folgt aufrufen: Sie können das Alias /cgi-bin/mailman für alle Apache-VHosts verwenden (bitte beachten Sie, dass suExec und CGI für alle VHosts deaktiviert sein müssen, von denen Sie auf Mailman zugreifen möchten!), 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 Archive der Mailingliste.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.