ISPConfig/Installation
Automatisierte ISPConfig 3-Installation
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.
- Anmeldedaten
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!!
Syntax
- 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
# wget -O - https://get.ispconfig.org | sh -s -- --help
- Mögliche Argumente sind
Option | Beschreibung |
---|---|
--help | Zeigt diese Hilfeseite an |
--debug | Aktiviert die ausführliche Protokollierung (protokolliert jeden Befehl mit dem Exit-Code) |
--channel | 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 | 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
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. |
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
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
Bereich | Ports |
---|---|
Web | 20, 21, 22, 80, 443 und 40110:40210 (alle TCP, kein UDP) |
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
Komponenten der Basisinstallation
Komponente | Beschreibung |
---|---|
Apache2 | |
PHP | |
MariaDB | |
Postfix | |
Dovecot | |
Rspamd | |
BIND | |
Jailkit | |
Roundcube | |
PHPMyAdmin | |
Mailman | |
Webalizer | |
AWStats | |
GoAccess |
Webinterface
- Login
https://server1.example.com:8080
Anwendung
- '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
Anhang
Siehe auch
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Projekt
Weblinks
- 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
- Multiserver-Setup
Multiserver-Setup mit dedizierten Servern für jeden Dienst
Demo-Installation
Setup als virtuelle Maschine
Für howtoforge-Abonnenten
- kompatibel mit VMWare und Virtualbox (ova/ovf-Format)
- Die virtuelle Maschine basiert auf Debian 11 und verwendet Apache als Webserver
Anmeldedaten für die VM
- Die IP-Adresse der VM lautet 192.168.0.100
- Das Root-Passwort lautet: howtoforge
- Das Passwort des ISPConfig-Benutzers "admin" lautet: howtoforge
- Es gibt einen weiteren Shell-Benutzer mit dem Namen "administrator" und dem Passwort: howtoforge
- Das MySQL-Root-Passwort lautet: 4VLc2vw5mZzqHNd4xURT
Ändern Sie alle Passwörter bei der ersten Anmeldung