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. 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..9e91c6e1 --- /dev/null +++ b/community-tutorials/how-to-install-ispconfig/02-de.md @@ -0,0 +1,181 @@ +--- +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. + +# 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.