Perfekte Server Automatisierte ISPConfig 3 Installation auf Debian 10 und Ubuntu 20.04

Dieses Tutorial führt Sie durch die Installation Ihres eigenen ISPConfig 3 Einzelserver-Setups mit dem ISPConfig-Auto-Installer. Dieser Installer folgt den alten Perfect Server-Anleitungen, ist aber modularer und einfacher zu befolgen. Wenn Sie stattdessen ein Multiserver-Setup mit dedizierten Servern für jeden Dienst einrichten möchten, lesen Sie die Perfect Multiserver-Anleitung.

Diese Anleitung funktioniert sowohl für Debian 10 als auch für Ubuntu 20.04. Wir werden den Hostnamen server1.example.com verwenden. Ersetzen Sie ihn, wo nötig.

1. Melden Sie sich auf dem Server an

Melden Sie sich als root an oder führen Sie

su -

aus, um der 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.

2. Konfigurieren Sie den Hostnamen und die Hosts

Der Hostname Ihres Servers sollte eine Subdomain wie „server1.example.com“ sein. Verwenden Sie keinen Domain-Namen ohne Subdomain-Teil wie „example.com“ als Hostname, da dies später zu Problemen bei der 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 server1.example.com soll die Datei so aussehen (einige Zeilen können anders sein, das kann je nach Hosting-Anbieter unterschiedlich sein):

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost
# This line should be changed to the correct servername:
127.0.1.1 server1.example.com server1
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Bearbeiten Sie anschließend die Datei /etc/hostname:

nano /etc/hostname

Sie soll in unserem Fall nur den Teil mit der Subdomain enthalten:

server1

Zum Schluss starten Sie den Server neu, um die Änderung zu übernehmen:

systemctl reboot

Loggen Sie sich wieder ein und überprüfen Sie mit diesen Befehlen, ob der Hostname nun korrekt ist:

hostname
hostname -f

Die Ausgabe sollte wie folgt aussehen:

[email protected]:~$ hostname
server1
[email protected]:~$ hostname -f
server1.example.com

Sie müssen auch einen DNS-Eintrag bei Ihrem DNS-Anbieter einrichten, der auf Ihren Server zeigt. Es sollte einen A- (und/oder AAAA-) Eintrag für die Subdomain geben, der auf Ihre öffentliche IP verweist.

3. Starten Sie den Auto-Installer

Nun können wir den Auto-Installer ausführen. Das Basis-Setup enthält die folgenden Softwarepakete (plus deren Abhängigkeiten natürlich): Apache2, PHP (Versionen 5.6 – 8.0), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats und GoAccess. Sie können einfach wählen, bestimmte Funktionen nicht zu verwenden oder zusätzliche Dienste zu installieren, indem Sie Argumente an das Installationsprogramm übergeben. Sie können alle Argumente mit anzeigen:

wget -O - https://get.ispconfig.org | sh -s -- --help

Sie können nun das Skript mit Argumenten ausführen. Wenn Sie z. B. eine normale Installation mit einem Portbereich für Passives FTP + unbeaufsichtigte Upgrades wünschen, führen Sie aus:

wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgrades

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 die Eingabetaste. Das Installationsprogramm wird nun gestartet.

Wenn der Installer fertig ist, zeigt er Ihnen das ISPConfig-Admin- und MySQL-Root-Passwort so an:

[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC
[INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYs

Notieren Sie sich diese Informationen, da Sie sie später noch benötigen werden.

4. Einrichten der Firewall

Als letztes müssen Sie 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“.

Bei einer normalen Einrichtung würde es so aussehen:

TCP:

20,21,22,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081

UDP:

53

Die notwendigen Ports für jeden Dienst sind:

Web: 20, 21, 22, 80, 443 und 40110:40210 (alle TCP, kein UDP)

Mail: 110, 143, 465, 587, 993 und 995 (alle TCP, kein UDP)

DNS: 53 (TCP und UDP)

Panel: 8080 und 8081 (alle TCP, kein UDP)

Ihr Server ist nun eingerichtet und einsatzbereit. Sie können sich unter https://server1.example.com:8080 anmelden.

5. Erweiterte Optionen

Das Auto-Installationsprogramm verfügt über verschiedene Befehlszeilenoptionen zur Feinabstimmung des Setups. Sie können z. B. zwischen Apache und Nginx Webserver wählen und welche Dienste auf dem System installiert werden sollen. Die Kommandozeilenargumente sind:

Usage: ispc3-ai.sh [] [...]

This script automatically installs all needed packages for an ISPConfig 3 setup using the guidelines from the "Perfect Server Setup" howtos on www.howtoforge.com.

Possible arguments are:
    --help          Show this help page
    --debug         Enable verbose logging (logs each command with the exit code)
    --channel       Choose the channel to use for ISPConfig. --channel=<stable|dev>
                    "stable" is the latest ISPConfig release available on www.ispconfig.org
                    "dev" is the latest stable-branch from the ISPConfig git repository: https://git.ispconfig.org/ispconfig/ispconfig3/tree/stable-3.1
                    -> The dev channel might contain bugs and less-tested features and should only be used in production by very experienced users.
    --lang          Use language for ISPConfig installation. Specify with --lang=en|de (only en (English) and de (German) supported currently).
    --interactive   Don't install ISPConfig in non-interactive mode. This is needed if you want to use expert mode, e. g. to install a slave server that shall be integrated into an existing
                    multiserver setup.
    --use-nginx     Use nginx webserver instead of apache2
    --use-amavis    Use amavis instead of rspamd for mail filtering
    --use-unbound   Use unbound instead of bind9 for local resolving. Only allowed if --no-dns is set.
    --use-php       Use specific PHP versions, comma separated, instead of installing multiple PHP, e.g. --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4 and 8.0 available).
                    --use-php=system disables the sury repository and just installs the system's default PHP version.
                    ommiting the argument (use all versions)
    --use-ftp-ports This option sets the passive port range for pure-ftpd. You have to specify the port range separated by hyphen, e. g. --use-ftp-ports=40110-40210.
                    If not provided the passive port range will not be configured.
    --use-certbot   Use Certbot instead of acme.sh for issuing Let's Encrypt certificates. Not adviced unless you are migrating from a old server that uses Certbot.
    --no-web        Do not use ISPConfig on this server to manage webserver setting and don't install nginx/apache or pureftpd. This will also prevent installing an ISPConfig UI and implies
                    --no-roundcube as well as --no-pma
    --no-mail       Do not use ISPConfig on this server to manage mailserver settings. This will install postfix for sending system mails, but not dovecot and not configure any settings for
                    ISPConfig mail. It implies --no-mailman.
    --no-dns        Do not use ISPConfig on this server to manage DNS entries. Bind will be installed for local DNS caching / resolving only.
    --no-local-dns  Do not install local DNS caching / resolving via bind.
    --no-firewall   Do not install ufw and tell ISPConfig to not manage firewall settings on this server.
    --no-roundcube  Do not install roundcube webmail.
    --roundcube     Install Roundcube even when --no-mail is used. Manual configuration of Roundcube config is needed.
    --no-pma        Do not install PHPMyAdmin on this server.
    --no-mailman    Do not install Mailman mailing list manager.
    --no-quota      Disable file system quota
    --no-ntp        Disable NTP setup
    --unattended-upgrades
                    Install UnattendedUpgrades. You can add extra arguments for automatic cleanup and automatic reboots when necessary with --unattended-upgrades=autoclean,reboot (or only
                    one of them).
    --i-know-what-i-am-doing
                    Prevent the autoinstaller to ask for confirmation before continuing to reconfigure the server.

Um z. B. eine „Perfect Server“-ähnliche Einrichtung mit Nginx anstelle von Apache zu installieren, verwenden Sie diesen Befehl:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades

Oder um einen Nginx-Webserver ohne E-Mail- und DNS-Dienste zu installieren:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades

6. Fertigstellung

Ihre Einrichtung ist nun abgeschlossen!

Sie können ISPConfig durch den Kauf unseres Handbuchs unterstützen: https://www.ispconfig.org/documentation/

Die folgenden Links sind einige nützliche Tutorials/Hinweise für die weitere Einrichtung:

Wenn Sie Fragen haben, stellen Sie sie im Forum.

Das könnte dich auch interessieren …