ISPConfig Perfect Multiserver Einrichtung unter Ubuntu 20.04 und Debian 10
8 Installieren des Webmail-Servers
Dies ist ein optionaler Schritt. Wenn Sie keinen separaten Webmail-Server wünschen, fahren Sie mit dem nächsten Schritt fort.
Melden Sie sich als root an oder führen Sie
su -
aus, um root-Benutzer auf Ihrem Server zu werden, bevor Sie fortfahren. WICHTIG: Sie müssen ’su -‚ und nicht nur ’su‘ verwenden, sonst wird Ihre PATH-Variable von Debian falsch gesetzt.
8.1 Konfigurieren Sie den Hostnamen
Der Hostname Ihres Servers sollte eine Subdomain wie „panel.example.com“ sein. Verwenden Sie keinen Domain-Namen ohne Subdomain-Teil wie „example.com“ als Hostname, da dies später zu Problemen bei der Mail-Einrichtung führen wird. Zunächst sollten Sie den Hostnamen in /etc/hosts überprüfen und gegebenenfalls ändern. Die Zeile sollte lauten: „IP-Adresse – Leerzeichen – vollständiger Hostname inkl. Domain – Leerzeichen – Subdomainteil“. Für unseren Hostnamen webmail.example.com soll die Datei wie folgt aussehen:
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost # This line should be changed on every node to the correct servername: 127.0.1.1 webmail.example.com webmail # These lines are the same on every node: 10.0.64.12 panel.example.com panel 10.0.64.13 web01.example.com web01 10.0.64.14 mx1.example.com mx1 10.0.64.15 mx2.example.com mx2 10.0.64.16 ns1.example.com ns1 10.0.64.17 ns2.example.com ns2 10.0.64.18 webmail.example.com webmail # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Wie Sie sehen können, haben wir auch die Hostnamen unserer anderen Server hinzugefügt, damit diese später über das interne Netzwerk kommunizieren können.
Bearbeiten Sie anschließend die Datei /etc/hostname:
nano /etc/hostname
Sie soll in unserem Fall nur den Teil mit der Subdomain enthalten:
webmail
Starten Sie schließlich den Server neu, um die Änderung zu übernehmen:
systemctl reboot
Melden Sie sich erneut an und überprüfen Sie mit diesen Befehlen, ob der Hostname nun korrekt ist:
hostname hostname -f
Die Ausgabe sollte wie folgt aussehen:
root@webmail:~$ hostname webmail root@webmail:~$ hostname -f webmail.example.com
8.2 ISPConfig installieren
Jetzt können wir den Auto-Installer für alle Pakete und ISPConfig ausführen:
wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --roundcube --use-php=system --interactive
Nach einiger Zeit werden Sie sehen:
WARNING! This script will reconfigure your complete server! It should be run on a freshly installed server and all current configuration that you have done will most likely be lost! Type 'yes' if you really want to continue:
Antworten Sie mit „Ja“ und drücken Sie Enter. Der Installer wird nun gestartet.
Wenn die Installation und Konfiguration der Pakete abgeschlossen ist, wird das Root-Passwort für MySQL auf webmail angezeigt. Notieren Sie sich dieses (zusammen mit dem Servernamen, um spätere Verwechslungen zu vermeiden).
Jetzt müssen wir einige Fragen beantworten, da wir den interaktiven Modus verwenden. Dies ist notwendig, da dieser Server zu Ihrem Multiserver-Setup hinzugefügt wird.
[INFO] Installing ISPConfig3. [INFO] Your MySQL root password is: kl3994aMsfkkeE
——————————————————————————–
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `–.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `–. \ __/ | | / _ \| ‚_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
——————————————————————————–
>> Initial configuration
Operating System: Debian 10.0 (Buster) or compatible
Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with <ENTER>.
Tap in „quit“ (without the quotes) to stop the installer.
Select language (en,de) [en]: <– Hit enter
Installation mode (standard,expert) [standard]: <– expert
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [webmail.example.com]: <– Hit Enter
MySQL server hostname [localhost]: <– Hit Enter
MySQL server port [3306]: <– Hit Enter
MySQL root username [root]: <– Hit Enter
MySQL root password []: <– Enter the MySQL password the script just gave you
MySQL database to create [dbispconfig]: <– Hit Enter
MySQL charset [utf8]: <– Hit Enter
The next two questions are about the internal ISPConfig database user and password.
It is recommended to accept the defaults which are ‚ispconfig‘ as username and a random password.
If you use a different password, use only numbers and chars for the password.
ISPConfig mysql database username [ispconfig]: <– Hit Enter
ISPConfig mysql database password [aakl203920459853sak20284204]: <– Hit Enter
Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: <– y
MySQL master server hostname []: <– panel.example.com
MySQL master server port []: <– Hit Enter
MySQL master server root username [root]: <– Hit Enter
MySQL master server root password []: <– the password you gave the external root user on the master server.
MySQL master server database name [dbispconfig]: <– Hit Enter
Adding ISPConfig server record to database.
Configure Mail (y,n) [y]: <– n
Configuring Jailkit
Configuring Pureftpd
Configure DNS Server (y,n) [y]: <– n
The Web Server option has to be enabled when you want run a web server or when this node shall host the ISPConfig interface.
Configure Web Server (y,n) [y]: <– Hit enter
Configuring Apache
Configuring vlogger
[WARN] autodetect for OpenVZ failed
Force configure OpenVZ (y,n) [n]: <– Hit enter
Skipping OpenVZ
Configure Firewall Server (y,n) [y]: <– Hit enter
Configuring Ubuntu Firewall
[WARN] autodetect for Metronome XMPP Server failed
Force configure Metronome XMPP Server (y,n) [n]: <– Hit enter
Skipping Metronome XMPP Server
Configuring Fail2ban
Install ISPConfig Web Interface (y,n) [n]: <– Hit enter
Do you want to create SSL certs for your server? (y,n) [y]: <– n
Configuring Apps vhost
Configuring DBServer
Installing ISPConfig crontab
Detect IP addresses
Restarting services …
Installation completed.
[INFO] Adding php versions to ISPConfig.
[INFO] Checking all services are running.
[INFO] mysql: OK
[INFO] clamav-daemon: OK
[INFO] postfix: OK
[INFO] bind9: OK
[INFO] pureftpd: OK
[INFO] apache2: OK
[INFO] Installation ready.
[INFO] Your MySQL root password is: kl3994aMsfkkeE
[INFO] Warning: Please delete the log files in /tmp/ispconfig-ai/var/log/setup-* once you don’t need them anymore because they contain your passwords!
8.3 Einrichten der Webmail-Seite
Wir werden nun die Webmail-Website einrichten. Zuerst aktivieren wir die Standard-Apache-Konfiguration, da sie sonst die Webmail-Site stört:
a2dissite 000-default systemctl reload apache2
Loggen Sie sich nun in ISPConfig ein und gehen Sie auf Sites -> Add new website.
Geben Sie „webmail.example.com“ als Domain ein. Deaktivieren Sie Auto-Subdomain und aktivieren Sie Let’s Encrypt. Aktivieren Sie außerdem PHP.
Eine sichere Verbindung ist wichtig, also gehen Sie zum Reiter Redirect und aktivieren Sie „Rewrite HTTP to HTTPS“.
Gehen Sie nun auf die Registerkarte „Optionen“ und fügen Sie den folgenden Apache-Direktive-Snippet hinzu:
DocumentRoot "/var/lib/roundcube/public_html" Alias "/stats" "{DOCROOT}/stats"
Klicken Sie auf „Speichern“, um diese Einstellungen zu speichern.
8.4 Konfigurieren von Roundcube
Wir werden die Konfiguration so anpassen, dass MX2 als IMAP-Server und MX1 als SMTP-Server verwendet wird. Sie können dies an Ihre eigenen Bedürfnisse/Ideen anpassen.
nano /etc/roundcube/config.inc.php
Die folgenden Einstellungen müssen Sie wie folgt anpassen:
$config['default_host'] = 'ssl://mx2.example.com'; $config['smtp_server'] = 'tls://mx1.example.com'; $config['smtp_port'] = 587;
8.5 Einrichten der Firewall
Als letztes müssen wir unsere Firewall einrichten.
Melden Sie sich in der ISPConfig-Benutzeroberfläche an und gehen Sie zu System -> Firewall. Klicken Sie dann auf „Add new firewall record“.
Stellen Sie sicher, dass Sie den richtigen Server auswählen. Für unseren Webmail-Server müssen wir die folgenden Ports öffnen:
TCP:
22,80,443
Es müssen keine UDP-Ports über die Benutzeroberfläche geöffnet werden.
Wir werden auch den Port 3306 öffnen, der für MySQL verwendet wird, aber aus Sicherheitsgründen nur von unserem lokalen Netzwerk aus. Führen Sie dazu den folgenden Befehl von der CLI aus, nachdem die Änderung aus dem ISPConfig-Panel propagiert wurde (wenn der rote Punkt weg ist):
ufw allow from 10.0.64.0/24 to any port 3306 proto tcp
Ihr Webmail-Server ist nun einsatzbereit. Wenn Sie Roundcube in die Mailuser-Funktion von ISPConfig integrieren wollen, wo jeder Mailaccount sein eigenes Passwort, seine Spamfilter-Einstellungen, seinen Autoresponder und mehr ändern kann, werfen Sie einen Blick auf diese Anleitung.