Server Setup · 9 min read · Oct 30, 2025
Der perfekte Server - Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD und ISPConfig 3.1) - Seite 3
15. Roundcube Webmail installieren
Um RoundCube Webmail zu installieren, führen Sie aus:
apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins javascript-common libjs-jquery-mousewheel php-net-sieve tinymceDer Installer wird die folgenden Fragen stellen:
Datenbank für roundcube mit dbconfig-common konfigurieren? <-- Ja
MySQL-Anwendungspasswort für roundcube: <-- Drücken Sie die Eingabetaste
Bearbeiten Sie dann die RoundCube config.inc.php Konfigurationsdatei:
nano /etc/roundcube/config.inc.phpund ändern Sie den Standardhost auf localhost:
$config['default_host'] = 'localhost';Dies verhindert, dass Roundcube das Eingabefeld für den Servernamen im Anmeldeformular anzeigt.
Erstellen Sie nun einen Symlink, damit wir die SquirrelMail-Konfiguration in ISPConfig für Roundcube verwenden können:
ln -s /usr/share/roundcube /usr/share/squirrelmailNachdem Sie ISPConfig 3 installiert haben, können Sie Roundcube wie folgt aufrufen:
Der ISPConfig Apps vhost auf Port 8081 für nginx kommt mit einer Roundcube-Konfiguration, sodass Sie http://server1.example.com:8081/webmail verwenden können, um auf Roundcube zuzugreifen.
Wenn Sie einen /webmail Alias verwenden möchten, den Sie von Ihren Websites aus verwenden können, ist dies etwas komplizierter als bei Apache, da nginx keine globalen Aliase hat (d.h. Aliase, die für alle vhosts definiert werden können). Daher müssen Sie diese Aliase für jeden vhost definieren, von dem aus Sie auf Roundcube zugreifen möchten.
Um dies zu tun, fügen Sie Folgendes in das nginx-Direktivenfeld auf der Registerkarte Optionen der Website in ISPConfig ein:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}Wenn Sie http s anstelle von http für Ihren vhost verwenden, sollten Sie die Zeile fastcgi_param HTTPS on; zu Ihrer SquirrelMail-Konfiguration wie folgt hinzufügen:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param HTTPS on; # <-- diese Zeile hinzufügen
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}Wenn Sie sowohl http als auch https für Ihren vhost verwenden, müssen Sie den folgenden Abschnitt in den http {} Abschnitt in /etc/nginx/nginx.conf (vor allen Include-Zeilen) hinzufügen, der bestimmt, ob der Besucher http oder https verwendet und die Variable $fastcgi_https entsprechend festlegt:
nano /etc/nginx/nginx.conf[...]
http {
[...]
## Erkennen, wann HTTPS verwendet wird
map $scheme $fastcgi_https {
default off;
https on;
}
[...]
}
[...]Vergessen Sie nicht, nginx danach neu zu laden:
service nginx reloadGehen Sie dann erneut zum nginx-Direktivenfeld und fügen Sie anstelle von fastcgi_param HTTPS on; die Zeile fastcgi_param HTTPS $fastcgi_https; hinzu, damit Sie Roundcube sowohl für http- als auch für https-Anfragen verwenden können:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param HTTPS $fastcgi_https; # <-- diese Zeile hinzufügen
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}16. ISPConfig 3.1 installieren
Bevor Sie mit der Installation von ISPConfig beginnen, stellen Sie sicher, dass Apache gestoppt ist (falls es installiert ist - es ist möglich, dass einige Ihrer installierten Pakete Apache als Abhängigkeit installiert haben, ohne dass Sie es wissen). Wenn Apache2 bereits auf dem System installiert ist, stoppen Sie es jetzt…
service apache2 stop… und entfernen Sie die Systemstartlinks von Apache:
update-rc.d -f apache2 removeStellen Sie sicher, dass nginx läuft:
service nginx restart(Wenn Sie sowohl Apache als auch nginx installiert haben, fragt der Installer, welchen Sie verwenden möchten: Apache und nginx erkannt. Wählen Sie den Server, der für ISPConfig verwendet werden soll: (apache,nginx) [apache]:
Geben Sie nginx ein. Wenn nur Apache oder Nginx installiert sind, wird dies automatisch vom Installer erkannt, und es wird keine Frage gestellt.)
Um ISPConfig 3.1 aus dem GIT-Stable-Zweig zu installieren, tun Sie dies:
cd /tmp
wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/Der nächste Schritt ist, auszuführen
php -q install.phpDies startet den ISPConfig 3.1 Installer. Der Installer konfiguriert alle Dienste wie Postfix, Dovecot usw. für Sie.
root@server1:/tmp/ispconfig3-stable-3.1-da1e393d7bed829d180dd9006019201e3370e77a/install# php install.php
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Erste KonfigurationBetriebssystem: Ubuntu 18.04 LTS (Bionic Beaver)Folgendes werden einige Fragen zur primären Konfiguration sein, seien Sie vorsichtig.
Die Standardwerte stehen in [Klammern] und können mit akzeptiert werden.
Tippen Sie "quit" (ohne Anführungszeichen), um den Installer zu stoppen.
Sprache auswählen (en,de) [en]: <-- EINGABETASTEInstallationsmodus (standard,experte) [standard]: <-- EINGABETASTEVollqualifizierter Hostname (FQDN) des Servers, z.B. server1.domain.tld [server1.example.com]: <-- EINGABETASTEMySQL-Server-Hostname [localhost]: <-- EINGABETASTEMySQL-Server-Port [3306]: <-- EINGABETASTEMySQL-Root-Benutzername [root]: <-- EINGABETASTEMySQL-Root-Passwort []: <-- geben Sie hier das MySQL-Root-Passwort einMySQL-Datenbank zu erstellen [dbispconfig]: <-- EINGABETASTEMySQL-Zeichensatz [utf8]: <-- EINGABETASTEPostgrey konfigurieren
Postfix konfigurieren
Generierung eines 4096-Bit-RSA-Privatschlüssels
.................................................................................................................................................................................................................................................................................................................................................................................................................++
...++
neuen privaten Schlüssel schreiben in 'smtpd.key'
-----
Sie werden aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden.
Was Sie eingeben werden, wird als Distinguished Name oder DN bezeichnet.
Es gibt einige Felder, die Sie leer lassen können.
Für einige Felder gibt es einen Standardwert,
Wenn Sie '.' eingeben, wird das Feld leer gelassen.
-----
Ländercode (2 Buchstaben) [AU]: <-- geben Sie Ihren 2-Buchstaben-Ländercode ein, z.B. DE in meinem Fall
Bundesland oder Provinzname (voller Name) [Some-State]: <-- Geben Sie Ihren Wohnsitzstaat ein
Ortsname (z.B. Stadt) []: <-- Geben Sie Ihre Stadt ein, in meinem Fall Lüneburg
Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]: <-- Geben Sie Ihren Firmennamen ein, in meinem Fall ISPConfig UG
Name der organisatorischen Einheit (z.B. Abteilung) []: <-- Geben Sie Ihren Namen der organisatorischen Einheit ein, ich verwende hier IT
Allgemeiner Name (z.B. Server-FQDN oder IHR Name) []: <-- Geben Sie den Server-Hostname ein, in meinem Fall server1.example.com
E-Mail-Adresse []: <-- Geben Sie eine E-Mail-Adresse ein, z.B. [email protected]
Mailman konfigurieren
Dovecot konfigurieren
Spamassassin konfigurieren
Amavisd konfigurieren
Getmail konfigurieren
Jailkit konfigurieren
Pureftpd konfigurieren
BIND konfigurieren
nginx konfigurieren
[INFO] Dienst OpenVZ nicht erkannt
Ubuntu-Firewall konfigurieren
Metronome XMPP-Server konfigurieren
neuen privaten Schlüssel schreiben in 'localhost.key'
-----
Ländercode (2 Buchstaben) [AU]: <-- Geben Sie Ihren 2-Buchstaben-Ländercode ein, z.B. DE in meinem FallOrtsname (z.B. Stadt) [Stadtname]: <-- Geben Sie Ihre Stadt ein, in meinem Fall LüneburgOrganisationsname (z.B. Firma) [Internet Widgits Pty Ltd]: <-- Geben Sie Ihren Firmennamen ein, in meinem Fall ISPConfig UGName der organisatorischen Einheit (z.B. Abteilung) [Infrastruktur]: <-- Geben Sie Ihren Namen der organisatorischen Einheit ein, ich verwende hier ITAllgemeiner Name (z.B. Server-FQDN oder IHR Name) [server1.example.com]: <-- Geben Sie den Server-Hostname ein, in meinem Fall server1.example.comE-Mail-Adresse [[email protected]]: <-- Geben Sie eine E-Mail-Adresse ein, z.B. [email protected]WICHTIG:
Der localhost-Schlüssel, Csr und ein selbstsigniertes Zertifikat wurden in /etc/metronome/certs gespeichert
Um mit allen Clients zu arbeiten, muss der Server ein vertrauenswürdiges Zertifikat haben, verwenden Sie also das Csr
um ein vertrauenswürdiges Zertifikat von Ihrer CA zu erhalten oder ersetzen Sie Schlüssel und Zertifikat durch bereits signierte Dateien für
Ihrer Domain. Clients wie Pidgin erlauben nicht die Verwendung von nicht vertrauenswürdigen selbstsignierten Zertifikaten.Fail2ban konfigurieren
Apps vhost konfigurieren
ISPConfig installieren
ISPConfig-Port [8080]: <-- EINGABETASTEAdmin-Passwort [admin]: <-- Geben Sie Ihr gewünschtes Admin-Passwort einMöchten Sie eine sichere (SSL) Verbindung zur ISPConfig-Weboberfläche (y,n) [y]: <-- EINGABETASTEGenerierung eines RSA-Privatschlüssels, 4096 Bit langer Modulus
....................................................++
........................++
e ist 65537 (0x10001)
Sie werden aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden.
Was Sie eingeben werden, wird als Distinguished Name oder DN bezeichnet.
Es gibt einige Felder, die Sie leer lassen können.
Für einige Felder gibt es einen Standardwert,
Wenn Sie '.' eingeben, wird das Feld leer gelassen.
-----
Ländercode (2 Buchstaben) [AU]: <-- geben Sie Ihren 2-Buchstaben-Ländercode ein, z.B. DE in meinem Fall
Bundesland oder Provinzname (voller Name) [Some-State]: <-- Geben Sie Ihren Wohnsitzstaat ein
Ortsname (z.B. Stadt) []: <-- Geben Sie Ihre Stadt ein, in meinem Fall Lüneburg
Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]: <-- Geben Sie Ihren Firmennamen ein, in meinem Fall ISPConfig UG
Name der organisatorischen Einheit (z.B. Abteilung) []: <-- Geben Sie Ihren Namen der organisatorischen Einheit ein, ich verwende hier IT
Allgemeiner Name (z.B. Server-FQDN oder IHR Name) []: <-- Geben Sie den Server-Hostname ein, in meinem Fall server1.example.com
E-Mail-Adresse []: <-- Geben Sie eine E-Mail-Adresse ein, z.B. [email protected]Bitte geben Sie die folgenden 'zusätzlichen' Attribute ein,
die mit Ihrer Zertifikatsanforderung gesendet werden
Ein Herausforderungs-Passwort []: <-- EINGABETASTE
Ein optionaler Firmenname []: <-- EINGABETASTE
Schreiben des RSA-Schlüssels
Konfigurieren des DBServers
Installieren des ISPConfig Crontab
Installieren des ISPConfig Crontab
kein Crontab für root
kein Crontab für getmail
IP-Adressen erkennen
Dienste neu starten ...
Installation abgeschlossen.Der Installer konfiguriert automatisch alle zugrunde liegenden Dienste, sodass keine manuelle Konfiguration erforderlich ist.
Anschließend können Sie ISPConfig 3 unter http(s)://server1.example.com:8080/ oder http(s)://192.168.1.100:8080/ (http oder https hängt davon ab, was Sie während der Installation gewählt haben) aufrufen. Melden Sie sich mit dem Benutzernamen admin und dem Passwort admin an (Sie sollten das Standardpasswort nach Ihrem ersten Login ändern):


Das System ist jetzt bereit zur Verwendung.
16.1 ISPConfig 3.1 Handbuch
Um zu lernen, wie man ISPConfig 3 verwendet, empfehle ich dringend, das ISPConfig 3.1 Handbuch herunterzuladen.
Auf mehr als 300 Seiten behandelt es das Konzept hinter ISPConfig (Admin, Reseller, Kunden), erklärt, wie man ISPConfig 3 installiert und aktualisiert, enthält ein Referenzhandbuch für alle Formulare und Formularfelder in ISPConfig zusammen mit Beispielen für gültige Eingaben und bietet Tutorials für die häufigsten Aufgaben in ISPConfig 3. Es beschreibt auch, wie man Ihren Server sicherer macht und enthält einen Abschnitt zur Fehlersuche am Ende.
17 Virtuelle Maschinen-Image-Download dieses Tutorials
Dieses Tutorial ist als sofort einsatzbereites virtuelles Maschinen-Image im ovf/ova-Format verfügbar, das mit VMWare und Virtualbox kompatibel ist. Das virtuelle Maschinen-Image verwendet die folgenden Anmeldedaten:
SSH / Shell-Anmeldung
Benutzername: administrator
Passwort: howtoforge
Dieser Benutzer hat Sudo-Rechte.
ISPConfig-Anmeldung
Benutzername: admin
Passwort: howtoforge
MySQL-Anmeldung
Benutzername: root
Passwort: howtoforge
Die IP der VM ist 192.168.1.100, sie kann in der Datei /etc/netplan/01-netcfg.yaml geändert werden. Bitte ändern Sie alle oben genannten Passwörter, um die virtuelle Maschine abzusichern.
18. Links
- Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.