ISPConfig/Installation: Unterschied zwischen den Versionen
Zeile 224: | Zeile 224: | ||
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades | wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades | ||
== | == Abschließen == | ||
; | ; Ihre Einrichtung ist nun abgeschlossen! | ||
Sie können ISPConfig unterstützen, indem Sie das Handbuch kaufen | |||
* https://www.ispconfig.org/documentation/ | * https://www.ispconfig.org/documentation/ | ||
Die folgenden Links sind einige nützliche Anleitungen/Hinweise für die weitere Einrichtung | |||
* | * Einrichten von Mail (rDNS, SPF, DKIM): [https://www.howtoforge.com/how-to-install-an-email-server-with-ispconfig-on-debian-10/ 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/ https://www.howtoforge.com/community/threads/tweaking-the-roundcube-settings.86387/] | ||
* | * Einrichten von autoconfig (automatische Konfiguration für Ihre E-Mail-Clients): [https://schaal-it.com/ispconfig-automail/ https://schaal-it.com/ispconfig-automail/] | ||
* | * Verbessern der Sicherheit von PHPMyAdmin und der rspamd-Schnittstelle: [https://www.howtoforge.com/community/threads/improving-the-security-of-phpmyadmin-and-rspamd-ui.86544/ https://www.howtoforge.com/community/threads/improving-the-security-of-phpmyadmin-and-rspamd-ui.86544/] | ||
* Code | * Code-Repository und Issue-Tracker für den ISPConfig Autoinstaller: [https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller] | ||
; | ; Weitere Fragen | ||
* [https://www.howtoforge.com/community/forums/installation-configuration.27/ forum] | * [https://www.howtoforge.com/community/forums/installation-configuration.27/ forum] | ||
Version vom 9. März 2023, 14:26 Uhr
topic - Kurzbeschreibung
Beschreibung
- Automatisierte ISPConfig 3-Installation
Diese Anleitung führt Sie durch die Installation Ihres eigenen ISPConfig 3 Einzelservers mit Hilfe des ISPConfig Auto-Installers. 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 the Perfect Multiserver guide.
Diese Anleitung funktioniert sowohl für Debian 10, Debian 11, Ubuntu 20.04 und Ubuntu 22.04. Sie unterstützt derzeit nur die x86_64 (auch bekannt als AMD64) CPU-Architektur, während ARM nicht unterstützt wird. Wir werden den Hostnamen server1.example.com verwenden. Ersetzen Sie ihn, wenn nötig. Die Anleitung setzt ein frisch installiertes und leeres Basis-Betriebssystem voraus. Versuchen Sie nicht, sie auf einem System anzuwenden, auf dem Sie bereits andere Dienste konfiguriert haben.
- Voraussetzungen
- 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.
- Beginnen Sie mit einer sauberen und leeren Basisinstallation des Betriebssystems.
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.
Konfigurieren Sie den Hostnamen und die Hosts
Der Hostname Ihres Servers sollte eine Subdomain wie "server1.example.com" sein. Verwenden Sie keinen Domänennamen ohne einen Subdomänen-Teil wie "example.com" als Hostnamen, da dies später zu Problemen bei der Einrichtung führen kann. 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):
nano /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
Bearbeiten Sie dann die Datei /etc/hostname:
nano /etc/hostname
Sie soll nur den Teil mit der Subdomain enthalten, in unserem Fall:
server1
Schließlich starten Sie 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 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
Ausführen des Auto-Installers
- Die Basisinstallation enthält die folgenden Softwarepakete (und natürlich deren 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 bestimmte Funktionen nicht nutzen oder zusätzliche Dienste installieren, indem Sie Argumente an das Installationsprogramm übergeben.
- Siehe Kapitel 6 für verfügbare Kommandozeilenoptionen
ISPConfig mit Apache-Webserver installieren
Sie können nun das Skript mit Argumenten ausführen. Wenn Sie zum Beispiel eine normale Installation mit Apache-Webserver und 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
Die nächsten Schritte sind im Kapitel "Ausführen des Auto-Installers" beschrieben.
ISPConfig mit Nginx Webserver installieren
Sie können das Skript nun mit Argumenten ausführen. Wenn Sie zum Beispiel eine normale Installation mit Nginx Webserver und einem Portbereich für Passive FTP + unattended-upgrades wünschen, führen Sie aus:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades
Ausführen des Auto-Installers
Nach einiger Zeit werden Sie sehen:
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.
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".
- Bei einer normalen Einrichtung würde das 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 (alle TCP, kein UDP) Mail: 25, 110, 143, 465, 587, 993, und 995 (alle TCP, kein UDP) DNS: 53 (TCP und UDP) Gremium: 8080 und 8081 (alle TCP, kein UDP)
- Ihr Server ist nun eingerichtet und einsatzbereit
Sie können sich unter https://server1.example.com:8080 einloggen.
Advanced Options
- The auto-installer has various command-line options to fine-tune the setup
- You can view all arguments with
wget -O - https://get.ispconfig.org | sh -s -- --help
- You can e.g. choose between Apache and Nginx webserver and which services shall be installed on the system. The command-line arguments are
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.
- For example
To install a 'Perfect Server' like setup with Nginx instead of Apache, use this command
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades
Or to install an Nginx web server without Email and DNS services
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades
Erweiterte Optionen
Der Auto-Installer verfügt über verschiedene Kommandozeilen-Optionen zur Feinabstimmung des Setups
Sie können sich alle Argumente mit
wget -O - https://get.ispconfig.org | sh -s -- --help
- Sie können z.B. zwischen Apache und Nginx Webserver wählen und welche Dienste auf dem System installiert werden sollen. Die Kommandozeilenargumente sind
Verwendung: ispc3-ai.sh [] [...]
Dieses Skript installiert automatisch alle benötigten Pakete für ein ISPConfig 3-Setup nach den Richtlinien des "Perfect Server Setup" Howtos auf www.howtoforge.com.
Mögliche Argumente sind
--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, wenn nötig mit --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.
Zum Beispiel Um ein 'Perfect Server'-ähnliches 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
Abschließen
- Ihre Einrichtung ist nun abgeschlossen!
Sie können ISPConfig unterstützen, indem Sie das Handbuch kaufen
Die folgenden Links sind einige nützliche Anleitungen/Hinweise für die weitere Einrichtung
- Einrichten von Mail (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/
- Einrichten von autoconfig (automatische Konfiguration für Ihre E-Mail-Clients): https://schaal-it.com/ispconfig-automail/
- Verbessern der 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 für den ISPConfig Autoinstaller: https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller
- Weitere Fragen
Download as a virtual machine
- This setup is available as a virtual machine download
- in ova/ovf format (compatible with VMWare and Virtualbox) for howtoforge subscribers.
- The Virtual machine is based on Debian 11 and uses Apache as web server.
Login details for the VM
- The IP address of the VM is 192.168.0.100
- The root password is: howtoforge
- The password of the ISPConfig "admin" user is: howtoforge
- There is another shell user with the name "administrator" and password: howtoforge
- The MySQL root password is: 4VLc2vw5mZzqHNd4xURT
- Change all passwords on the first login
Siehe auch
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Einzelnachweise
Projekt
Weblinks
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5