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
- Debian 10, Debian 11, Ubuntu 20.04 und Ubuntu 22.04.
- Nur x86_64 (AMD64) CPU-Architektur
- ARM wird nicht unterstützt
- Multiserver-Setup
Multiserver-Setup mit dedizierten Servern für jeden Dienst
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
- Komponenten der Basisinstallation
| 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
# 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. |
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
| 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
Webinterface
- Login
https://server1.example.com:8080
Siehe auch
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Einzelnachweise
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
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