Dieses Tutorial führt Sie durch die Installation Ihres eigenen ISPConfig 3-Einzelserver-Setups mit dem ISPConfig-Autoinstaller. Dieses Installationsprogramm folgt den alten Perfect Server-Anleitungen, ist jedoch 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, Debian 11 als auch für Ubuntu 20.04. Wir verwenden den Hostnamen server1.example.com. Ersetzen Sie es gegebenenfalls. Die Anleitung erfordert ein frisch installiertes und leeres Basisbetriebssystem, versuchen Sie nicht, es auf einem System zu verwenden, auf dem Sie bereits andere Dienste konfiguriert haben.
1. Melden Sie sich beim Server an
Melden Sie sich als root an oder führen Sie
aussu -
um Root-Benutzer auf Ihrem Server zu werden, bevor Sie fortfahren. WICHTIG Hinweis: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 als Hostnamen keinen Domainnamen ohne Subdomainteil wie "example.com", da dies später zu Problemen bei der Einrichtung führt. Zuerst sollten Sie den Hostnamen in /etc/hosts überprüfen und bei Bedarf ändern. Die Zeile sollte lauten:"IP Address - space - full hostname incl. domain - space - subdomain part". Für unseren Hostnamen server1.example.com sollte die Datei wie folgt aussehen (einige Zeilen können unterschiedlich sein, sie können je nach Hosting-Provider 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 dann die Datei /etc/hostname:
nano /etc/hostname
Sie soll nur den Teil der Subdomain enthalten, in unserem Fall:
server1
Starten Sie abschließend den Server neu, um die Änderung zu übernehmen:
systemctl reboot
Melden Sie sich erneut an und überprüfen Sie jetzt mit diesen Befehlen, ob der Hostname korrekt ist:
hostname
hostname -f
Die Ausgabe soll wie folgt aussehen:
[email protected]:~$ hostname
server1
[email protected]:~$ hostname -f
server1.example.com
Außerdem müssen Sie bei Ihrem DNS-Anbieter einen DNS-Eintrag einrichten, der auf Ihren Server verweist. Es sollte einen A- (und/oder AAAA-)Eintrag für die Subdomain geben, die auf Ihre öffentliche IP verweist.
3. Aktualisieren Sie das System
Um die Systempakete zu aktualisieren, führen Sie den folgenden Befehl aus:
apt update && apt upgrade
4. Führen Sie den Autoinstaller aus
Wir können jetzt den Autoinstaller ausführen. Das Grundsetup enthält die folgenden Softwarepakete (natürlich mit ihren Abhängigkeiten):Apache2, PHP (Versionen 5.6 - 8.0), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats und GoAccess. Sie können ganz einfach entscheiden, bestimmte Funktionen nicht zu verwenden oder zusätzliche Dienste zu installieren, indem Sie Argumente an das Installationsprogramm übergeben. Sie können alle Argumente anzeigen mit:
wget -O - https://get.ispconfig.org | sh -s -- --help
Sie können das Skript jetzt mit Argumenten ausführen. Wenn Sie beispielsweise eine normale Installation mit einem Portbereich für passives FTP + unbeaufsichtigte Upgrades wünschen, führen Sie Folgendes aus:
wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210
--unattended-upgrades
Nach einiger Zeit sehen Sie:
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 das Installationsprogramm fertig ist, zeigt es Ihnen das ISPConfig-Administrator- und MySQL-Root-Passwort wie folgt:
[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC
[INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYs
Stellen Sie sicher, dass Sie sich diese Informationen notieren, da Sie sie später benötigen.
5. Einrichten der Firewall
Als letztes müssen Sie unsere Firewall einrichten.
Melden Sie sich bei der ISPConfig-Benutzeroberfläche an und gehen Sie zu System -> Firewall. Klicken Sie dann auf "Neuen Firewall-Eintrag hinzufügen".
Für ein normales Setup würde es so aussehen:
TCP:
20,21,22,25,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 (alles TCP, kein UDP)
Mail:25, 110, 143, 465, 587, 993 und 995 (Alle TCP, kein UDP)
DNS:53 (TCP und UDP)
Panel:8080 und 8081 (Alles TCP, kein UDP)
Ihr Server ist nun eingerichtet und einsatzbereit. Sie können sich unter https://server1.example.com:8080 anmelden
6. Erweiterte Optionen
Der Autoinstaller verfügt über verschiedene Befehlszeilenoptionen zur Feinabstimmung des Setups. Sie können z. Wählen Sie zwischen Apache- und Nginx-Webserver und welche Dienste auf dem System installiert werden sollen. Die Befehlszeilenargumente 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 beispielsweise einen „Perfect Server“ wie Setup 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
7. Abschließen
Ihre Einrichtung ist jetzt abgeschlossen!
Sie können ISPConfig unterstützen, indem Sie unser Handbuch kaufen:https://www.ispconfig.org/documentation/
Die folgenden Links sind einige nützliche Tutorials/Hinweise für die weitere Einrichtung:
- Mail einrichten (rDNS, SPF, DKIM):https://www.howtoforge.com/how-to-install-an-email-server-with-ispconfig-on-debian-10/
- Roundcube optimieren:https://www.howtoforge.com/community/threads/tweaking-the-roundcube-settings.86387/
- Autoconfig einrichten (automatische Konfiguration für Ihre E-Mail-Clients):https://schaal-it.com/ispconfig-automail/
- Verbessern Sie die Sicherheit von PHPMyAdmin und der rspamd-Schnittstelle:https://www.howtoforge.com/community/threads/improving-the-security-of-phpmyadmin-and-rspamd-ui.86544/
- Code-Repository und Issue-Tracker des ISPConfig-Autoinstallers:https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller
Wenn Sie Fragen haben, stellen Sie sie im Forum.