Server Setup · 30 min read · Sep 08, 2025

Der perfekte Server CentOS 8 mit Apache, PHP, Postfix, Dovecot, Pure-FTPD, BIND und ISPConfig 3.2

Dieses Tutorial zeigt die Installation von ISPConfig 3.2 auf einem CentOS 8 (64Bit) Server. ISPConfig ist ein Webhosting-Control-Panel, das es Ihnen ermöglicht, die folgenden Dienste über einen Webbrowser zu konfigurieren: Apache-Webserver, PHP, Postfix-Mailserver, MySQL, BIND-Nameserver, PureFTPd, SpamAssassin, ClamAV, Mailman und viele mehr.

1 Anforderungen

Um ein solches System zu installieren, benötigen Sie Folgendes:

  • Ein minimal installiertes CentOS 8-Server-System. Dies kann ein Server sein, der von Grund auf neu installiert wurde, wie in unserem Tutorial zum minimalen CentOS 8-Server beschrieben, oder ein virtueller Server oder Root-Server von einem Hosting-Anbieter, der ein minimales CentOS 8-Setup installiert hat.
  • Eine schnelle Internetverbindung.

2 Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100 und dem Gateway 192.168.0.1. Diese Einstellungen können bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls anpassen.

3 Server vorbereiten

Tastaturlayout einstellen

Falls das Tastaturlayout des Servers nicht mit Ihrer Tastatur übereinstimmt, können Sie mit dem localectl-Befehl auf das richtige Layout umschalten (in meinem Fall “de” für ein deutsches Tastaturlayout):

localectl set-keymap de

Um eine Liste aller verfügbaren Tastaturbelegungen zu erhalten, führen Sie aus:

localectl list-keymaps

Ich möchte am Ende dieses Tutorials ISPConfig installieren. ISPConfig wird mit dem Bastille-Firewall-Skript geliefert, das ich als Firewall verwenden werde. Daher deaktiviere ich jetzt die Standard-CentOS-Firewall. Natürlich können Sie die CentOS-Firewall aktiv lassen und nach Ihren Bedürfnissen konfigurieren (aber dann sollten Sie später keine andere Firewall verwenden, da sie wahrscheinlich mit der CentOS-Firewall in Konflikt gerät).

Führen Sie aus…

dnf -y install net-tools wget rsyslog curl  
systemctl stop firewalld.service  
systemctl disable firewalld.service

um die CentOS-Firewall zu stoppen und zu deaktivieren. Es ist in Ordnung, wenn Sie hier Fehler erhalten, dies zeigt nur an, dass die Firewall nicht installiert war.

Dann sollten Sie überprüfen, ob die Firewall wirklich deaktiviert wurde. Führen Sie dazu den Befehl aus:

iptables -L

Die Ausgabe sollte folgendermaßen aussehen:

[root@server1 ~]# iptables -L  
Chain INPUT (policy ACCEPT)  
target prot opt source destination
Chain FORWARD (policy ACCEPT)  
target prot opt source destination
Chain OUTPUT (policy ACCEPT)  
target prot opt source destination

Oder verwenden Sie den Befehl firewall-cmd:

firewall-cmd --state
[root@server1 ~]# firewall-cmd --state  
nicht aktiv  
[root@server1 ~]#

Jetzt werde ich den Netzwerk-Konfigurationseditor und den shell-basierten Editor “nano” installieren, den ich in den nächsten Schritten verwenden werde, um die Konfigurationsdateien zu bearbeiten:

dnf -y install nano wget NetworkManager-tui yum-utils

Wenn Sie Ihre Netzwerkkarte während der Installation nicht konfiguriert haben, können Sie dies jetzt tun. Führen Sie aus…

nmtui

… und gehen Sie zu Verbindung bearbeiten:

Netzwerkverbindung bearbeiten

Wählen Sie Ihre Netzwerkschnittstelle aus:

Netzwerkschnittstelle auswählen

Füllen Sie dann Ihre Netzwerkinformationen aus - deaktivieren Sie DHCP und geben Sie eine statische IP-Adresse, eine Netzmaske, Ihr Gateway und einen oder zwei Nameserver ein, und drücken Sie OK:

Netzmaske festlegen

Wählen Sie als Nächstes OK, um die Änderungen zu bestätigen, die Sie in den Netzwerkeinstellungen vorgenommen haben, und Quit, um das nmtui-Netzwerkkonfigurationstool zu schließen.

nmtui beenden

Sie sollten jetzt

ifconfig

ausführen, um zu überprüfen, ob der Installer Ihre IP-Adresse richtig erfasst hat:

[root@server1 ~]# ifconfig  
ens33: flags=4163  mtu 1500  
        inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255  
        inet6 fe80::20c:29ff:feee:b665  prefixlen 64  scopeid 0x20  
        inet6 2003:e1:bf22:1b00:20c:29ff:feee:b665  prefixlen 64  scopeid 0x0  
        ether 00:0c:29:ee:b6:65  txqueuelen 1000  (Ethernet)  
        RX-Pakete 2874  Bytes 1369892 (1.3 MiB)  
        RX-Fehler 0  verworfen 546  Überläufe 0  Rahmen 0  
        TX-Pakete 968  Bytes 160901 (157.1 KiB)  
        TX-Fehler 0  verworfen 0 Überläufe 0  Träger 0  Kollisionen 0
lo: flags=73  mtu 65536  
        inet 127.0.0.1  netmask 255.0.0.0  
        inet6 ::1  prefixlen 128  scopeid 0x10  
        loop  txqueuelen 1000  (Local Loopback)  
        RX-Pakete 0  Bytes 0 (0.0 B)  
        RX-Fehler 0  verworfen 0  Überläufe 0  Rahmen 0  
        TX-Pakete 0  Bytes 0 (0.0 B)  
        TX-Fehler 0  verworfen 0 Überläufe 0  Träger 0  Kollisionen 0

Wenn Ihre Netzwerkkarte dort nicht angezeigt wird, dann ist sie möglicherweise beim Booten nicht aktiviert. In diesem Fall öffnen Sie die Datei /etc/sysconfig/network-scripts/ifcfg-eth0

nano /etc/sysconfig/network-scripts/ifcfg-ens33

und setzen Sie ONBOOT auf yes:

[...]  
ONBOOT=yes  
[...]  

und starten Sie den Server neu.

Überprüfen Sie Ihre /etc/resolv.conf, ob alle Nameserver aufgelistet sind, die Sie zuvor konfiguriert haben:

cat /etc/resolv.conf

Wenn Nameserver fehlen, führen Sie aus

nmtui

und fügen Sie die fehlenden Nameserver erneut hinzu.

Jetzt zur Konfiguration…

Anpassen von /etc/hosts und /etc/hostname

Als Nächstes werden wir /etc/hosts bearbeiten. Lassen Sie es so aussehen:

nano /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4  
192.168.0.100   server1.example.com     server1  
  
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Setzen Sie den Hostnamen in der Datei /etc/hostname. Die Datei sollte den vollqualifizierten Domainnamen (z.B. server1.example.com in meinem Fall) enthalten und nicht nur den Kurznamen wie “server1”. Öffnen Sie die Datei mit dem Nano-Editor:

nano /etc/hostname

Und setzen Sie den Hostnamen in der Datei.

server1.example.com

Speichern Sie die Datei und beenden Sie nano.

Setzen Sie SELinux auf permissive

SELinux ist eine Sicherheitserweiterung von CentOS, die erweiterte Sicherheit bieten soll. ISPConfig wird nicht mit einem SELinux-Regelsatz geliefert, daher setze ich es auf permissive (das ist ein Muss, wenn Sie später ISPConfig installieren möchten).

Bearbeiten Sie /etc/selinux/config und setzen Sie SELINUX=permissive:

nano /etc/selinux/config
# Diese Datei steuert den Zustand von SELinux im System.  
# SELINUX= kann einen dieser drei Werte annehmen:  
#     enforcing - SELinux-Sicherheitsrichtlinie wird durchgesetzt.  
#     permissive - SELinux gibt Warnungen aus, anstatt sie durchzusetzen.  
#     disabled - Keine SELinux-Richtlinie ist geladen.  
SELINUX=permissive  
# SELINUXTYPE= kann einen dieser beiden Werte annehmen:  
#     targeted - Zielprozesse sind geschützt,  
#     mls - Multi Level Security-Schutz.  
SELINUXTYPE=targeted

Danach müssen wir das System neu starten:

reboot

4 Zusätzliche Repositories aktivieren und einige Software installieren

Zuerst importieren wir die GPG-Schlüssel für Softwarepakete:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Dann aktivieren wir das EPEL-Repository auf unserem CentOS-System, da viele der Pakete, die wir im Verlauf dieses Tutorials installieren werden, im offiziellen CentOS 8-Repository nicht verfügbar sind:

dnf -y install epel-release

Aktivieren Sie Power Tools:

dnf config-manager --set-enabled powertools

Dann aktualisieren wir unsere vorhandenen Pakete auf dem System:

dnf -y update

Jetzt installieren wir einige Softwarepakete, die später benötigt werden:

dnf -y groupinstall 'Development Tools'

5 Quota

(Wenn Sie ein anderes Partitionierungsschema gewählt haben als ich, müssen Sie dieses Kapitel anpassen, damit Quota auf die Partitionen angewendet wird, wo Sie es benötigen.)

Um Quota zu installieren, führen wir diesen Befehl aus:

dnf -y install quota

Jetzt überprüfen wir, ob das Quota bereits für das Dateisystem aktiviert ist, auf dem die Website (/var/www) und die Maildir-Daten (var/vmail) gespeichert sind. In diesem Beispiel-Setup habe ich eine große Root-Partition, also suche ich nach ‘ / ‘:

mount | grep ' / '
[root@server1 ~]# mount | grep ' / '  
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)  
[root@server1 ~]#

Wenn Sie eine separate /var-Partition haben, verwenden Sie:

mount | grep ' /var '

stattdessen. Wenn die Zeile das Wort “ noquota “ enthält, fahren Sie mit den folgenden Schritten fort, um Quota zu aktivieren.

Aktivierung von Quota auf der / (Root)-Partition

Normalerweise würden Sie Quota in der Datei /etc/fstab aktivieren, aber wenn das Dateisystem das Root-Dateisystem “ / “ ist, muss Quota durch einen Bootparameter des Linux-Kernels aktiviert werden.

Bearbeiten Sie die Grub-Konfigurationsdatei:

nano /etc/default/grub

Suchen Sie die Zeile, die mit GRUB_CMDLINE_LINUX beginnt, und fügen Sie rootflags=uquota,gquota zu den Befehlszeilenparametern hinzu, sodass die resultierende Zeile folgendermaßen aussieht:

GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rootflags=uquota,gquota"

und wenden Sie die Änderungen an, indem Sie den folgenden Befehl ausführen.

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak  
grub2-mkconfig -o /boot/grub2/grub.cfg

und starten Sie den Server neu.

reboot

Überprüfen Sie jetzt, ob Quota aktiviert ist:

mount | grep ' / '
[root@server1 ~]# mount | grep ' / '  
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)  
[root@server1 ~]#

Wenn Quota aktiv ist, sehen wir “ usrquota,grpquota “ in der Liste der Mount-Optionen.

Aktivierung von Quota auf einer separaten /var-Partition

Wenn Sie eine separate /var-Partition haben, bearbeiten Sie /etc/fstab und fügen Sie ,uquota,gquota zur /-Partition (/dev/mapper/centos-var) hinzu:

nano /etc/fstab
  
#  
# /etc/fstab  
# Erstellt von anaconda am So Sep 21 16:33:45 2014  
#  
# Zugängliche Dateisysteme werden unter '/dev/disk' verwaltet  
# Siehe man-Seiten fstab(5), findfs(8), mount(8) und/oder blkid(8) für weitere Informationen  
#  
/dev/mapper/centos-root /                       xfs     defaults        1 1  
/dev/mapper/centos-var /var                     xfs     defaults,uquota,gquota        1 2  
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot                   xfs     defaults        1 3  
/dev/mapper/centos-swap swap                    swap    defaults        0 0

Führen Sie dann aus

mount -o remount /var
quotacheck -avugm  
quotaon -avug

um Quota zu aktivieren. Wenn Sie eine Fehlermeldung erhalten, dass keine Partition mit aktiviertem Quota vorhanden ist, starten Sie den Server neu, bevor Sie fortfahren.

6 Apache, PHP, MySQL und phpMyAdmin installieren

Aktivieren Sie das Remi-Repository, um neuere PHP-Versionen (derzeit PHP 7.4) zu erhalten:

dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm  
dnf -y install yum-utils  
dnf -y module reset php  
dnf -y module install php:remi-7.4  
dnf update

Wir können die benötigten Pakete mit einem einzigen Befehl installieren:

dnf -y install httpd mod_ssl mariadb-server php php-mysqlnd php-mbstring

Um sicherzustellen, dass der Server nicht über die HTTPOXY-Sicherheitsanfälligkeit angegriffen werden kann, werden wir den HTTP_PROXY-Header in Apache global deaktivieren.

Fügen Sie die Apache-Headerregel am Ende der httpd.conf-Datei hinzu:

echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf

Und starten Sie httpd neu, um die Konfigurationsänderung anzuwenden.

service httpd restart

Installieren Sie phpMyAdmin:

cd /tmp  
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.gz  
tar xzvf phpMyAdmin-5.0.2-all-languages.tar.gz  
mkdir /usr/share/phpmyadmin  
mv phpMyAdmin-5.0.2-all-languages/* /usr/share/phpmyadmin/  
mkdir /usr/share/phpmyadmin/tmp  
chown -R apache:apache /usr/share/phpmyadmin  
chmod 777 /usr/share/phpmyadmin/tmp

Optional: Ändern des Apache MPM-Moduls

CentOS 8 verwendet standardmäßig das Apache MPM Event-Modul, was einerseits gut ist, da es die Verwendung des HTTP/2-Protokolls ermöglicht. Andererseits erlaubt es nicht die Verwendung des Apache mod_php-Moduls. Im Allgemeinen sollte man heute PHP-FPM als Standard verwenden, und ISPConfig unterstützt das. Falls Sie aus Kompatibilitätsgründen den alten mod_php-Modus benötigen, können Sie das Apache MPM wie folgt wechseln:

nano /etc/httpd/conf.modules.d/00-mpm.conf

Fügen Sie ein # vor der MPM-Event-Zeile hinzu, sodass es folgendermaßen aussieht:

# LoadModule mpm_event_module modules/mod_mpm_event.so

Entfernen Sie dann das # vor der MPM-Prefork-Zeile, sodass es folgendermaßen aussieht:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Starten Sie dann httpd neu, um die Konfigurationsänderung anzuwenden.

service httpd restart

7 Dovecot installieren

Dovecot kann wie folgt installiert werden:

dnf -y install dovecot dovecot-mysql dovecot-pigeonhole

Erstellen Sie eine leere dovecot-sql.conf-Datei und erstellen Sie Symlinks:

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

Jetzt erstellen Sie die Systemstartlinks und starten Dovecot:

systemctl enable dovecot  
systemctl start dovecot

8 Postfix installieren

Postfix kann wie folgt installiert werden:

dnf -y install postfix postfix-mysql

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

nano /etc/postfix/master.cf

Kommentieren Sie die Abschnitte submission und smtps wie folgt aus und fügen Sie bei Bedarf Zeilen hinzu, sodass dieser Abschnitt der master.cf-Datei genau wie der unten aussieht. WICHTIG: Entfernen Sie das # vor den Zeilen, die mit smtps und submission beginnen, und nicht nur von den -o-Zeilen nach diesen Zeilen!

[...]  
submission inet n - 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=  
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject  
# -o milter_macro_daemon_name=ORIGINATING  
smtps inet n - 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=  
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject  
# -o milter_macro_daemon_name=ORIGINATING  
[...]  

Schalten Sie dann Sendmail aus und starten Sie Postfix und MariaDB (MySQL):

systemctl enable mariadb.service  
systemctl start mariadb.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.

Um die Unterstützung für alte/veraltete Geräte zu aktivieren, führen Sie diesen Befehl aus (optional, nur verwenden, wenn Sie möchten, dass alte Mailgeräte sich verbinden, da dies die SSL/TLS-Konfiguration schwächt, indem weniger sichere Chiffren erlaubt werden):

update-crypto-policies --set LEGACY

9 Getmail installieren

Getmail kann wie folgt installiert werden:

dnf install python2  
cd /tmp  
wget http://pyropus.ca/software/getmail/old-versions/getmail-5.14.tar.gz  
tar xvfz getmail-5.14.tar.gz  
cd getmail-5.14  
python2 setup.py build  
python2 setup.py install

10 MySQL-Passwörter festlegen und phpMyAdmin konfigurieren

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 DIESER SCRIPTES 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 MariaDB gerade installiert haben und  
noch kein Root-Passwort festgelegt haben, ist das Passwort leer,  
Sie sollten 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 Festlegen des Root-Passworts stellt sicher, dass niemand sich ohne die  
richtige Autorisierung beim MariaDB-Root-Benutzer anmelden kann.  
  
Root-Passwort festlegen? [Y/n] <-- EINGABETASTE  
Neues Passwort: <-- Ihr Root-SQL-Passwort  
Neues Passwort erneut eingeben: <-- Ihr Root-SQL-Passwort  
Passwort erfolgreich aktualisiert!  
Aktualisieren der 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 eine Verbindung  
erlaubt werden.  Dies stellt sicher, dass niemand das Root-Passwort  
über das Netzwerk erraten kann.  
  
Root-Login aus der Ferne nicht erlauben? [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 auf der Testdatenbank werden entfernt...  
... Erfolg!  
  
Das Aktualisieren der Berechtigungstabellen stellt sicher, dass alle  
Änderungen, die bisher vorgenommen wurden, 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. Erstellen Sie diese phpMyAdmin-Konfigurationsdatei:

nano /etc/httpd/conf.d/phpmyadmin.conf

Fügen Sie diesen Inhalt in die Datei ein:

# phpMyAdmin - Webbasierter MySQL-Browser, der in PHP geschrieben ist  
# Erlaubt standardmäßig nur localhost  
# Aber phpMyAdmin für jeden anderen als localhost zu erlauben, 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
  #  
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   

            

Ändern Sie als Nächstes die Authentifizierung in phpMyAdmin von Cookie auf HTTP:

cp -pf /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php  
nano /usr/share/phpmyadmin/config.inc.php
[...]  
/* Authentifizierungstyp */  
$cfg['Servers'][$i]['auth_type'] = 'http';  
[...]  

Erstellen Sie dann die Systemstartlinks für Apache und starten Sie ihn:

systemctl enable httpd  
systemctl restart httpd

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.

11 Amavisd-new, SpamAssassin, ClamAV und Postgrey installieren

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

dnf -y install amavisd-new spamassassin clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd unzip bzip2 perl-DBD-mysql postgrey re2c

Dann starten wir freshclam, amavisd und clamd.amavisd:

sa-update  
freshclam  
systemctl enable amavisd.service  
systemctl start amavisd.service  
systemctl start [email protected]  
systemctl enable postgrey.service  
systemctl start postgrey.service

Im nächsten Schritt konfigurieren wir postgrey. Öffnen Sie die Datei /etc/sysconfig/postgrey in einem Editor:

nano /etc/sysconfig/postgrey

und ändern Sie die Zeile:

POSTGREY_TYPE="--unix=/var/spool/postfix/postgrey/socket"

in

POSTGREY_TYPE="--inet=10023"

Speichern Sie die Datei und starten Sie postgrey neu:

service postgrey restart

Um amavisd zu konfigurieren, bearbeiten Sie die Datei /etc/clamd.d/amavisd.conf:

nano /etc/clamd.d/amavisd.conf

und ändern Sie die Zeile:

LocalSocket /run/clamd.amavisd/clamd.sock

in

LocalSocket /var/spool/amavisd/clamd.sock

Speichern Sie die geänderte Konfigurationsdatei und starten Sie ClamAV neu:

systemctl restart [email protected]

Jetzt müssen wir eine Systemeinheit für den freshclam-Dienst erstellen. Erstellen Sie eine neue Datei /usr/lib/systemd/system/freshclam.service:

nano /usr/lib/systemd/system/freshclam.service

und geben Sie den folgenden Inhalt in diese Datei ein:

[Unit]
Description = ClamAV Scanner
After = network.target

[Service]
Type = forking
# Wenn Sie mehr als einmal am Tag scannen möchten, ändern Sie die Zahl 1 in der folgenden Zeile in Ihre gewünschte Zahl.
ExecStart = /usr/bin/freshclam -d -c 1
Restart = on-failure
PrivateTmp =true

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei und aktivieren und starten Sie den Dienst.

systemctl enable freshclam.service  
systemctl start freshclam.service  
systemctl status freshclam.service

12 Apache mit mod_php, mod_fcgi/PHP, PHP-FPM installieren

ISPConfig 3 ermöglicht es Ihnen, mod_php, mod_fcgi/PHP, cgi/PHP und PHP-FPM pro Website zu verwenden.

Wir können Apache2 mit mod_php, mod_fcgid und PHP wie folgt installieren:

dnf -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-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel php-fpm php-intl php-imagick php-pspell wget

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

nano /etc/php.ini

… und ändern die Fehlerberichterstattung (damit 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 & ~E_STRICT
[...]  
; cgi.fix_pathinfo bietet *echte* PATH_INFO/PATH_TRANSLATED-Unterstützung für CGI. PHPs  
; vorheriges Verhalten war es, PATH_TRANSLATED auf SCRIPT_FILENAME zu setzen und nicht zu verstehen,  
; was PATH_INFO ist. Für weitere Informationen zu PAppp.tldTH_INFO siehe die CGI-Spezifikationen. Das Setzen  
; dies auf 1 bewirkt, dass PHP CGI seine Pfade gemäß der Spezifikation korrigiert. Ein Wert von  
; null bewirkt, dass PHP sich wie zuvor verhält. Der Standardwert 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'
[...]  

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

Jetzt fügen wir die Unterstützung für Let’s Encrypt hinzu. ISPConfig verwendet jetzt acme.sh als Let’s Encrypt-Client. Installieren Sie acme.sh mit dem folgenden Befehl:

curl https://get.acme.sh | sh -s

13 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.

dnf -y install python3-devel
cd /usr/local/src/  
wget https://fossies.org/linux/www/apache_httpd_modules/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 --with-python=/usr/bin/python3  
make

Es gibt einen Fehler im kompilierten Modul, der dazu führen wird, dass die Installation mit dem Fehler “ version = “fatal: Not a git repository (or any of the parent directories): .git “ fehlschlägt. Um dies zu beheben, führen Sie diesen sed-Befehl aus (der Befehl ist eine Zeile!).

sed -e 's/(git describe --always)/(git describe --always 2>\/dev\/null)/g' -e 's/`git describe --always`/`git describe --always 2>\/dev\/null`/g' -i $( find . -type f -name Makefile\* -o -name version.sh )

Installieren Sie dann das Modul mit diesem Befehl.

make install

und aktivieren Sie das Modul in Apache:

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

14 PureFTPd installieren

PureFTPd kann mit dem folgenden Befehl installiert werden:

dnf -y install pure-ftpd

Erstellen Sie dann die Systemstartlinks und starten Sie 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 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:

dnf 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, indem Sie das # vor der TLS-Zeile entfernen. Es wird dringend empfohlen, TLS zu aktivieren.

[...]  
# Diese Option kann drei Werte annehmen:  
# 0 : deaktiviert die SSL/TLS-Verschlüsselungsschicht (Standard).  
# 1 : akzeptiert sowohl traditionelle als auch verschlüsselte Sitzungen.  
# 2 : verweigert 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 können.

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/

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.pem

Ländercode (2 Buchstaben) [XX]: <– Geben Sie Ihren Ländercode ein (z.B. “DE”).
Bundesland oder Provinzname (vollständiger Name) []: <– Geben Sie den Namen Ihres Bundeslandes oder Ihrer Provinz ein.
Ort (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 organisatorischen Einheit (z.B. Abteilung) []: <– Geben Sie den Namen Ihrer organisatorischen Einheit 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

Erstellen Sie eine DHParam-Datei:

openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048

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.

15 BIND installieren

Wir können BIND wie folgt installieren:

dnf -y install bind bind-utils haveged

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 befü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  
systemctl enable haveged.service  
systemctl start haveged.service

16 AWStats installieren

AWStats kann wie folgt installiert werden:

dnf -y install awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

Die alternative Webstatistik-Anwendung ‘webalizer’ ist für CentOS 8 nicht mehr verfügbar, sodass Sie nur AWStats verwenden können.

17 Jailkit installieren

Jailkit wird verwendet, um SSH-Benutzer und Cronjobs zu chrooten. Es kann wie folgt installiert werden:

ln -s /usr/bin/python2 /usr/bin/python  
cd /tmp  
wget http://olivier.sessink.nl/jailkit/jailkit-2.21.tar.gz  
tar xvfz jailkit-2.21.tar.gz  
cd jailkit-2.21  
./configure  
make  
make install  
cd ..  
rm -rf jailkit-2.21*

18 Fail2Ban installieren

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

dnf -y install iptables-services fail2ban fail2ban-systemd  
systemctl stop firewalld.service  
systemctl mask firewalld.service  
systemctl disable firewalld.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

Erstellen Sie dann die Systemstartlinks für fail2ban und starten Sie es:

systemctl enable fail2ban.service  
systemctl start fail2ban.service

19 rkhunter installieren

rkhunter kann wie folgt installiert werden:

dnf -y install rkhunter

20 Mailman installieren

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.

dnf -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  
ln -s /usr/lib/mailman/mail/mailman /usr/bin/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 Mailingliste
Um Ihre Mailingliste zu erstellen, müssen Sie möglicherweise Ihre /etc/aliases (oder äquivalente) Datei bearbeiten, indem Sie die folgenden Zeilen hinzufügen und möglicherweise das Programm newaliases ausführen:

Mailingliste Mailman

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…

nano /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

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/ hinzu. 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 für die 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 auf Mailman wie folgt zugreifen:

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, von denen Sie auf Mailman zugreifen möchten, deaktiviert sein müssen!), 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.

21 Roundcube-Webmail installieren

Um den RoundCube-Webmail-Client zu installieren, laden Sie die neueste Version mit wget in den /tmp-Ordner herunter:

cd /tmp  
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz

Entpacken Sie das tar.gz-Archiv und verschieben Sie den RoundCube-Quellcode nach /usr/share/roundcubemail

tar xfz roundcubemail-1.4.3-complete.tar.gz  
mkdir /usr/share/roundcubemail  
mv /tmp/roundcubemail-1.4.3/* /usr/share/roundcubemail/  
chown -R root:root /usr/share/roundcubemail  
chown apache /usr/share/roundcubemail/temp  
chown apache /usr/share/roundcubemail/logs

Erstellen Sie eine roundcubemail.conf-Konfigurationsdatei mit dem Nano-Editor:

nano /etc/httpd/conf.d/roundcubemail.conf

Und fügen Sie den folgenden Inhalt in diese Datei ein:

#  
# Round Cube Webmail ist ein browserbasierter mehrsprachiger IMAP-Client  
#

Alias /roundcubemail /usr/share/roundcubemail  
Alias /webmail /usr/share/roundcubemail

# Definieren Sie, wer auf das Webmail zugreifen kann  
# Sie können die Berechtigungen erweitern, sobald sie konfiguriert sind


        Options none
        AllowOverride Limit
        Require all granted


# Definieren Sie, wer auf den Installer zugreifen kann  
# Halten Sie dies gesichert, sobald es konfiguriert ist


        Options none
        AllowOverride Limit
        Require all granted



# Diese Verzeichnisse sollten von Webclients nicht angezeigt werden.

    Order Allow,Deny
    Deny from all


    Order Allow,Deny
    Deny from all

Starten Sie Apache neu:

systemctl restart httpd.service

Jetzt benötigen wir eine Datenbank für RoundCube-Mail, wir werden sie wie folgt initialisieren:

mysql -u root -p

Geben Sie an der MariaDB-Eingabeaufforderung Folgendes ein:

CREATE DATABASE roundcubedb;  
CREATE USER roundcubeuser@localhost IDENTIFIED BY 'roundcubepassword';  
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;  
FLUSH PRIVILEGES;  
exit

Ich verwende die Details für die RoundCube-Datenbank als Beispiel, bitte ersetzen Sie die Werte aus Sicherheitsgründen durch Ihre eigenen.

Jetzt werden wir RoundCube im Browser unter http://192.168.0.100/roundcubemail/installer installieren

Jetzt erstellen Sie die config.inc.php-Datei:

nano /usr/share/roundcubemail/config/config.inc.php

Drücken Sie dann im Webinstaller auf “Fortfahren”. Auf der folgenden Seite drücken Sie die Schaltfläche “Datenbank initialisieren”.

Schließlich deaktivieren Sie den RoundCube-Installer. Ändern Sie die RoundCube config.inc.php-Konfigurationsdatei

nano /usr/share/roundcubemail/config/config.inc.php

und ändern Sie die Zeile:

$config['enable_installer'] = true;

in:

$config['enable_installer'] = false;

Roundcube ist jetzt unter den Aliasnamen /webmail und /roundcubemail auf Ihrem Server verfügbar:

http://192.168.0.100/webmail

Der RoundCube-Login ist die E-Mail-Adresse und das Passwort eines E-Mail-Kontos, das Sie später in ISPConfig erstellen.

22 ISPConfig 3.2 installieren

Der ISPConfig-Installer konfiguriert alle Dienste wie Postfix, Dovecot usw. für Sie.

Sie haben jetzt auch die Möglichkeit, den Installer ein SSL-VHost für das ISPConfig-Control-Panel erstellen zu lassen, sodass ISPConfig über https:// anstelle von http:// aufgerufen werden kann. Um dies zu erreichen, drücken Sie einfach die Eingabetaste, wenn Sie diese Frage sehen: Möchten Sie eine sichere (SSL)-Verbindung zur ISPConfig-Weboberfläche (y,n) [y]:.

Um ISPConfig 3.2 Nightly Build zu installieren, tun Sie dies:

cd /tmp   
wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz   
tar xfz ispconfig.tar.gz   
cd ispconfig3*/install/

Der nächste Schritt ist, Folgendes auszuführen:

php -q install.php

Dies startet den ISPConfig 3-Installer. Der Installer konfiguriert alle Dienste wie Postfix, Dovecot usw. für Sie.

[root@server1 install]# php install.php
  
--------------------------------------------------------------------------------  
_____ ___________ _____ __ _ ____  
|_ _/ ___| ___ \ / __ \ / _(_) /__ \  
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /  
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |  
_| |_\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \  
\___/\____/\_| \____/\___/|_| |_|_| |_|
  
>> Erste Konfiguration
Betriebssystem: CentOS 8.2
Folgendes sind einige Fragen zur primären Konfiguration, seien Sie vorsichtig.  
Standardwerte stehen in [Klammern] und können mit  akzeptiert werden.  
Tippen Sie "quit" (ohne Anführungszeichen), um den Installer zu stoppen.
  
Sprache auswählen (en,de) [en]: <-- Drücken Sie die Eingabetaste
Installationsmodus (standard,experte) [standard]: <-- Drücken Sie die Eingabetaste
Vollqualifizierter Hostname (FQDN) des Servers, z.B. server1.domain.tld [server1.example.com]: <-- Drücken Sie die Eingabetaste
MySQL-Server-Hostname [localhost]: <-- Drücken Sie die Eingabetaste
MySQL-Server-Port [3306]: <-- Drücken Sie die Eingabetaste
MySQL-Root-Benutzername [root]: <-- Drücken Sie die Eingabetaste
MySQL-Root-Passwort []: <-- Geben Sie hier das MySQL-Root-Passwort ein
MySQL-Datenbank zu erstellen [dbispconfig]: <-- Drücken Sie die Eingabetaste
MySQL-Zeichensatz [utf8]: <-- Drücken Sie die Eingabetaste
Konfigurieren von Postgrey  
Konfigurieren von Postfix  
Generieren eines 4096-Bit-RSA-Privatschlüssels  
................................++  
.....................................................................................................................................................................................................................................................................................................................................................++  
Schreiben eines neuen privaten Schlüssels in 'smtpd.key'  
-----  
Sie werden gefragt, welche Informationen in Ihre Zertifikatsanforderung aufgenommen werden.  
Was Sie eingeben, wird als Distinguished Name oder DN bezeichnet.  
Es gibt viele Felder, aber Sie können einige leer lassen.  
Für einige Felder gibt es einen Standardwert,  
Wenn Sie '.' eingeben, wird das Feld leer gelassen.  
-----  
Ländercode (2 Buchstaben) [XX]: <-- Geben Sie den 2-Buchstaben-Ländercode ein, z.B. US  
Bundesland oder Provinzname (vollständiger Name) []: <-- Geben Sie den Namen des Bundeslandes oder der Provinz ein  
Ort (z.B. Stadt) [Default City]: <-- Geben Sie den Namen der Stadt ein  
Name der Organisation (z.B. Firma) [Default Company Ltd]: <-- Geben Sie den Namen der Firma ein  
Name der organisatorischen Einheit (z.B. Abteilung) []: <-- Drücken Sie die Eingabetaste  
Allgemeiner Name (z.B. Ihr Name oder der Hostname Ihres Servers) []: <-- Geben Sie hier den Hostnamen des Servers ein, in meinem Fall: server1.example.com  
E-Mail-Adresse []: <-- Geben Sie die E-Mail-Adresse ein
Bitte geben Sie die folgenden 'zusätzlichen' Attribute ein,  
 die mit Ihrer Zertifikatsanforderung gesendet werden  
Ein Herausforderungs-Passwort []: <-- Drücken Sie die Eingabetaste  
Ein optionaler Firmenname []: <-- Drücken Sie die Eingabetaste  
Schreiben des RSA-Schlüssels
  
Konfigurieren von DBServer  
ISPConfig-Job installieren  
ISPConfig-Job installieren  
kein Crontab für root  
kein Crontab für getmail  
IP-Adressen erkennen  
Dienste neu starten ...  
Installation abgeschlossen.

Der Installer konfiguriert automatisch alle zugrunde liegenden Dienste, sodass keine manuelle Konfiguration erforderlich ist.

23 Erster ISPConfig-Login

Danach können Sie auf ISPConfig 3 unter http(s)://server1.example.com:8080/ oder http(s)://192.168.0.100:8080/ zugreifen (http oder https hängt davon ab, was Sie während der Installation gewählt haben).

Melden Sie sich mit dem Benutzernamen admin und dem Passwort admin an (Sie sollten das Standardpasswort nach Ihrem ersten Login ändern):

Der ISPConfig-Login

23.1 Das ISPConfig 3-Handbuch

Um zu lernen, wie man ISPConfig 3 verwendet, empfehle ich dringend, das ISPConfig 3-Handbuch herunterzuladen.

Auf mehr als 300 Seiten behandelt es das Konzept hinter ISPConfig (Admin, Reseller, Kunden), erklärt, wie man ISPConfig 3 installiert und aktualisiert, enthält ein Referenzhandbuch für alle Formulare und Formularfelder in ISPConfig zusammen mit Beispielen für gültige Eingaben und bietet Tutorials für die häufigsten Aufgaben in ISPConfig 3. Es beschreibt auch, wie Sie Ihren Server sicherer machen können und enthält am Ende einen Abschnitt zur Fehlersuche.

24 Download als virtuelle Maschine

Dieses Setup ist als virtueller Maschinen-Download im OVA/OVF-Format (kompatibel mit VMWare und Virtualbox) für Howtoforge-Abonnenten verfügbar.

Anmeldedaten für die VM

  • Das Root-Passwort lautet: howtoforge
  • Das Passwort des ISPConfig “admin”-Benutzers lautet: howtoforge
  • Es gibt einen weiteren Shell-Benutzer mit dem Namen “howtoforge” und dem Passwort: howtoforge

Bitte ändern Sie beide Passwörter beim ersten Login.

  • Die IP-Adresse der VM ist 192.168.0.100

25 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.