|
|
| Zeile 54: |
Zeile 54: |
|
| |
|
| Ändern Sie ''alle Passwörter'' bei der ersten Anmeldung | | Ändern Sie ''alle Passwörter'' bei der ersten Anmeldung |
|
| |
| = TMP =
| |
| == Beschreibung ==
| |
| ; Installation eines ISPConfig 3 Einzelservers
| |
| * Nach den Richtlinien des "Perfect Server Setup" Howtos auf www.howtoforge.com
| |
|
| |
| ; ISPConfig Auto-Installer
| |
| Installiert alle benötigten Pakete für ein ISPConfig 3-Setup
| |
| * einfach
| |
| * modular
| |
|
| |
| == Vorbereitungen ==
| |
| ; Voraussetzung
| |
| Beginnen Sie mit einer sauberen und leeren Basisinstallation des Betriebssystems
| |
| * Versuchen Sie nicht, sie auf einem System anzuwenden, auf dem Sie bereits andere Dienste konfiguriert haben
| |
| Betriebssystem: Debian 10, Debian 11, Ubuntu 20.04, oder Ubuntu 22.04.
| |
| * Intel oder AMD 64-Bit CPU Architektur (x86_64, auch bekannt als AMD64)
| |
| * ARM-CPUs werden zur Zeit nicht unterstützt
| |
| Das System muss einen Internetzugang haben, um Software mit apt herunterladen und installieren zu können
| |
|
| |
| ; ''server1.example.com'' durch realen Hostnamen ersetzen
| |
|
| |
| === Einloggen auf dem Server ===
| |
| ; Melden Sie sich als root an oder führen Sie
| |
| su -
| |
| unter Debian 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.
| |
|
| |
| ; Unter Ubuntu verwenden Sie den Befehl
| |
| sudo -s
| |
|
| |
| um root-Benutzer zu werden.
| |
|
| |
| === Hostnamen und Hosts ===
| |
| ; Konfigurieren des Hostnamen und der Hosts
| |
| * Hostname des Servers sollte eine Subdomain wie "server1.example.com" sein
| |
|
| |
| ; Verwenden Sie keinen Domänennamen ohne einen Subdomänen-Teil wie "example.com" als Hostnamen
| |
| * Kann später zu Problemen führen
| |
| * Als Erstes sollten Sie den Hostnamen in /etc/hosts überprüfen und ihn gegebenenfalls ändern.
| |
| * Die Zeile sollte lauten: "IP-Adresse - Leerzeichen - vollständiger Hostname inkl. Domain - Leerzeichen - Subdomain-Teil".
| |
| * Für unseren Hostnamen server1.example.com sollte die Datei wie folgt aussehen (einige Zeilen können unterschiedlich sein, da sie von Hosting-Anbieter zu Hosting-Anbieter unterschiedlich sein können):
| |
|
| |
| ;/etc/hosts
| |
| 127.0.0.1 localhost.localdomain localhost
| |
| # Diese Zeile sollte auf den richtigen Servernamen geändert werden:
| |
| 127.0.1.1 server1.example.com server1
| |
|
| |
| # Die folgenden Zeilen sind für IPv6-fähige Hosts wünschenswert
| |
| ::1 localhost ip6-localhost ip6-loopback
| |
| ff02::1 ip6-allnodes
| |
| ff02::2 ip6-allrouters
| |
|
| |
| ; /etc/hostname
| |
| Sie soll nur den Teil mit der Subdomain enthalten, in unserem Fall:
| |
| server1
| |
|
| |
| ;Server neu starten, um die Änderung zu übernehmen:
| |
| systemctl reboot
| |
|
| |
| Melden Sie sich erneut an und überprüfen Sie mit diesen Befehlen, ob der Hostname jetzt korrekt ist:
| |
| hostname
| |
| hostname -f
| |
|
| |
| Die Ausgabe sollte wie folgt aussehen:
| |
| root@server1:~$ hostname
| |
| Server1
| |
| root@server1:~$ hostname -f
| |
| server1.beispiel.com
| |
|
| |
| Sie müssen auch einen DNS-Eintrag bei Ihrem DNS-Anbieter einrichten, der auf Ihren Server verweist.
| |
| * Es sollte einen A- (und/oder AAAA-) Eintrag für die Subdomain geben, der auf Ihre öffentliche IP verweist.
| |
|
| |
| === Aktualisierung des Systems ===
| |
| Um die Systempakete zu aktualisieren, führen Sie den Befehl
| |
| apt update && apt upgrade
| |
|
| |
| == Auto-Installer ==
| |
| === Ausführen des Auto-Installers ===
| |
| #
| |
|
| |
| WARNUNG! Dieses Skript wird Ihren kompletten Server neu konfigurieren!
| |
| Es sollte auf einem frisch installierten Server ausgeführt werden und alle aktuellen Konfigurationen, die Sie vorgenommen haben, werden höchstwahrscheinlich verloren gehen!
| |
| Geben Sie 'yes' ein, wenn Sie wirklich fortfahren wollen:
| |
|
| |
| ; 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-Admin- und MySQL-Root-Passwort wie folgt an:
| |
| [INFO] Ihr ISPConfig-Admin-Passwort lautet: 5GvfSSSYsdfdYC
| |
| [INFO] Ihr MySQL-Root-Passwort lautet: kkAkft82d!kafMwqxdtYs
| |
|
| |
| ; Notieren Sie sich diese Informationen, da Sie sie später noch benötigen werden.
| |
|
| |
| === Komponenten der Basisinstallation ===
| |
| {| class="wikitable options"
| |
| |-
| |
| ! Komponente !! Beschreibung
| |
| |-
| |
| | [[Apache2]] ||
| |
| |-
| |
| | [[PHP]] ||
| |
| |-
| |
| | [[MariaDB]] ||
| |
| |-
| |
| | [[Postfix]] ||
| |
| |-
| |
| | [[Dovecot]] ||
| |
| |-
| |
| | [[Rspamd]] ||
| |
| |-
| |
| | [[BIND]] ||
| |
| |-
| |
| | [[Jailkit]] ||
| |
| |-
| |
| | [[Roundcube]] ||
| |
| |-
| |
| | [[PHPMyAdmin]] ||
| |
| |-
| |
| | [[Mailman]] ||
| |
| |-
| |
| | [[Webalizer]] ||
| |
| |-
| |
| | [[AWStats]] ||
| |
| |-
| |
| | [[GoAccess]] ||
| |
| |}
| |
|
| |
| === Kommandozeilenoptionen ===
| |
| ; Funktionen abschalten oder zusätzliche Dienste installieren
| |
| * Argumente an das Installationsprogramm übergeben
| |
|
| |
| ; Auto-Installer verfügt über verschiedene Kommandozeilen-Optionen 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.
| |
|
| |
| ==== Optionen ====
| |
| ; Alle Optionen anzeigen
| |
| # <nowiki>wget -O - https://get.ispconfig.org | sh -s -- --help</nowiki>
| |
|
| |
| ; Mögliche Argumente sind
| |
| {| class="wikitable sortable options"
| |
| |-
| |
| ! Option !! Beschreibung
| |
| |-
| |
| | --help || Zeigt diese Hilfeseite an
| |
| |-
| |
| | --debug || Aktiviert die ausführliche Protokollierung (protokolliert jeden Befehl mit dem Exit-Code)
| |
| |-
| |
| | --channel || Wähle den Kanal, der für ISPConfig verwendet werden soll. --channel=<stable|dev> "stable" ist die neueste ISPConfig-Version, die auf www.ispconfig.org verfügbar ist. "dev" ist der neueste Stable-Zweig aus dem ISPConfig-Git-Repository: https://git.ispconfig.org/ispconfig/ispconfig3/tree/stable-3.1 -> Der dev-Kanal kann Bugs und weniger getestete Funktionen enthalten und sollte nur von sehr erfahrenen Benutzern in der Produktion verwendet werden.
| |
| |-
| |
| | --lang || Sprache für die ISPConfig-Installation verwenden. Spezifizieren Sie mit --lang=en|de (derzeit werden nur en (Englisch) und de (Deutsch) unterstützt).
| |
| |-
| |
| | --interactive || Installieren Sie ISPConfig nicht im nicht-interaktiven Modus. Dies ist notwendig, wenn Sie den Expertenmodus verwenden wollen, z. B. um einen Slave-Server zu installieren, der in ein bestehendes Multiserver-Setup integriert werden soll. Multiserver-Setup integriert werden soll.
| |
| |-
| |
| | --use-nginx || Nginx-Webserver anstelle von apache2 verwenden
| |
| |-
| |
| | --use-amavis || Verwendung von amavis anstelle von rspamd für die E-Mail-Filterung
| |
| |-
| |
| | --use-unbound || Verwenden Sie unbound anstelle von bind9 für die lokale Auflösung. Nur erlaubt, wenn --no-dns gesetzt ist.
| |
| |-
| |
| | --use-php || Bestimmte PHP-Versionen verwenden, durch Komma getrennt, anstatt mehrere PHP zu installieren, z. B. --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4 und 8.0 verfügbar).
| |
| |-
| |
| | --use-php=system || deaktiviert das Sury-Repository und installiert nur die Standard-PHP-Version des Systems. Weglassen des Arguments (alle Versionen verwenden)
| |
| |-
| |
| | --use-ftp-ports || Diese Option legt den passiven Portbereich für pure-ftpd fest. Sie müssen den Portbereich durch einen Bindestrich getrennt angeben, z. B. --use-ftp-ports=40110-40210. Wenn Sie nichts angeben, wird der passive Portbereich nicht konfiguriert.
| |
| |-
| |
| | --use-certbot || Verwenden Sie Certbot anstelle von acme.sh zum Ausstellen von Let's Encrypt-Zertifikaten. Dies wird nicht empfohlen, es sei denn, Sie migrieren von einem alten Server, der Certbot verwendet.
| |
| |-
| |
| | --no-web || Verwenden Sie ISPConfig auf diesem Server nicht zur Verwaltung der Webserver-Einstellungen und installieren Sie weder nginx/apache noch pureftpd. Dies verhindert auch die Installation einer ISPConfig-Benutzeroberfläche und impliziert
| |
| |-
| |
| | --no-roundcube || sowie --no-pma
| |
| |-
| |
| | --no-mail || Verwenden Sie ISPConfig auf diesem Server nicht zur Verwaltung der Mailserver-Einstellungen. Dadurch wird Postfix für den Versand von Systemmails installiert, aber nicht Dovecot und es werden keine Einstellungen für ISPConfig-Mail. Es impliziert --no-mailman.
| |
| |-
| |
| | --no-dns || ISPConfig auf diesem Server nicht zur Verwaltung von DNS-Einträgen verwenden. Bind wird nur für die lokale DNS-Zwischenspeicherung/Auflösung installiert.
| |
| |-
| |
| | --no-local-dns || Installiert keine lokale DNS-Zwischenspeicherung/Auflösung über bind.
| |
| |-
| |
| | --no-firewall || Installiert kein ufw und weist ISPConfig an, keine Firewall-Einstellungen auf diesem Server zu verwalten.
| |
| |-
| |
| | --no-roundcube || Roundcube Webmail nicht installieren.
| |
| |-
| |
| | --roundcube || Roundcube installieren, auch wenn --no-mail verwendet wird. Manuelle Konfiguration der Roundcube-Konfiguration ist erforderlich.
| |
| |-
| |
| | --no-pma || PHPMyAdmin nicht auf diesem Server installieren.
| |
| |-
| |
| | --no-mailman || Den Mailinglisten-Manager Mailman nicht installieren.
| |
| |-
| |
| | --no-quota || Dateisystem-Quota deaktivieren
| |
| |-
| |
| | --no-ntp || NTP-Einrichtung deaktivieren
| |
| |-
| |
| | --unattended-upgrades || Installiert UnattendedUpgrades.
| |
| |}
| |
|
| |
| Sie können zusätzliche Argumente für die automatische Bereinigung und den automatischen Neustart hinzufügen
| |
|
| |
| {| class="wikitable sortable options"
| |
| |-
| |
| ! Option !! Beschreibung
| |
| |-
| |
| | --unattended-upgrades=autoclean,reboot || oder nur eines von beiden.
| |
| |-
| |
| | --i-know-what-i-am-doing || Verhindert, dass der Autoinstaller nach einer Bestätigung fragt, bevor er mit der Neukonfiguration des Servers fortfährt.
| |
| |}
| |
|
| |
| ==== Beispiele ====
| |
| ; 'Perfect Server'-ähnliches Setup mit Nginx anstelle von Apache
| |
| wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades
| |
|
| |
| ; Nginx-Webserver ohne E-Mail- und DNS-Dienste
| |
| wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades
| |
|
| |
| ; Mit Apache-Webserver
| |
| Normale Installation mit Apache-Webserver und einem Portbereich für passives FTP + unbeaufsichtigte Upgrades
| |
| wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgrades
| |
|
| |
| ; Mit Nginx Webserver
| |
| Normale Installation mit Nginx Webserver und einem Portbereich für Passive FTP + unattended-upgrades
| |
| wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades
| |
|
| |
| ==== Siehe auch ====
| |
| * Kapitel 6 des Handbuches für verfügbare Kommandozeilenoptionen
| |
|
| |
| == Firewall ==
| |
| 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 das so aussehen
| |
| {| class="wikitable options"
| |
| |-
| |
| ! Bereich !! Ports
| |
| |-
| |
| | 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:
| |
| {| class="wikitable options"
| |
| |-
| |
| ! Bereich !! Ports
| |
| |-
| |
| || Web || 20, 21, 22, 80, 443 und 40110:40210 (alle TCP, kein UDP)
| |
| |-
| |
| || Mail || 25, 110, 143, 465, 587, 993, und 995 (alle TCP, kein UDP)
| |
| |-
| |
| || DNS || 53 (TCP und UDP)
| |
| |-
| |
| || IPSconfig || 8080 und 8081 (alle TCP, kein UDP)
| |
| |}
| |
|
| |
|
| |
| Server ist eingerichtet und einsatzbereit
| |
|
| |
| == Webinterface ==
| |
| ; Login
| |
| <nowiki>https://server1.example.com:8080</nowiki>
| |
|
| |
|
| [[Kategorie:ISPConfig]] | | [[Kategorie:ISPConfig]] |
| </noinclude> | | </noinclude> |