Server Setup · 26 min read · Nov 04, 2025

Der perfekte Server - Debian 10 (Nginx, BIND, Dovecot, ISPConfig 3.2)

Dieses Tutorial zeigt, wie man einen Debian 10 Server (mit Nginx, BIND, Dovecot) für die Installation von ISPConfig 3.2 vorbereitet und wie man ISPConfig 3.2 installiert. ISPConfig 3 ist ein Webhosting-Control-Panel, das es Ihnen ermöglicht, die folgenden Dienste über einen Webbrowser zu konfigurieren: Apache oder nginx Webserver, Postfix Mailserver, Courier oder Dovecot IMAP/POP3 Server, MySQL, BIND oder MyDNS Nameserver, PureFTPd, SpamAssassin, ClamAV und viele mehr. Dieses Setup umfasst den Nginx Webserver, BIND als DNS-Server und Dovecot als IMAP / POP3 Server.

1 Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100 und dem Gateway 192.168.0.1. Diese Einstellungen können bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls anpassen. Bevor Sie fortfahren, müssen Sie eine minimale Installation von Debian 10 haben. Dies könnte ein minimales Debian-Image von Ihrem Hosting-Anbieter sein oder Sie verwenden das Minimal Debian Server Tutorial, um das Basissystem einzurichten.

Alle untenstehenden Befehle werden als Root-Benutzer ausgeführt. Melden Sie sich entweder direkt als Root-Benutzer an oder melden Sie sich als normaler Benutzer an und verwenden Sie dann den Befehl

su -

um Root-Benutzer auf Ihrem Server zu werden, bevor Sie fortfahren. WICHTIG: Sie müssen ‘su -‘ verwenden und nicht nur ‘su’, da sonst Ihre PATH-Variable von Debian falsch gesetzt wird.

2 SSH-Server installieren

Wenn Sie den OpenSSH-Server während der Systeminstallation nicht installiert haben, können Sie dies jetzt tun:

apt-get -y install ssh openssh-server

Von nun an können Sie einen SSH-Client wie PuTTY verwenden und sich von Ihrem Arbeitsplatz mit Ihrem Debian 10 Server verbinden und die verbleibenden Schritte dieses Tutorials befolgen.

3 Installieren Sie einen Shell-Texteditor (Optional)

Ich werde in diesem Tutorial den nano Texteditor verwenden. Einige Benutzer bevorzugen den klassischen vi-Editor, daher werde ich hier beide Editoren installieren. Das Standardprogramm vi hat auf Debian und Ubuntu ein seltsames Verhalten; um dies zu beheben, installieren wir vim-nox:

apt-get -y install nano vim-nox

(Sie müssen dies nicht tun, wenn Sie einen anderen Texteditor wie joe verwenden.)

4 Hostnamen konfigurieren

Der Hostname Ihres Servers sollte ein Subdomain wie “server1.example.com” sein. Verwenden Sie keinen Domainnamen ohne Subdomain-Teil wie “example.com” als Hostnamen, da dies später Probleme mit Ihrer Mail-Konfiguration verursachen wird. Zuerst sollten Sie den Hostnamen in /etc/hosts überprüfen und ihn bei Bedarf ändern. Die Zeile sollte sein: “IP-Adresse - Leerzeichen - vollständiger Hostname inkl. Domain - Leerzeichen - Subdomain-Teil”. Bearbeiten Sie /etc/hosts. Lassen Sie es so aussehen:

nano /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server1.example.com     server1

# Die folgenden Zeilen sind wünschenswert für IPv6-fähige Hosts
::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 sollte nur den Subdomain-Teil enthalten, in unserem Fall:

server1

Starten Sie schließlich den Server neu, um die Änderung anzuwenden:

reboot

Melden Sie sich erneut an und überprüfen Sie, ob der Hostname jetzt mit diesen Befehlen korrekt ist:

hostname  
hostname -f

Die Ausgabe sollte so aussehen:

root@server1:/tmp# hostname  
server1  
root@server1:/tmp# hostname -f  
server1.example.com

5 Aktualisieren Sie Ihre Debian-Installation

Stellen Sie zuerst sicher, dass Ihre /etc/apt/sources.list das buster/updates-Repository enthält (dies stellt sicher, dass Sie immer die neuesten Updates für den ClamAV-Virenscanner erhalten - dieses Projekt veröffentlicht sehr häufig Releases, und manchmal hören alte Versionen auf zu funktionieren), und dass die contrib- und non-free-Repositories aktiviert sind.

nano /etc/apt/sources.list
deb http://deb.debian.org/debian/ buster main contrib non-free  
deb-src http://deb.debian.org/debian/ buster main contrib non-free  
  
deb http://security.debian.org/debian-security buster/updates main contrib non-free  
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

Führen Sie

apt-get update

aus, um die apt-Paketdatenbank zu aktualisieren und

apt-get upgrade

um die neuesten Updates zu installieren (wenn es welche gibt).

6 Ändern Sie die Standard-Shell

/bin/sh ist ein Symlink zu /bin/dash, wir benötigen jedoch /bin/bash, nicht /bin/dash. Daher tun wir dies:

dpkg-reconfigure dash

Verwenden Sie dash als Standard-System-Shell (/bin/sh)? <– Nein

Wenn Sie dies nicht tun, schlägt die Installation von ISPConfig fehl.

7 Synchronisieren Sie die Systemuhr

Es ist eine gute Idee, die Systemuhr mit einem NTP ( n etwork t ime p rotokoll) Server über das Internet zu synchronisieren. Führen Sie einfach aus:

apt-get install ntp

und Ihre Systemzeit wird immer synchronisiert sein.

8 Installieren Sie Postfix, Dovecot, MySQL, rkhunter und binutils

Wir können Postfix, Dovecot, MySQL, rkhunter und Binutils mit einem einzigen Befehl installieren:

apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo curl

Sie werden nach folgenden Fragen gefragt:

Allgemeiner Typ der Mailkonfiguration: <– Internet-Site
System-Mail-Name: <– server1.example.com

Um die MariaDB / MySQL-Installation zu sichern und die Testdatenbank zu deaktivieren, führen Sie diesen Befehl aus:

mysql_secure_installation

Wir müssen das MariaDB-Root-Passwort nicht ändern, da wir gerade eines während der Installation festgelegt haben. Beantworten Sie die Fragen wie folgt:

Ändern Sie das Root-Passwort? [Y/n] <-- y  
Neues Passwort: <-- Geben Sie ein neues Datenbank-Root-Passwort ein  
Neues Passwort erneut eingeben: <-- Wiederholen Sie das Datenbank-Root-Passwort  
Anonyme Benutzer entfernen? [Y/n] <-- y  
Root-Login aus der Ferne verbieten? [Y/n] <-- y  
Testdatenbank und Zugriff darauf entfernen? [Y/n] <-- y  
Privilegientabellen jetzt neu laden? [Y/n] <-- y

Öffnen Sie als Nächstes die TLS/SSL- und Übermittlungsports in Postfix:

nano /etc/postfix/master.cf

Kommentieren Sie die Abschnitte submission und smtps wie folgt aus und fügen Sie Zeilen hinzu, wo nötig, sodass dieser Abschnitt der master.cf-Datei genau wie der unten aussieht. WICHTIG: Entfernen Sie das # vor den Zeilen, die mit smtps und submission beginnen, und nicht nur von den -o-Zeilen nach diesen Zeilen!

[...]  
submission inet n - y - - smtpd  
 -o syslog_name=postfix/submission  
 -o smtpd_tls_security_level=encrypt  
 -o smtpd_sasl_auth_enable=yes  
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject  
# -o smtpd_reject_unlisted_recipient=no  
# -o smtpd_client_restrictions=$mua_client_restrictions  
# -o smtpd_helo_restrictions=$mua_helo_restrictions  
# -o smtpd_sender_restrictions=$mua_sender_restrictions  
# -o smtpd_recipient_restrictions=  
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject  
# -o milter_macro_daemon_name=ORIGINATING  
smtps inet n - y - - smtpd  
 -o syslog_name=postfix/smtps  
 -o smtpd_tls_wrappermode=yes  
 -o smtpd_sasl_auth_enable=yes  
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject  
# -o smtpd_reject_unlisted_recipient=no  
# -o smtpd_client_restrictions=$mua_client_restrictions  
# -o smtpd_helo_restrictions=$mua_helo_restrictions  
# -o smtpd_sender_restrictions=$mua_sender_restrictions  
# -o smtpd_recipient_restrictions=  
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject  
# -o milter_macro_daemon_name=ORIGINATING  
[...]  

Starten Sie Postfix danach neu:

service postfix restart

Wir möchten, dass MariaDB auf allen Schnittstellen hört, nicht nur auf localhost, daher bearbeiten wir /etc/mysql/mariadb.conf.d/50-server.cnf und kommentieren die Zeile bind-address = 127.0.0.1 aus:

nano /etc/mysql/mariadb.conf.d/50-server.cnf
[...]  

# Statt skip-networking ist die Standardeinstellung jetzt, nur auf  
# localhost zu hören, was kompatibler ist und nicht weniger sicher.  
#bind-address           = 127.0.0.1  
  
[...]  

Speichern Sie die Datei. Setzen Sie dann die Passwort-Authentifizierungsmethode in MariaDB auf native, damit wir später PHPMyAdmin verwenden können, um uns als Root-Benutzer zu verbinden:

echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u root

Bearbeiten Sie die Datei /etc/mysql/debian.cnf und setzen Sie dort das MYSQL / MariaDB-Root-Passwort zweimal in den Zeilen, die mit dem Wort password beginnen.

nano /etc/mysql/debian.cnf

Das MySQL-Root-Passwort, das hinzugefügt werden muss, wird rot angezeigt. In diesem Beispiel lautet das Passwort “howtoforge”.

# Automatisch für Debian-Skripte generiert. NICHT ANFASSEN!  
[client]  
host = localhost  
user = root  
password = howtoforge  
socket = /var/run/mysqld/mysqld.sock  
[mysql_upgrade]  
host = localhost  
user = root  
password = howtoforge  
socket = /var/run/mysqld/mysqld.sock  
basedir = /usr

Um den Fehler ‘ Error in accept: Zu viele offene Dateien ‘ zu verhindern, setzen wir jetzt höhere offene Dateigrenzen für MariaDB.

Öffnen Sie die Datei /etc/security/limits.conf mit einem Editor:

nano /etc/security/limits.conf

und fügen Sie diese Zeilen am Ende der Datei hinzu.

mysql soft nofile 65535  
mysql hard nofile 65535

Erstellen Sie als Nächstes ein neues Verzeichnis /etc/systemd/system/mysql.service.d/ mit dem mkdir-Befehl.

mkdir -p /etc/systemd/system/mysql.service.d/

und fügen Sie eine neue Datei darin hinzu:

nano /etc/systemd/system/mysql.service.d/limits.conf

Fügen Sie die folgenden Zeilen in diese Datei ein:

[Service]  
LimitNOFILE=infinity

Speichern Sie die Datei und schließen Sie den Nano-Editor.

Dann laden wir systemd neu und starten MariaDB neu:

systemctl daemon-reload  
systemctl restart mariadb

Ignorieren Sie die Warnung: “ Warnung: Die Einheitendatei, die Quellkonfigurationsdatei oder die Drop-ins von mariadb.service haben sich auf der Festplatte geändert. Führen Sie ‘systemctl daemon-reload’ aus, um Einheiten neu zu laden. “.

Installieren Sie das dbconfig-common-System:

apt-get install dbconfig-common dbconfig-mysql

Derzeit gibt es ein Problem mit dem Debian dbconfig-common-System, das die Installation von RoundCube später verhindert, beheben Sie es, indem Sie diesen Befehl ausführen:

sed -i -r 's/_dbc_nodb="yes" dbc_mysql_exec/_dbc_nodb="yes"; dbc_mysql_exec/g' /usr/share/dbconfig-common/internal/mysql

Überprüfen Sie jetzt, ob das Networking aktiviert ist. Führen Sie aus:

netstat -tap | grep mysql

Die Ausgabe sollte so aussehen:

root@server1:~# netstat -tap | grep mysql  
tcp6       0      0 [::]:mysql              [::]:*                     LISTEN      4027/mysqld  
root@server1:~#

9 Installieren Sie Amavisd-new, SpamAssassin und ClamAV

Um amavisd-new, SpamAssassin und ClamAV zu installieren, führen wir aus:

apt-get install amavisd-new spamassassin clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextract p7zip p7zip-full unrar lrzip apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl libdbd-mysql-perl postgrey

Die ISPConfig 3-Installation verwendet amavisd, das die SpamAssassin-Filterbibliothek intern lädt, sodass wir SpamAssassin stoppen können, um etwas RAM freizugeben:

systemctl stop spamassassin  
systemctl disable spamassassin

10 Installieren Sie Nginx, PHP (PHP-FPM) und Fcgiwrap

Nginx ist als Paket für Debian verfügbar, das wir wie folgt installieren können:

apt-get install nginx

Wenn Apache2 bereits auf dem System installiert ist, stoppen Sie es jetzt…

systemctl stop apache2

Die Meldung “ Fehler beim Stoppen des apache2.service: Einheit apache2.service nicht geladen. “ ist in Ordnung und zeigt keinen Fehler an.

… und entfernen Sie die Systemstartlinks von Apache:

systemctl disable apache2

Starten Sie danach nginx:

systemctl start nginx

(Wenn sowohl Apache2 als auch nginx installiert sind, fragt der ISPConfig 3-Installer, welchen Sie verwenden möchten - antworten Sie in diesem Fall mit nginx. Wenn nur einer dieser beiden installiert ist, übernimmt ISPConfig die notwendige Konfiguration automatisch.)

Wir können PHP 7.3 in nginx über PHP-FPM zum Laufen bringen (PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung mit einigen zusätzlichen Funktionen, die für Websites jeder Größe nützlich sind, insbesondere für beschäftigte Websites), die wir wie folgt installieren:

apt-get install php7.3-fpm

PHP-FPM ist ein Daemon-Prozess, der einen FastCGI-Server auf dem Socket /var/run/php/php7.3-fpm.sock ausführt.

Um MySQL-Unterstützung in PHP zu erhalten, können wir das php7.3-mysql-Paket installieren. Es ist eine gute Idee, auch einige andere PHP-Module zu installieren, da Sie diese möglicherweise für Ihre Anwendungen benötigen. Sie können nach verfügbaren PHP-Modulen wie folgt suchen:

apt-cache search php7

Wählen Sie die benötigten aus und installieren Sie sie wie folgt:

apt-get install php7.3 php7.3-common php7.3-gd php7.3-mysql php7.3-imap php7.3-cli php7.3-cgi php-pear mcrypt imagemagick libruby php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl memcached php-memcache php-imagick php-gettext php7.3-zip php7.3-mbstring memcached php7.3-soap php7.3-fpm php7.3-opcache php-apcu

Öffnen Sie als Nächstes /etc/php/7.3/fpm/php.ini…

nano /etc/php/7.3/fpm/php.ini

… und setzen Sie cgi.fix_pathinfo=0 und Ihre Zeitzone:

[...]  
cgi.fix_pathinfo=0  
[...]  
date.timezone="Europe/Berlin"  
[...]  

(Sie finden alle verfügbaren Zeitzonen in den Verzeichnissen /usr/share/zoneinfo und seinen Unterverzeichnissen.)

Laden Sie jetzt PHP-FPM neu:

systemctl restart php7.3-fpm

Um CGI-Unterstützung in nginx zu erhalten, installieren wir Fcgiwrap.

Fcgiwrap ist ein CGI-Wrapper, der auch für komplexe CGI-Skripte funktionieren sollte und in Shared-Hosting-Umgebungen verwendet werden kann, da er es jedem vhost ermöglicht, sein eigenes cgi-bin-Verzeichnis zu verwenden.

Installieren Sie das fcgiwrap-Paket:

apt-get install fcgiwrap

Nach der Installation sollte der fcgiwrap-Daemon bereits gestartet sein; sein Socket ist /var/run/fcgiwrap.socket. Wenn er nicht läuft, können Sie das fservice fcgiwrap-Skript verwenden, um ihn zu starten.

Das war’s! Jetzt, wenn Sie einen nginx vhost erstellen, kümmert sich ISPConfig um die korrekte vhost-Konfiguration.

10.1 Installieren Sie phpMyAdmin

Seit Debian 10 ist PHPMyAdmin nicht mehr als .deb-Paket verfügbar. Daher werden wir es aus dem Quellcode installieren.

Erstellen Sie Ordner für PHPMyadmin:

mkdir /usr/share/phpmyadmin  
mkdir /etc/phpmyadmin  
mkdir -p /var/lib/phpmyadmin/tmp  
chown -R www-data:www-data /var/lib/phpmyadmin  
touch /etc/phpmyadmin/htpasswd.setup

Gehen Sie in das /tmp-Verzeichnis und laden Sie die PHPMyAdmin-Quellen herunter:

cd /tmp  
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.tar.gz

Entpacken Sie die heruntergeladene Archivdatei und verschieben Sie die Dateien in den /usr/share/phpmyadmin-Ordner und bereinigen Sie das /tmp-Verzeichnis.

tar xfz phpMyAdmin-4.9.0.1-all-languages.tar.gz  
mv phpMyAdmin-4.9.0.1-all-languages/* /usr/share/phpmyadmin/  
rm phpMyAdmin-4.9.0.1-all-languages.tar.gz  
rm -rf phpMyAdmin-4.9.0.1-all-languages

Erstellen Sie eine neue Konfigurationsdatei für PHPMyaAdmin basierend auf der bereitgestellten Beispieldatei:

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Öffnen Sie die Konfigurationsdatei mit dem Nano-Editor:

nano /usr/share/phpmyadmin/config.inc.php

Setzen Sie ein sicheres Passwort (Blowfish-Geheimnis), das 32 Zeichen lang sein muss:

$cfg['blowfish_secret'] = 'bD3e6wva9fnd93jVsb7SDgeiBCd452Dh'; /* DIES MUSS FÜR COOKIE-AUTHENTIFIZIERUNG AUSGEFÜLLT WERDEN! */

Verwenden Sie nicht mein Beispiel-Blowfish-Geheimnis, setzen Sie Ihr eigenes!

Fügen Sie dann eine Zeile hinzu, um das Verzeichnis festzulegen, das PHPMyAdmin verwenden soll, um temporäre Dateien zu speichern:

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Im nächsten Schritt werden wir den PHPMyAdmin-Konfigurationsspeicher (Datenbank) konfigurieren.

Melden Sie sich bei MariaDB als Root-Benutzer an:

mysql -u root -p

Erstellen Sie in der MariaDB-Shell eine neue Datenbank für PHPMyAdmin:

MariaDB [(none)]> CREATE DATABASE phpmyadmin;

Erstellen Sie dann einen neuen Benutzer:

MariaDB [(none)]> CREATE USER 'pma'@'localhost' IDENTIFIED BY 'mypassword';

Ersetzen Sie das Wort mypassword durch ein sicheres Passwort Ihrer Wahl in den obigen und folgenden Befehlen, verwenden Sie dasselbe Passwort beide Male. Gewähren Sie dann dem Benutzer Zugriff auf diese Datenbank und laden Sie die Datenbankberechtigungen neu.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;  
MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT

Laden Sie schließlich die SQL-Tabellen in die Datenbank:

mysql -u root -p phpmyadmin < /usr/share/phpmyadmin/sql/create_tables.sql

Geben Sie das MariaDB-Root-Passwort auf Anfrage ein.

Alles, was wir jetzt noch tun müssen, ist, die phpmyadmin-Benutzerdaten im Konfigurationsdatei festzulegen. Öffnen Sie die Datei erneut im Nano-Editor:

nano /usr/share/phpmyadmin/config.inc.php

Scrollen Sie nach unten, bis Sie die folgenden Zeilen sehen, und bearbeiten Sie sie:

/* Benutzer, der mit dem Speicher arbeitet */  
$cfg['Servers'][$i]['controlhost'] = 'localhost';  
$cfg['Servers'][$i]['controlport'] = '';  
$cfg['Servers'][$i]['controluser'] = 'pma';  
$cfg['Servers'][$i]['controlpass'] = 'mypassword';  
  
/* Speicher-Datenbank und Tabellen */  
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';  
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';  
$cfg['Servers'][$i]['relation'] = 'pma__relation';  
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';  
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';  
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';  
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';  
$cfg['Servers'][$i]['history'] = 'pma__history';  
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';  
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';  
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';  
$cfg['Servers'][$i]['recent'] = 'pma__recent';  
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';  
$cfg['Servers'][$i]['users'] = 'pma__users';  
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';  
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';  
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';  
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';  
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';  
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

Ich habe die Zeilen rot markiert, die ich bearbeitet habe. Ersetzen Sie mypassword durch das Passwort, das Sie für den phpmyadmin-Benutzer gewählt haben. Beachten Sie, dass die // vor den Zeilen ebenfalls entfernt wurden!

Nachdem Sie ISPConfig 3.2 installiert haben, können Sie auf phpMyAdmin wie folgt zugreifen:

Der ISPConfig-Apps-vhost auf Port 8081 für nginx kommt mit einer phpMyAdmin-Konfiguration, sodass Sie http://server1.example.com:8081/phpmyadmin oder http://server1.example.com:8081/phpMyAdmin verwenden können, um auf phpMyAdmin zuzugreifen.

Wenn Sie ein /phpmyadmin oder /phpMyAdmin-Alias verwenden möchten, das Sie von Ihren Websites aus verwenden können, ist dies etwas komplizierter als für 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 phpMyAdmin zugreifen möchten.

Um dies zu tun, fügen Sie das Folgende in das nginx-Direktivenfeld auf der Registerkarte Optionen der Website in ISPConfig später ein:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.3-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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Wenn Sie http s anstelle von http für Ihren vhost verwenden, sollten Sie die Zeile fastcgi_param HTTPS on; zu Ihrer phpMyAdmin-Konfiguration wie folgt hinzufügen:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
                       fastcgi_param HTTPS on; # <-- fügen Sie diese Zeile hinzu
                       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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Wenn Sie sowohl http als auch https für Ihren vhost verwenden, können Sie die $https-Variable verwenden. Gehen Sie erneut zum nginx-Direktivenfeld und fügen Sie anstelle von fastcgi_param HTTPS on; die Zeile fastcgi_param HTTPS $https; hinzu, damit Sie phpMyAdmin sowohl für http- als auch für https-Anfragen verwenden können:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
                       fastcgi_param HTTPS $https; # <-- fügen Sie diese Zeile hinzu
                       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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

11 Installieren Sie Let’s Encrypt

ISPConfig verwendet jetzt acme.sh als Let’s Encrypt-Client. Installieren Sie acme.sh mit folgendem Befehl:

curl https://get.acme.sh | sh -s

12 Installieren Sie Mailman

ISPConfig ermöglicht es Ihnen, Mailman-Mailinglisten zu verwalten (zu erstellen/zu ändern/zu löschen). Wenn Sie diese Funktion nutzen möchten, installieren Sie Mailman wie folgt:

apt-get install mailman

Wählen Sie mindestens eine Sprache, z.B.:

Sprachen zur Unterstützung: <– en (Englisch)
Fehlende Site-Liste <– Ok

Bevor wir Mailman starten können, muss eine erste Mailingliste namens mailman erstellt werden:

newlist mailman

root@server1:~# newlist mailman
Geben Sie die E-Mail-Adresse der Person ein, die die Liste verwaltet: <– E-Mail-Adresse des Administrators, z.B. [email protected]
Anfängliches Mailman-Passwort: <– Administrationspasswort für die Mailman-Liste
Um die Erstellung Ihrer Mailingliste abzuschließen, müssen Sie Ihre /etc/aliases (oder äquivalente) Datei bearbeiten, indem Sie die folgenden Zeilen hinzufügen und möglicherweise das Programm newaliases ausführen:

Mailman-Mailingliste

mailman: “|/var/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/var/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/var/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/var/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/var/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/var/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/var/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/var/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/var/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/var/lib/mailman/mail/mailman unsubscribe mailman”

Drücken Sie die Eingabetaste, um den Mailman-Besitzer zu benachrichtigen… <– EINGABETASTE

root@server1:~#

Öffnen Sie anschließend /etc/aliases…

nano /etc/aliases

… und fügen Sie die folgenden Zeilen hinzu:

[...]  
## Mailman-Mailingliste  
mailman:              "|/var/lib/mailman/mail/mailman post mailman"  
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"  
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"  
mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"  
mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"  
mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"  
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"  
mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"  
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"  
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Führen Sie anschließend aus:

newaliases

und starten Sie Postfix neu:

systemctl restart postfix

Starten Sie dann den Mailman-Daemon:

systemctl restart mailman

Nachdem Sie ISPConfig 3 installiert haben, können Sie auf Mailman wie folgt zugreifen:

Der ISPConfig-Apps-vhost auf Port 8081 für nginx kommt mit einer Mailman-Konfiguration, sodass Sie http://server1.example.com:8081/cgi-bin/mailman/admin/ oder http://server1.example.com:8081/cgi-bin/mailman/listinfo/ verwenden können, um auf Mailman zuzugreifen.

Wenn Sie Mailman von Ihren Websites aus verwenden möchten, ist dies etwas komplizierter als für 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 Mailman zugreifen möchten.

Um dies zu tun, fügen Sie das Folgende in das nginx-Direktivenfeld auf der Registerkarte Optionen der Website in ISPConfig:

        location /cgi-bin/mailman {
               root /usr/lib/;
               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
               include /etc/nginx/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
               fastcgi_intercept_errors on;
               fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }

        location /images/mailman {
               alias /usr/share/images/mailman;
        }

        location /pipermail {
               alias /var/lib/mailman/archives/public;
               autoindex on;
        }

Dies definiert den Alias /cgi-bin/mailman/ für Ihren vhost, was bedeutet, dass Sie auf die Mailman-Administrationsoberfläche für eine Liste unter http:///cgi-bin/mailman/admin/ zugreifen können, und die Webseite für Benutzer einer Mailingliste finden Sie unter http:///cgi-bin/mailman/listinfo/.

Unter http:///pipermail finden Sie die Archive der Mailingliste.

13 Installieren Sie PureFTPd und Quota

PureFTPd und Quota können mit folgendem Befehl installiert werden:

apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool

Bearbeiten Sie die Datei /etc/default/pure-ftpd-common…

nano /etc/default/pure-ftpd-common

… und stellen Sie sicher, dass der Startmodus auf standalone gesetzt ist und VIRTUALCHROOT=true gesetzt ist:

[...]  
STANDALONE_OR_INETD=standalone  
[...]  
VIRTUALCHROOT=true  
[...]  

Jetzt konfigurieren wir PureFTPd, um FTP- und TLS-Sitzungen zuzulassen. FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und alle Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.

Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, führen Sie aus:

echo 1 > /etc/pure-ftpd/conf/TLS

Um TLS zu verwenden, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, daher erstelle ich zuerst dieses Verzeichnis:

mkdir -p /etc/ssl/private/

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Ländercode (2 Buchstaben) [AU]: <– Geben Sie Ihren Ländercode ein (z.B. “DE”).
Bundesland oder Provinzname (vollständiger Name) [Some-State]: <– Geben Sie den Namen Ihres Bundeslandes oder Ihrer Provinz ein.
Ortsname (z.B. Stadt) []: <– Geben Sie Ihre Stadt ein.
Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]: <– Geben Sie den Namen Ihrer Organisation ein (z.B. den Namen Ihres Unternehmens).
Abteilung (z.B. Abschnitt) []: <– Geben Sie den Namen Ihrer Abteilung ein (z.B. “IT-Abteilung”).
Allgemeiner Name (z.B. FQDN oder IHR Name) []: <– Geben Sie den vollständig qualifizierten Domainnamen des Systems ein (z.B. “server1.example.com”).
E-Mail-Adresse []: <– Geben Sie Ihre E-Mail-Adresse ein.

Ändern Sie die Berechtigungen des SSL-Zertifikats:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Starten Sie dann PureFTPd neu:

systemctl restart pure-ftpd-mysql

Bearbeiten Sie /etc/fstab. Meine sieht so aus (ich habe ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 zu der Partition mit dem Einhängepunkt / hinzugefügt):

nano /etc/fstab
# /etc/fstab: Statische Dateisysteminformationen.  
#  
# Verwenden Sie 'blkid', um die universell eindeutige Kennung für ein  
# Gerät zu drucken; dies kann mit UUID= als eine robustere Möglichkeit verwendet werden, Geräte  
# zu benennen, die auch funktionieren, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5).  
#  
#        
# / war auf /dev/sda1 während der Installation  
UUID=45576b38-39e8-4994-b8c1-ea4870e2e614 / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1  
# Swap war auf /dev/sda5 während der Installation  
UUID=8bea0d1e-ec37-4b20-9976-4b7daaa3eb69 none swap sw 0 0  
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

Um Quota zu aktivieren, führen Sie diese Befehle aus:

mount -o remount /
quotacheck -avugm  
quotaon -avug

14 Installieren Sie den BIND DNS-Server

BIND kann wie folgt installiert werden:

apt-get install bind9 dnsutils

Wenn Ihr Server eine virtuelle Maschine ist, wird dringend empfohlen, den haveged-Daemon zu installieren, um eine höhere Entropie für die DNSSEC-Signierung zu erhalten. Sie können haveged auch auf nicht-virtuellen Servern installieren, es sollte nicht schaden.

apt-get -y install haveged  
systemctl enable haveged  
systemctl start haveged

Eine Erklärung zu diesem Thema finden Sie hier.

15 Installieren Sie Webalizer, AWStats und GoAccess

Webalizer und AWStats können wie folgt installiert werden:

apt-get install webalizer awstats geoip-database libtimedate-perl libclass-dbi-mysql-perl

Öffnen Sie anschließend /etc/cron.d/awstats…

nano /etc/cron.d/awstats

… und kommentieren Sie alles in dieser Datei aus:

#MAILTO=root

#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generieren Sie statische Berichte:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

Installieren Sie die neueste GoAccess-Version direkt aus dem GoAccess-Repository:

echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list  
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -  
apt-get update  
apt-get install goaccess

16 Installieren Sie Jailkit

Jailkit wird nur benötigt, wenn Sie SSH-Benutzer chrooten möchten. Es kann wie folgt installiert werden (wichtig: Jailkit muss vor ISPConfig installiert werden - es kann danach nicht installiert werden!):

apt-get install build-essential autoconf automake libtool flex bison debhelper binutils
cd /tmp  
wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz  
tar xvfz jailkit-2.20.tar.gz  
cd jailkit-2.20  
echo 5 > debian/compat  
./debian/rules binary

Sie können jetzt das Jailkit.deb-Paket wie folgt installieren:

cd ..  
dpkg -i jailkit_2.20-1_*.deb  
rm -rf jailkit-2.20*

17 Installieren Sie Fail2ban und die UFW-Firewall

Dies ist optional, wird jedoch empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen:

apt-get install fail2ban

Um fail2ban zu ermöglichen, PureFTPd und Dovecot zu überwachen, erstellen Sie die Datei /etc/fail2ban/jail.local:

nano /etc/fail2ban/jail.local
[pure-ftpd]  
enabled = true  
port = ftp  
filter = pure-ftpd  
logpath = /var/log/syslog  
maxretry = 3  
  
[dovecot]  
enabled = true  
filter = dovecot  
logpath = /var/log/mail.log  
maxretry = 5  
  
[postfix-sasl]  
enabled = true  
port = smtp  
filter = postfix[mode=auth]  
logpath = /var/log/mail.log  
maxretry = 3

Starten Sie fail2ban danach neu:

systemctl restart fail2ban

Um die UFW-Firewall zu installieren, führen Sie diesen apt-Befehl aus:

apt-get install ufw

18 Installieren Sie RoundCube

Installieren Sie RoundCube mit diesem Befehl:

apt-get install roundcube roundcube-core roundcube-mysql roundcube-plugins

Der Installer wird nach folgenden Fragen fragen:

Datenbank für RoundCube mit dbconfig.common konfigurieren? <-- ja  
MySQL-Anwendungspasswort für RoundCube: <-- drücken Sie die Eingabetaste  
Passwort des administrativen Benutzers der Datenbanken: <-- geben Sie hier das MySQL-Root-Passwort ein.

Bearbeiten Sie dann die RoundCube /etc/roundcube/config.inc.php-Datei und passen Sie einige Einstellungen an:

nano /etc/roundcube/config.inc.php

Setzen Sie den default_host auf localhost und den smtp_server.

$config['default_host'] = 'localhost';  
$config['smtp_server'] = 'localhost';  
$config['smtp_port']  = 25;

ISPConfig hat einige Konfigurationen im nginx-Apps-vhost für squirrelmail, die auch für roundcube funktionieren. Wir aktivieren es mit:

ln -s /usr/share/roundcube /usr/share/squirrelmail

http://192.168.0.100:8081/webmail
http://server1.example.com:8081/webmail (nach der Installation von ISPConfig, siehe das nächste Kapitel)

Roundcube auf Nginx

19 Installieren Sie ISPConfig 3

Bevor Sie mit der Installation von ISPConfig beginnen, stellen Sie sicher, dass Apache gestoppt ist (falls er 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…

systemctl stop apache2

… und entfernen Sie die Systemstartlinks von Apache:

update-rc.d -f apache2 remove

Stellen Sie sicher, dass nginx läuft:

systemctl start nginx

(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 aus, den Sie für ISPConfig verwenden möchten: (apache,nginx) [apache]:

Geben Sie nginx ein. Wenn nur Apache oder nginx installiert ist, wird dies automatisch vom Installer erkannt, und es wird keine Frage gestellt.)

Um ISPConfig 3.2 aus der neuesten veröffentlichten Version zu installieren, tun Sie dies:

cd /tmp  
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz  
tar xfz ISPConfig-3-stable.tar.gz  
cd ispconfig3_install/install/

Der nächste Schritt besteht darin, auszuführen:

php -q install.php

Dies startet den ISPConfig 3-Installer. Der Installer konfiguriert alle Dienste wie Postfix, Nginx, Dovecot usw. für Sie.

# php -q install.php
  
--------------------------------------------------------------------------------  
_____ ___________ _____ __ _ ____  
|_ _/ ___| ___ \ / __ \ / _(_) /__ \  
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /  
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |  
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \  
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/  
__/ |  
|___/  
--------------------------------------------------------------------------------
  
>> Erste Konfiguration
Betriebssystem: Debian 10.0 (Buster) oder kompatibel
Folgendes sind einige Fragen zur primären Konfiguration, seien Sie vorsichtig.  
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]: <-- Eingabetaste drücken
Installationsmodus (standard,experte) [standard]: <-- Eingabetaste drücken
Vollqualifizierter Hostname (FQDN) des Servers, z.B. server1.domain.tld [server1.canomi.com]: <-- Eingabetaste drücken
MySQL-Server-Hostname [localhost]: <-- Eingabetaste drücken
MySQL-Server-Port [3306]: <-- Eingabetaste drücken
MySQL-Root-Benutzername [root]: <-- Eingabetaste drücken
MySQL-Root-Passwort []: <-- Geben Sie Ihr MySQL-Root-Passwort ein
MySQL-Datenbank zu erstellen [dbispconfig]: <-- Eingabetaste drücken
MySQL-Zeichensatz [utf8]: <-- Eingabetaste drücken
Apache und nginx erkannt. Wählen Sie den Server aus, den Sie für ISPConfig verwenden möchten: (apache,nginx) [apache]: <-- nginx  
  
Konfigurieren von Postgrey  
Konfigurieren von Postfix  
Generieren eines 4096-Bit-RSA-Privatschlüssels  
.......................................................................++  
........................................................................................................................................++  
Schreiben eines neuen privaten Schlüssels in 'smtpd.key'  
-----  
Sie werden gefragt, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden.  
Was Sie eingeben werden, wird als Distinguished Name oder DN bezeichnet.  
Es gibt viele Felder, aber Sie können einige leer lassen.  
Für einige Felder gibt es einen Standardwert,  
Wenn Sie '.' eingeben, wird das Feld leer gelassen.  
-----  
Ländercode (2 Buchstaben) [AU]: <-- Geben Sie den 2-Buchstaben-Ländercode ein  
Bundesland oder Provinzname (vollständiger Name) [Some-State]: <-- Geben Sie den Namen des Bundeslandes ein  
Ortsname (z.B. Stadt) []: <-- Geben Sie Ihre Stadt ein  
Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]: <-- Geben Sie den Namen des Unternehmens ein oder drücken Sie die Eingabetaste  
Abteilung (z.B. Abschnitt) []: <-- Eingabetaste drücken  
Allgemeiner Name (z.B. FQDN oder IHR Name) []: <-- Geben Sie den Hostnamen des Servers ein, in meinem Fall: server1.example.com  
E-Mail-Adresse []: <-- Eingabetaste drücken  
Konfigurieren von Mailman  
Konfigurieren von Dovecot  
Konfigurieren von Spamassassin  
Konfigurieren von Amavisd  
Konfigurieren von Getmail  
Konfigurieren von BIND  
Konfigurieren von Jailkit  
Konfigurieren von Pureftpd  
Konfigurieren von Nginx  
Konfigurieren von vlogger  
[INFO] Dienst Metronome XMPP-Server nicht erkannt
Konfigurieren der UFW-Firewall  
Konfigurieren von Fail2ban  
[INFO] Dienst OpenVZ nicht erkannt  
Konfigurieren von Apps vhost  
ISPConfig installieren  
ISPConfig-Port [8080]:
Admin-Passwort [admin]: <-- Geben Sie hier das gewünschte Passwort des ISPConfig-Administrators ein
Möchten Sie eine sichere (SSL) Verbindung zur ISPConfig-Weboberfläche (y,n) [y]: <-- Eingabetaste drücken
Generierung eines RSA-Privatschlüssels, 4096 Bit langer Modulus  
.......................++  
................................................................................................................................++  
Sie werden gefragt, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden.  
Was Sie eingeben werden, wird als Distinguished Name oder DN bezeichnet.  
Es gibt viele Felder, aber Sie können einige leer lassen.  
Für einige Felder gibt es einen Standardwert,  
Wenn Sie '.' eingeben, wird das Feld leer gelassen.  
-----  
Ländercode (2 Buchstaben) [AU]: <-- Geben Sie den 2-Buchstaben-Ländercode ein  
Bundesland oder Provinzname (vollständiger Name) [Some-State]: <-- Geben Sie den Namen des Bundeslandes ein  
Ortsname (z.B. Stadt) []: <-- Geben Sie Ihre Stadt ein  
Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]: <-- Geben Sie den Namen des Unternehmens ein oder drücken Sie die Eingabetaste  
Abteilung (z.B. Abschnitt) []: <-- Eingabetaste drücken  
Allgemeiner Name (z.B. FQDN oder IHR Name) []: <-- Geben Sie den Hostnamen des Servers ein, in meinem Fall: server1.example.com  
E-Mail-Adresse []: <-- Eingabetaste drücken
Bitte geben Sie die folgenden 'zusätzlichen' Attribute ein,  
 die mit Ihrer Zertifikatsanforderung gesendet werden  
Ein Herausforderungs-Passwort []: <-- Eingabetaste drücken  
Ein optionaler Firmenname []: <-- Eingabetaste drücken  
Schreiben des RSA-Schlüssels
  
Konfigurieren des DBServers  
Installieren des ISPConfig-Crontabs  
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.

Danach können Sie auf ISPConfig 3 unter http(s)://server1.example.com:8080/ oder http(s)://192.168.1.100:8080/ zugreifen (http oder https hängt davon ab, was Sie während der Installation gewählt haben). Melden Sie sich mit dem Benutzernamen admin und dem Passwort admin an (Sie sollten das Standardpasswort nach Ihrem ersten Login ändern):

ISPConfig-Anmeldeseite

ISPConfig-Dashboard auf Debian 10

Schließlich beheben wir einige Berechtigungen der RoundCube-Installation.

chown root:ispapps /etc/roundcube/debian-db.php
chmod 640 /etc/roundcube/debian-db.php
chown root:ispapps /etc/roundcube/config.inc.php
chmod 640 /etc/roundcube/config.inc.php
chown -R ispapps:adm /var/log/roundcube
chmod -R 750 /var/log/roundcube
chown -R ispapps:ispapps /var/lib/roundcube/temp
chmod -R 750 /var/lib/roundcube/temp

Das System ist jetzt bereit zur Verwendung.

Es gibt einige Plugins, um RoundCube Webmail mit ISPConfig zu integrieren, schauen Sie hier nach den Installationsanweisungen für das ISPConfig RoundCube-Plugin.

20.1 ISPConfig 3 Handbuch

Um zu lernen, wie man ISPConfig 3 verwendet, empfehle ich dringend, das ISPConfig 3-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 Referenzdokument 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 Sie Ihren Server sicherer machen können, und enthält am Ende einen Abschnitt zur Fehlersuche.

21 Download des virtuellen Maschinenimages dieses Tutorials

Dieses Tutorial ist als sofort einsatzbereites virtuelles Maschinenimage im ovf/ova-Format verfügbar, das mit VMWare und Virtualbox kompatibel ist. Das virtuelle Maschinenimage verwendet die folgenden Anmeldedaten:

SSH / Shell-Anmeldung

Benutzername: administrator
Passwort: howtoforge

Benutzername: root
Passwort: howtoforge

ISPConfig-Anmeldung

Benutzername: admin
Passwort: howtoforge

MySQL-Anmeldung

Benutzername: root
Passwort: howtoforge

Die IP der VM ist 192.168.0.100, sie kann in der Datei /etc/network/interfaces geändert werden. Bitte ändern Sie alle oben genannten Passwörter, um die virtuelle Maschine zu sichern.

22 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.