From cf2831a0238b85a0769c37e8fe61cabb39f5addd Mon Sep 17 00:00:00 2001 From: finnweiss Date: Sun, 23 Feb 2025 11:01:55 +0100 Subject: [PATCH 1/5] Create test --- community-tutorials/how-to-install-ispconfig/test | 1 + 1 file changed, 1 insertion(+) create mode 100644 community-tutorials/how-to-install-ispconfig/test diff --git a/community-tutorials/how-to-install-ispconfig/test b/community-tutorials/how-to-install-ispconfig/test new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/community-tutorials/how-to-install-ispconfig/test @@ -0,0 +1 @@ + From 1f49c3c17f5a5f166698d05d6ba72b1b1e8d384b Mon Sep 17 00:00:00 2001 From: finnweiss Date: Sun, 23 Feb 2025 11:03:14 +0100 Subject: [PATCH 2/5] Delete community-tutorials/how-to-install-ispconfig directory --- community-tutorials/how-to-install-ispconfig/test | 1 - 1 file changed, 1 deletion(-) delete mode 100644 community-tutorials/how-to-install-ispconfig/test diff --git a/community-tutorials/how-to-install-ispconfig/test b/community-tutorials/how-to-install-ispconfig/test deleted file mode 100644 index 8b137891..00000000 --- a/community-tutorials/how-to-install-ispconfig/test +++ /dev/null @@ -1 +0,0 @@ - From 14ff269279fe18644e9b992e76eaf147cc3f052a Mon Sep 17 00:00:00 2001 From: finnweiss Date: Sun, 23 Feb 2025 11:04:11 +0100 Subject: [PATCH 3/5] Create 01-en.md --- .../how-to-install-ispconfig/01-en.md | 181 ++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 community-tutorials/how-to-install-ispconfig/01-en.md diff --git a/community-tutorials/how-to-install-ispconfig/01-en.md b/community-tutorials/how-to-install-ispconfig/01-en.md new file mode 100644 index 00000000..d4d852ba --- /dev/null +++ b/community-tutorials/how-to-install-ispconfig/01-en.md @@ -0,0 +1,181 @@ +--- +title: ISPConfig 3 installation on Debian and Ubuntu +description: Learn how to install ISPConfig on Debian 11, 12 and Ubuntu 22.04, 24.04 +updated_at: 2025-02-23 +slug: install-ispconfig3 +author_name: Finn Weiss +author_url: https://github.com/finnweiss/ +author_image: https://f-w.dev/racoon.jpg +author_bio: +tags: [web, mysql, linux, debian, mariadb, ubuntu, ispconfig] +netcup_product_url: https://www.netcup.com/de/server/vps +language: en +available_languages: en, de +--- + +# Introduction + +In this tutorial you will learn how to install ISPConfig on Debian 11, 12 and Ubuntu 22.04, 24.04. + +I am currently doing the installation on a VPS 500 G11s under Debain 12, but the installation should also work on any other VPS and with a different version of Debain or Ubuntu. +# Requirements + +You need an updated server on which you have root rights. +# Installing ISPConfig3 + +## 1. Configure the Hostname and Hosts File + +Your server’s hostname should be a subdomain like `server1.example.com`. **Do not** use a domain name without a subdomain part (e.g., `example.com`) as your hostname, as this may cause issues with your setup later. + +### 1.1 Verify and Update the `/etc/hosts` File + +First, check the hostname in the `/etc/hosts` file and modify it if necessary. The line should follow this format: + +``` +IP address - full hostname (including domain) - subdomain part +``` + +Edit the file using: + +```bash +nano /etc/hosts +``` + +A correct example for `server1.example.com`: + +``` +127.0.0.1 localhost.localdomain localhost +# This line should be updated to the correct server name: +127.0.1.1 server1.example.com server1 + +# The following lines are recommended for IPv6-compatible hosts: +::1 localhost ip6-localhost ip6-loopback +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +``` + +### 1.2 Edit the `/etc/hostname` File + +Next, update the hostname configuration in the `/etc/hostname` file: + +```bash +nano /etc/hostname +``` + +It should contain **only** the subdomain part: + +``` +server1 +``` + +### 1.3 Apply the Changes + +To apply the new hostname, restart the server: + +```bash +reboot +``` + +After rebooting, log in again and verify that the hostname is set correctly: + +```bash +hostname +hostname -f +``` + +The output should match the following: + +``` +root@server1:~$ hostname +server1 +root@server1:~$ hostname -f +server1.example.com +``` + +## 2. Installing ISPConfig + +We can now run the automated ISPConfig installer. The basic setup includes the following software packages (and their dependencies): +**Apache2, PHP (versions 5.6 – 8.3), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats, and GoAccess.** + +### 2.1 Run the Installation Script + +Start the installation by running: + +```bash +wget -O - https://get.ispconfig.org | sh -s -- --unattended-upgrades +``` + +After a while, you will see the following message: + +``` +WARNING! This script will reconfigure your complete server! +It should be run on a freshly installed server and all current configuration that you have done will most likely be lost! +Type 'yes' if you really want to continue: +``` + +Type **"yes"** and press **Enter** to proceed. The installation will begin. + +### 2.2 Handling Installation Errors + +If you encounter the following error: + +``` +[ERROR] Exception occurred: ISPConfigOSException -> Command mount -o remount / 2>&1 && quotaoff -avug 2>&1 && quotacheck -avugm 2>&1 && quotaon -avug 2>&1 failed. (/ispconfig.ai.php:15) +``` + +Use this modified installation command instead: + +```bash +wget -O - https://get.ispconfig.org | sh -s -- --unattended-upgrades --no-quota +``` + +### 2.3 Completing the Installation + +Once the installation is complete, you will see the ISPConfig administrator password and MySQL root password: + +``` +[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC +[INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYs +``` + +You can now access the ISPConfig web interface at: + +``` +http://your-server-ip:8080 +``` + +Log in with the username **"admin"** and the password provided during the installation. + + + +# License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicence, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +# Contributor's Certificate of Origin + +By making a contribution to this project, I certify that: + +1. The contribution was created in whole or in part by me and I have the right to submit it under the license indicated in the file; or + +2. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same license (unless I am permitted to submit under a different license), as indicated in the file; or + +3. The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. + +4. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the license(s) involved. From 5766d52530b0b8d06f2fafa1077b808cba7b9b94 Mon Sep 17 00:00:00 2001 From: finnweiss Date: Sun, 23 Feb 2025 11:04:24 +0100 Subject: [PATCH 4/5] Add files via upload --- .../how-to-install-ispconfig/02-de.md | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 community-tutorials/how-to-install-ispconfig/02-de.md diff --git a/community-tutorials/how-to-install-ispconfig/02-de.md b/community-tutorials/how-to-install-ispconfig/02-de.md new file mode 100644 index 00000000..9e7c6a29 --- /dev/null +++ b/community-tutorials/how-to-install-ispconfig/02-de.md @@ -0,0 +1,169 @@ +--- +title: ISPConfig 3 Installation auf Debian und Ubuntu +description: Erfahre, wie du ISPConfig auf Debian 11, 12 und Ubuntu 22.04, 24.04 installierst +updated_at: 2025-02-23 +slug: install-ispconfig3 +author_name: Finn Weiß +author_url: https://github.com/finnweiss/ +author_image: https://f-w.dev/racoon.jpg +author_bio: +tags: [web, mysql, linux, debian, mariadb, ubuntu, ispconfig] +netcup_product_url: https://www.netcup.com/de/server/vps +language: de +available_languages: en, de +--- + +# Einführung + +In diesem Tutorial erfährst du, wie du ISPConfig auf Debian 11, 12 und Ubuntu 22.04, 24.04 installierst. + +Ich führe die Installation derzeit auf einem VPS 500 G11s unter Debian 12 durch, aber die Installation sollte auch auf jedem anderen VPS und mit einer anderen Version von Debian oder Ubuntu funktionieren. + +# Voraussetzungen + +Du benötigst einen aktualisierten Server, auf dem du Root-Rechte hast. + +# Installation von ISPConfig3 + +## 1. Hostname und Hosts-Datei konfigurieren + +Der Hostname deines Servers sollte eine Subdomain wie `server1.example.com` sein. **Verwende nicht** einen Domainnamen ohne Subdomain-Teil (z. B. `example.com`) als Hostname, da dies später Probleme verursachen kann. + +### 1.1 Überprüfen und Aktualisieren der Datei `/etc/hosts` + +Überprüfe den Hostnamen in der Datei `/etc/hosts` und passe ihn falls nötig an. Die Zeile sollte folgendem Format entsprechen: + +``` +IP-Adresse - vollständiger Hostname (inklusive Domain) - Subdomain-Teil +``` + +Öffne die Datei mit: + +```bash +nano /etc/hosts +``` + +Ein korrektes Beispiel für `server1.example.com`: + +``` +127.0.0.1 localhost.localdomain localhost +# Diese Zeile sollte auf den korrekten Servernamen aktualisiert werden: +127.0.1.1 server1.example.com server1 + +# Die folgenden Zeilen sind für IPv6-kompatible Hosts empfohlen: +::1 localhost ip6-localhost ip6-loopback +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +``` + +### 1.2 Bearbeiten der Datei `/etc/hostname` + +Aktualisiere den Hostnamen in der Datei `/etc/hostname`: + +```bash +nano /etc/hostname +``` + +Der Inhalt sollte **nur** den Subdomain-Teil enthalten: + +``` +server1 +``` + +### 1.3 Änderungen übernehmen + +Um den neuen Hostnamen zu übernehmen, starte den Server neu: + +```bash +reboot +``` + +Nach dem Neustart melde dich erneut an und überprüfe, ob der Hostname korrekt gesetzt ist: + +```bash +hostname +hostname -f +``` + +Die Ausgabe sollte wie folgt aussehen: + +``` +root@server1:~$ hostname +server1 +root@server1:~$ hostname -f +server1.example.com +``` + +## 2. Installation von ISPConfig + +Nun können wir das automatische ISPConfig-Installationsskript ausführen. Die Basisinstallation umfasst die folgenden Softwarepakete (und ihre Abhängigkeiten): +**Apache2, PHP (Versionen 5.6 – 8.3), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats und GoAccess.** + +### 2.1 Installationsskript ausführen + +Starte die Installation mit: + +```bash +wget -O - https://get.ispconfig.org | sh -s -- --unattended-upgrades +``` + +Nach einer Weile erscheint folgende Meldung: + +``` +WARNUNG! Dieses Skript wird deinen gesamten Server neu konfigurieren! +Es sollte nur auf einem frisch installierten Server ausgeführt werden, da alle aktuellen Konfigurationen verloren gehen können! +Gib 'yes' ein, wenn du wirklich fortfahren möchtest: +``` + +Gib **"yes"** ein und drücke **Enter**, um fortzufahren. Die Installation beginnt. + +### 2.2 Fehler bei der Installation beheben + +Falls folgender Fehler auftritt: + +``` +[ERROR] Exception occurred: ISPConfigOSException -> Command mount -o remount / 2>&1 && quotaoff -avug 2>&1 && quotacheck -avugm 2>&1 && quotaon -avug 2>&1 failed. (/ispconfig.ai.php:15) +``` + +Verwende stattdessen diesen Installationsbefehl: + +```bash +wget -O - https://get.ispconfig.org | sh -s -- --unattended-upgrades --no-quota +``` + +### 2.3 Abschluss der Installation + +Nach Abschluss der Installation siehst du das ISPConfig-Administrator-Passwort und das MySQL-Root-Passwort: + +``` +[INFO] Dein ISPConfig-Admin-Passwort lautet: 5GvfSSSYsdfdYC +[INFO] Dein MySQL-Root-Passwort lautet: kkAkft82d!kafMwqxdtYs +``` + +Du kannst nun auf die ISPConfig-Weboberfläche zugreifen unter: + +``` +http://deine-server-ip:8080 +``` + +Melde dich mit dem Benutzer **"admin"** und dem während der Installation angegebenen Passwort an. + +# Lizenz + +Es wird hiermit die Erlaubnis erteilt, jedem, der eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die Software ohne Einschränkungen zu verwenden, einschließlich, aber nicht beschränkt auf die Rechte zur Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verbreitung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, unter den folgenden Bedingungen: + +Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein. + +DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG. IN KEINEM FALL HAFTEN DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER SONSTIGE HAFTUNGEN, SEI ES AUS VERTRAGSVERLETZUNG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE AUS DER SOFTWARE ODER DER NUTZUNG ODER SONSTIGEN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN. + +# Zertifikat des Beiträgers + +Mit dem Einreichen eines Beitrags zu diesem Projekt bestätige ich, dass: + +1. Der Beitrag wurde vollständig oder teilweise von mir erstellt und ich habe das Recht, ihn unter der im Projekt angegebenen Lizenz einzureichen; oder + +2. Der Beitrag basiert auf früheren Arbeiten, die nach bestem Wissen unter einer geeigneten Lizenz stehen, und ich habe das Recht, diese Arbeit mit Modifikationen unter derselben Lizenz oder, falls zulässig, unter einer anderen Lizenz einzureichen. + +3. Der Beitrag wurde mir direkt von einer anderen Person bereitgestellt, die Punkt (a), (b) oder (c) bestätigt hat und ich ihn nicht geändert habe. + +4. Ich verstehe und stimme zu, dass dieses Projekt und der Beitrag öffentlich sind und dass ein Datensatz des Beitrags (einschließlich aller eingereichten persönlichen Informationen) auf unbestimmte Zeit erhalten bleibt. From 1c445c06d6f3d02fac8625953a7120df1040cf7f Mon Sep 17 00:00:00 2001 From: finnweiss Date: Sun, 23 Feb 2025 11:05:47 +0100 Subject: [PATCH 5/5] Update 02-de.md --- .../how-to-install-ispconfig/02-de.md | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/community-tutorials/how-to-install-ispconfig/02-de.md b/community-tutorials/how-to-install-ispconfig/02-de.md index 9e7c6a29..9e91c6e1 100644 --- a/community-tutorials/how-to-install-ispconfig/02-de.md +++ b/community-tutorials/how-to-install-ispconfig/02-de.md @@ -148,22 +148,34 @@ http://deine-server-ip:8080 Melde dich mit dem Benutzer **"admin"** und dem während der Installation angegebenen Passwort an. -# Lizenz +# License -Es wird hiermit die Erlaubnis erteilt, jedem, der eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die Software ohne Einschränkungen zu verwenden, einschließlich, aber nicht beschränkt auf die Rechte zur Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verbreitung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, unter den folgenden Bedingungen: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicence, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG. IN KEINEM FALL HAFTEN DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER SONSTIGE HAFTUNGEN, SEI ES AUS VERTRAGSVERLETZUNG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE AUS DER SOFTWARE ODER DER NUTZUNG ODER SONSTIGEN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -# Zertifikat des Beiträgers +# Contributor's Certificate of Origin -Mit dem Einreichen eines Beitrags zu diesem Projekt bestätige ich, dass: +By making a contribution to this project, I certify that: -1. Der Beitrag wurde vollständig oder teilweise von mir erstellt und ich habe das Recht, ihn unter der im Projekt angegebenen Lizenz einzureichen; oder +1. The contribution was created in whole or in part by me and I have the right to submit it under the license indicated in the file; or -2. Der Beitrag basiert auf früheren Arbeiten, die nach bestem Wissen unter einer geeigneten Lizenz stehen, und ich habe das Recht, diese Arbeit mit Modifikationen unter derselben Lizenz oder, falls zulässig, unter einer anderen Lizenz einzureichen. +2. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same license (unless I am permitted to submit under a different license), as indicated in the file; or -3. Der Beitrag wurde mir direkt von einer anderen Person bereitgestellt, die Punkt (a), (b) oder (c) bestätigt hat und ich ihn nicht geändert habe. +3. The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. -4. Ich verstehe und stimme zu, dass dieses Projekt und der Beitrag öffentlich sind und dass ein Datensatz des Beitrags (einschließlich aller eingereichten persönlichen Informationen) auf unbestimmte Zeit erhalten bleibt. +4. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the license(s) involved.