` ein.
## Server starten & verbinden
-Jetzt kannst du deinen Server starten. Wechsle ins Hauptspielverzeichnis und führe folgenden Startbefehl aus:
+Jetzt kannst du deinen Server starten. Wechsle in das Hauptverzeichnis des Spiels und führe folgenden Startbefehl aus:
```
./srcds_run -console -game left4dead2 -secure +maxplayers 22 +map de_dust +sv_setsteamaccount XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
```
@@ -63,8 +61,6 @@ Im Terminal solltest du nun Logs sehen, die den erfolgreichen Start anzeigen. Be
## Fazit
-Glückwunsch, du hast deinen Left 4 Dead 2 Server erfolgreich auf deinem VPS installiert und konfiguriert! Als nächsten Schritt empfehlen wir dir unsere [Linux Service Setup](dedicated-linux-create-gameservice.md) Anleitung. Dort erfährst du, wie du deinen neuen Dedicated Gameserver als Service einrichtest – mit Vorteilen wie automatischem Serverstart beim Booten, automatischen Updates, einfacher Verwaltung und Zugriff auf Logs und vieles mehr!
-
-Bei Fragen oder Problemen steht dir unser Support-Team täglich zur Seite – zögere nicht, uns zu kontaktieren! 🙂
+Glückwunsch, du hast deinen Left 4 Dead 2 Server erfolgreich auf deinem VPS installiert und konfiguriert! Als nächsten Schritt empfehlen wir dir unsere [Setup Linux Service](dedicated-linux-create-gameservice.md) Anleitung. Dort erfährst du, wie du deinen neuen Dedicated Gameserver als Service einrichtest. Das bringt viele Vorteile wie automatischen Serverstart beim Booten, automatische Updates, einfache Verwaltung und Zugriff auf Logs – und noch viel mehr!
-
\ No newline at end of file
+Bei Fragen oder Problemen steht dir unser Support-Team täglich zur Seite! 🙂
\ No newline at end of file
diff --git a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-lamp-stack.md b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-lamp-stack.md
index de0051060..1b10528c4 100644
--- a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-lamp-stack.md
+++ b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-lamp-stack.md
@@ -1,7 +1,7 @@
---
id: dedicated-linux-lamp-stack
-title: "Dedicated Server: LAMP-Stack einrichten – Linux, Apache, MySQL, PHP"
-description: "Entdecke, wie du eine LAMP-Stack für das effiziente Hosting dynamischer PHP-Websites auf Linux-Servern einrichtest → Jetzt mehr erfahren"
+title: "Dedicated Server: LAMP-Stack einrichten - Linux, Apache, MySQL, PHP"
+description: "Entdecke, wie du effizient einen LAMP-Stack für das Hosting dynamischer PHP-Websites auf Linux-Servern einrichtest → Jetzt mehr erfahren"
sidebar_label: Web LAMP-Stack
services:
- dedicated
@@ -15,13 +15,11 @@ import InlineVoucher from '@site/src/components/InlineVoucher';
Der **LAMP**-Stack ist eine beliebte Auswahl an Open-Source-Software, die zusammen eingerichtet wird, um einfaches Hosting dynamischer Websites zu ermöglichen – mit besonderem Fokus auf PHP-Websites und -Apps. Das Akronym steht für: **L**inux als Betriebssystem, **A**pache als Webserver, **M**ySQL als Datenbank und zuletzt **P**HP für die Verarbeitung. In dieser Anleitung zeigen wir dir, wie du einen LAMP-Stack auf einem Linux Dedicated Server einrichtest, inklusive einer detaillierten Schritt-für-Schritt-Erklärung und einem Beispiel für eine To-Do-Listen-Website.
-
-
## Vorbereitung
-Verbinde dich zunächst per SSH mit deinem Server. Falls du nicht weißt, wie das geht, schau dir bitte unsere [Erstzugang (SSH)](vserver-linux-ssh.md) Anleitung an.
+Verbinde dich zuerst per SSH mit deinem Server. Falls du nicht weißt, wie das geht, schau dir unsere [Erstzugang (SSH)](vserver-linux-ssh.md) Anleitung an.
-In dieser Anleitung verwenden wir Ubuntu als Linux-Distribution. Die Befehle sind für Debian identisch und sollten bei anderen Distributionen ähnlich sein, wobei sich die Syntax der Befehle leicht unterscheiden kann. Stelle sicher, dass ein Betriebssystem installiert ist und du per SSH verbunden bist.
+In dieser Anleitung verwenden wir Ubuntu als Linux-Distribution. Die Befehle sind identisch für Debian und sollten bei anderen Distributionen ähnlich sein, wobei sich die Syntax der Befehle leicht unterscheiden kann. Stelle sicher, dass ein Betriebssystem installiert ist und du per SSH verbunden bist.
Wie immer solltest du vor der Installation alle Pakete mit folgendem Befehl auf den neuesten Stand bringen:
```
@@ -40,7 +38,7 @@ sudo dnf upgrade --refresh
## Installation
-Die Installation lässt sich einfach in die einzelnen Kernkomponenten des LAMP-Stacks aufteilen, beginnend mit dem Apache-Webserver, gefolgt von der MySQL-Datenbank und zuletzt PHP. Während der Installation richten wir eine Test-Website ein, die in PHP geschrieben ist und auf die MySQL-Datenbank zugreift. Jede Webanfrage wird dann über den Apache-Webserver verarbeitet und ausgeliefert.
+Die Installation lässt sich gut in die einzelnen Kernkomponenten des LAMP-Stacks aufteilen, beginnend mit dem Apache-Webserver, gefolgt von der MySQL-Datenbank und zuletzt PHP. Während der Installation richten wir eine Test-Website ein, die in PHP geschrieben ist und auf die MySQL-Datenbank zugreift. Jede Webanfrage wird dann über Apache verarbeitet und ausgeliefert.
### Apache einrichten
@@ -49,11 +47,11 @@ Apache ist der Webserver, der eingehende Webanfragen verarbeitet und Antworten a
sudo apt install apache2
```
-Nach der Installation solltest du sicherstellen, dass die passenden Firewall-Regeln erstellt werden, damit der Webserver aus dem Internet erreichbar ist. In diesem Beispiel verwenden wir die **UFW Firewall**, da Apache dafür eine registrierte Anwendung hat.
+Nach der Installation solltest du sicherstellen, dass die passenden Firewall-Regeln gesetzt sind, damit der Webserver aus dem Internet erreichbar ist. In diesem Beispiel nutzen wir die **UFW Firewall**, da Apache dafür eine registrierte Anwendung hat.
Wenn du eine andere Firewall nutzt, stelle sicher, dass Port 80 (HTTP) freigegeben ist. Mehr Infos zu Firewalls unter Linux findest du in unserer [Firewall verwalten](vserver-linux-firewall.md) Anleitung.
-Aktiviere die UFW-Firewall und erstelle eine Regel für SSH:
+Aktiviere die UFW Firewall und erstelle eine Regel für SSH:
```
# Regel für SSH erstellen
sudo ufw allow OpenSSH
@@ -63,7 +61,7 @@ sudo ufw enable
```
:::caution
-Achte darauf, dass du eine Regel für SSH eingerichtet hast, wenn du UFW nutzt! Ohne diese kannst du dich nach dem Aktivieren der Firewall **nicht mehr per SSH verbinden**, falls du die aktuelle Sitzung verlierst!
+Achte darauf, dass du eine Regel für SSH hast, wenn du UFW nutzt! Ohne diese kannst du dich nach dem Verbindungsverlust nicht mehr per SSH einloggen!
:::
Erstelle nun die Regel für Apache und überprüfe anschließend, ob die Regeln gesetzt sind:
@@ -71,27 +69,27 @@ Erstelle nun die Regel für Apache und überprüfe anschließend, ob die Regeln
# Regel für Apache erstellen
sudo ufw allow in "Apache Full"
-# UFW Firewall-Regeln anzeigen
+# UFW Firewall Status prüfen
sudo ufw status
```
:::tip
-Mit dem Befehl `ufw app list` kannst du dir anzeigen lassen, welche Profile verfügbar sind. Im Beispiel oben sorgt `Apache Full` dafür, dass sowohl HTTP (Port 80) als auch HTTPS (Port 443) freigegeben werden.
+Mit `ufw app list` kannst du dir anzeigen lassen, welche Profile verfügbar sind. Im Beispiel oben sorgt `Apache Full` dafür, dass sowohl HTTP (Port 80) als auch HTTPS (Port 443) freigegeben werden.
:::
-Du solltest `Apache` und `Apache (v6)` mit der Aktion `ALLOW` sehen, was bestätigt, dass die Firewall bereit ist. Außerdem siehst du weitere Regeln, die du zuvor eingerichtet hast, inklusive der SSH-Regel.
+Du solltest `Apache` und `Apache (v6)` mit der Aktion `ALLOW` sehen, was bestätigt, dass die Firewall bereit ist. Außerdem siehst du weitere Regeln, die du vorher eingerichtet hast, inklusive der SSH-Regel.

Nachdem die Firewall für Apache geöffnet ist, solltest du testen, ob Apache funktioniert. Öffne dazu im Browser die IP-Adresse deines Servers: `http://[deine_ip_adresse]`
-Wenn alles läuft, siehst du eine Standard-Willkommensseite. Falls nicht, prüfe den Status des Dienstes mit: `systemctl status apache2`
+Wenn alles läuft, siehst du eine Standard-Willkommensseite. Falls nicht, prüfe den Status mit: `systemctl status apache2`

### MySQL einrichten
-Jetzt installierst und richtest du einen MySQL-Server ein, der als Datenbank dient, um Daten dauerhaft relational zu speichern. Installiere ihn mit:
+Jetzt installierst und richtest du den MySQL-Server ein, der als Datenbank dient, um Daten relational zu speichern. Installiere ihn mit:
```
sudo apt install mysql-server
```
@@ -101,43 +99,47 @@ Nach der Installation empfehlen wir, das Sicherheits-Skript auszuführen, um dei
sudo mysql_secure_installation
```
-Das Skript führt dich interaktiv durch die Einrichtung. Zuerst wirst du nach der Passwortvalidierung gefragt. Wir empfehlen, mit `Y` zu bestätigen, damit zukünftig nur sichere Passwörter erlaubt sind, und dann `MEDIUM` (1) oder `STRONG` (2) auszuwählen.
+Das Skript führt dich interaktiv durch die Einrichtung. Zuerst wirst du nach der Passwortvalidierung gefragt. Wir empfehlen `Y` zu wählen, um nur sichere Passwörter zu erlauben, und dann `MEDIUM` (`1`) oder `STRONG` (`2`) auszuwählen.

-Anschließend wirst du gefragt, ob der anonyme Benutzer entfernt und der Root-Login von außen deaktiviert werden soll. Wir empfehlen beides mit `Y` zu bestätigen, um die Sicherheit zu erhöhen. So wird der Testbenutzer entfernt und der Root-User kann nur lokal per SSH genutzt werden, was das Risiko minimiert.
+Anschließend wirst du gefragt, ob der `anonymous`-Benutzer entfernt und der Root-Login von außen deaktiviert werden soll. Beides solltest du aus Sicherheitsgründen mit `Y` bestätigen. So wird der Testbenutzer entfernt und der Root-Zugang ist nur lokal per SSH möglich, was das Risiko minimiert.

-Zum Schluss wirst du gefragt, ob die Test-Datenbank entfernt und die Berechtigungstabellen neu geladen werden sollen. Auch hier empfehlen wir `Y`, da die Test-Datenbank nicht benötigt wird und die Privilegientabellen für Änderungen neu geladen werden müssen.
+Zum Schluss wirst du gefragt, ob die `test`-Datenbank gelöscht und die Berechtigungstabellen neu geladen werden sollen. Auch hier empfehlen wir `Y`, da die Testdatenbank nicht gebraucht wird und die Berechtigungen aktualisiert werden müssen.

-Prüfe nun, ob die MySQL-Datenbank läuft, indem du dich mit folgendem Befehl anmeldest: `sudo mysql -u root`. Wenn das klappt, erscheint eine Willkommensmeldung. Du kannst die MySQL-Konsole mit `quit` wieder verlassen.
+Prüfe nun, ob MySQL läuft, indem du dich anmeldest:
+```
+sudo mysql -u root
+```
+Wenn du eine Willkommensmeldung siehst, hat alles geklappt. Mit `quit` kannst du die MySQL-Konsole wieder verlassen.
### PHP einrichten
-Die letzte LAMP-Komponente ist PHP, was ziemlich einfach zu installieren ist. Der folgende Befehl installiert PHP zusammen mit einem Plugin für Apache und MySQL, damit Apache mit PHP arbeiten kann und PHP MySQL nutzen kann.
+Die letzte LAMP-Komponente ist PHP, das sich einfach installieren lässt. Der folgende Befehl installiert PHP zusammen mit einem Apache-Modul und MySQL-Unterstützung, damit Apache PHP ausführen und PHP auf MySQL zugreifen kann:
```
sudo apt install php libapache2-mod-php php-mysql
```
-Prüfe, ob die Installation erfolgreich war, indem du die Version abfragst. Wenn eine Versionsnummer angezeigt wird, funktioniert PHP korrekt.
+Prüfe die Installation, indem du die PHP-Version abfragst. Wenn eine Version angezeigt wird, funktioniert PHP:
```
php -v
```
:::tip PHP-Erweiterungen
-Für fortgeschrittene Anwendungsfälle brauchst du vielleicht zusätzliche PHP-Erweiterungen für mehr Funktionen. Eine Liste kannst du dir mit `apt search php- | less` anzeigen lassen.
+Für spezielle Anwendungsfälle brauchst du vielleicht zusätzliche PHP-Erweiterungen. Eine Liste kannst du mit `apt search php- | less` anzeigen. Mit den Pfeiltasten scrollen und mit `Q` beenden.
-Mit den Pfeiltasten scrollen und mit `Q` beenden. Um eine Erweiterung zu installieren, nutze einfach:
+Zum Installieren einer Erweiterung nutze:
```
-sudo apt install [php_erweiterung] [...]
+sudo apt install [php_extension] [...]
```
Du kannst mehrere Erweiterungen gleichzeitig installieren, indem du sie mit Leerzeichen trennst.
:::
-Wir empfehlen, den Directory-Index so anzupassen, dass `index.php` Vorrang vor der Standard-`index.html` hat. Öffne die Datei mit:
+Wir empfehlen, die Verzeichnisindex-Reihenfolge so anzupassen, dass `index.php` vor `.html` geladen wird. Öffne die Datei:
```
sudo nano /etc/apache2/mods-enabled/dir.conf
```
@@ -147,38 +149,38 @@ Im Nano-Editor entferne `index.php` aus der Liste und setze es an den Anfang, so
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
```
-Speichere die Datei und verlasse Nano mit `CTRL + X`, bestätige mit `Y` und drücke `ENTER`. Starte Apache neu, damit die Änderung wirksam wird:
+Speichere mit `CTRL + X`, bestätige mit `Y` und drücke `ENTER`. Starte Apache neu, damit die Änderung wirksam wird:
```
sudo systemctl restart apache2
```
### Test-Website erstellen
-Nachdem alle LAMP-Komponenten installiert sind, erstellen wir eine Test-Website, um zu zeigen, wie der Stack zusammenarbeitet und eine dynamische Website ermöglicht. Das ist optional, aber hilfreich, um zu verstehen, wie du die Tools für eigene Websites nutzen kannst.
+Nachdem alle LAMP-Komponenten installiert sind, erstellen wir eine Test-Website, um zu zeigen, wie der Stack zusammenarbeitet. Das ist optional, aber super hilfreich, um zu verstehen, wie du deine eigenen Websites aufbauen kannst.
-In diesem Beispiel erstellen wir eine kleine To-Do-Listen-Website in PHP, die To-Do-Einträge aus einer MySQL-Datenbank abruft und anzeigt. Die Website wird über Apache ausgeliefert.
+In diesem Beispiel bauen wir eine kleine To-Do-Liste in PHP, die Einträge aus einer MySQL-Datenbank abruft und anzeigt. Die Website wird über Apache ausgeliefert.
-Wir verwenden als Testdomain `zapdocs.example.com`, da du in der Praxis wahrscheinlich eine Domain nutzen wirst. Du **musst** einen DNS-`A`-Eintrag für die Domain anlegen, der auf die IP-Adresse deines Servers zeigt. Hilfe dazu findest du in unserer [Domain-Einträge](domain-records.md) Anleitung.
+Wir nutzen als Beispiel-Domain `zapdocs.example.com`. In der Praxis solltest du eine Domain verwenden und einen `A`-DNS-Eintrag anlegen, der auf die IP deines Servers zeigt. Hilfe dazu findest du in unserer [Domain-Einträge](domain-records.md) Anleitung.
:::note
-Du kannst auch ohne Domain arbeiten und `[your_domain]` durch einen beliebigen Namen ersetzen. Dann greifst du über die IP-Adresse auf die Website zu. Beachte aber, dass du in der virtuellen Host-Datei später die `ServerName`-Zeile entfernen solltest.
+Du kannst auch ohne Domain arbeiten und `[your_domain]` durch einen beliebigen Namen ersetzen. Dann erreichst du die Website über die IP-Adresse. In diesem Fall solltest du aber später in der virtuellen Host-Datei die `ServerName`-Zeile entfernen.
:::
#### Apache konfigurieren
-Normalerweise werden alle Website-Dateien unter `/var/www` gespeichert. Standardmäßig gibt es dort ein `html`-Verzeichnis mit einer Standardseite. Um Ordnung zu halten, vor allem wenn du viele Websites auf einem Apache hostest, empfehlen wir, für jede Website ein eigenes Verzeichnis anzulegen.
+Webserver speichern alle Website-Dateien normalerweise im Verzeichnis `/var/www`. Standardmäßig gibt es dort oft einen `html`-Ordner mit einer Standardseite. Um mehrere Websites sauber zu organisieren, empfehlen wir, für jede Website einen eigenen Ordner anzulegen.
-Erstelle also für jede Domain ein neues Verzeichnis unter `/var/www/[your_domain]`. In unserem Beispiel ist das `/var/www/zapdocs.example.com`.
+Erstelle also für deine Domain einen Ordner, z.B. `/var/www/zapdocs.example.com`:
```
sudo mkdir /var/www/[your_domain]
```
-Erstelle nun eine neue Apache-Virtual-Host-Konfigurationsdatei im Verzeichnis `sites-available` für diese Domain:
+Erstelle nun eine neue Apache Virtual Host-Konfigurationsdatei im Verzeichnis `sites-available`:
```
sudo nano /etc/apache2/sites-available/[your_domain].conf
```
-Kopiere die folgende Vorlage in den Nano-Editor und ersetze `[your_domain]` durch deine Domain:
+Kopiere die folgende Vorlage in den Editor und ersetze `[your_domain]` durch deine Domain:
```
ServerName [your_domain]
@@ -190,42 +192,42 @@ Kopiere die folgende Vorlage in den Nano-Editor und ersetze `[your_domain]` durc
```
-Diese Virtual-Host-Datei behandelt Anfragen auf Port 80 (HTTP) und prüft, ob die Anfrage zur angegebenen `ServerName`-Domain passt. Außerdem zeigt sie auf das Verzeichnis `/var/www/[your_domain]`, das du zuvor erstellt hast, um Dateien auszuliefern.
+Diese Datei sorgt dafür, dass Apache Anfragen auf Port 80 für deine Domain annimmt und die Dateien aus dem entsprechenden Ordner ausliefert.
-Speichere die Datei und verlasse Nano mit `CTRL + X`, bestätige mit `Y` und drücke `ENTER`. Wir empfehlen, die Konfiguration mit folgendem Befehl auf Syntaxfehler zu prüfen:
+Speichere mit `CTRL + X`, bestätige mit `Y` und drücke `ENTER`. Prüfe die Konfiguration auf Syntaxfehler:
```
sudo apache2ctl configtest
```
-Aktiviere den neuen Virtual Host mit:
+Aktiviere den neuen virtuellen Host:
```
sudo a2ensite [your_domain]
```
:::note Keine Domain genutzt
-Wenn du **keine** Domain nutzt, entferne die `ServerName`-Zeile oder kommentiere sie mit einem `#` aus. Außerdem musst du den Standard-Virtual-Host deaktivieren:
+Wenn du keine Domain nutzt, entferne oder kommentiere die `ServerName`-Zeile (mit `#`) und deaktiviere den Standard-Host:
```
sudo a2dissite 000-default
```
:::
-Starte Apache neu, damit der neue Virtual Host aktiv wird:
+Starte Apache neu, damit die Änderungen wirksam werden:
```
sudo systemctl restart apache2
```
#### Website erstellen
-Nachdem Apache konfiguriert ist, kannst du die eigentliche Website erstellen. Das Verzeichnis ist aktuell leer, daher wird noch nichts ausgeliefert. Wir erstellen nun die kleine To-Do-Website für die Domain.
+Jetzt, wo Apache konfiguriert ist, erstellen wir die eigentliche Website. Der Ordner ist aktuell leer, also wird noch nichts angezeigt. Wir bauen eine kleine To-Do-Liste für die Domain.
##### Datenbank vorbereiten
-Zuerst erstellen wir eine neue Datenbank und eine Tabelle für die To-Do-Einträge. Melde dich bei MySQL an:
+Logge dich in MySQL ein:
```
sudo mysql -u root
```
-Erstelle nun die Datenbank `todowebsite` und darin die Tabelle `todoitems`:
+Erstelle eine neue Datenbank `todowebsite` und eine Tabelle `todoitems`:
```
# Datenbank erstellen
CREATE DATABASE todowebsite;
@@ -250,10 +252,10 @@ INSERT INTO todoitems (name, is_completed) VALUES ('Join ZAP-Hosting Discord', 0
INSERT INTO todoitems (name, is_completed) VALUES ('Have a great day!', 0);
```
-Erstelle einen dedizierten Benutzer `todo` für diese Website:
+Erstelle einen dedizierten Benutzer `todo` für die Website:
```
# Benutzer erstellen
-# Ersetze [your_password] durch dein eigenes Passwort
+# Ersetze [your_password] durch dein Passwort
CREATE USER todo@localhost IDENTIFIED BY '[your_password]';
# Rechte vergeben (alles in einer Zeile kopieren)
@@ -269,19 +271,17 @@ Verlasse die MySQL-Konsole mit `quit`.
##### PHP-Website-Dateien
-Der letzte Schritt ist die Erstellung der PHP-Datei für die To-Do-Seite. Erstelle eine neue `index.php` im Verzeichnis `/var/www/[your_domain]`:
+Jetzt erstellen wir die PHP-Datei für die To-Do-Seite. Öffne den Editor:
```
sudo nano /var/www/[your_domain]/index.php
```
-Füge folgenden Code ein, der eine Verbindung zur MySQL-Datenbank herstellt und die To-Do-Einträge anzeigt. Der erste PHP-Block baut die Verbindung auf.
+Füge folgenden Code ein. Er verbindet sich mit der MySQL-Datenbank und zeigt die To-Do-Einträge an.
:::important
-Ersetze unbedingt `[your_password]` durch das Passwort, das du für den `todo`-Benutzer vergeben hast.
+Ersetze `[your_password]` mit dem Passwort, das du für den `todo`-Benutzer vergeben hast.
:::
-Der HTML-Teil zeigt die Webseite mit einer ungeordneten Liste, die alle Einträge ausgibt.
-
```
connect_error) {
die("Connection failed: " . $conn->connect_error);
}
-// SQL-Abfrage, um Einträge aus der Tabelle zu holen
+// SQL-Abfrage, um Einträge abzurufen
$sql = "SELECT id, name, is_completed, creation_date FROM todoitems ORDER BY creation_date DESC";
$result = $conn->query($sql);
?>
@@ -320,12 +320,12 @@ $result = $conn->query($sql);
// Durch alle Einträge iterieren
foreach ($result as $entry) {
echo "";
- // Name anzeigen und htmlspecialchars nutzen, um XSS zu verhindern
+ // Name anzeigen, htmlspecialchars schützt vor XSS
echo htmlspecialchars($entry["name"]);
// Status anzeigen
if ($entry["is_completed"]) {
- echo " (Abgeschlossen)";
+ echo " (Erledigt)";
} else {
echo " (Offen)";
}
@@ -335,7 +335,7 @@ $result = $conn->query($sql);
echo "";
}
} else {
- // Falls keine Einträge gefunden wurden
+ // Falls keine Einträge vorhanden sind
echo "Keine To-Do-Einträge gefunden.";
}
?>
@@ -349,20 +349,18 @@ $conn->close();
?>
```
-Speichere die Datei und verlasse Nano mit `CTRL + X`, bestätige mit `Y` und drücke `ENTER`.
+Speichere mit `CTRL + X`, bestätige mit `Y` und drücke `ENTER`.
#### Website testen
-Du hast erfolgreich eine Test-To-Do-Website eingerichtet, die alle Aspekte des LAMP-Stacks nutzt!
+Du hast erfolgreich eine Test-To-Do-Website eingerichtet, die alle LAMP-Komponenten nutzt!
-Du solltest die Website jetzt über die Domain (Port 80 / HTTP) erreichen können, die du im Virtual Host definiert hast, in unserem Beispiel `zapdocs.example.com`. Das Ergebnis sollte so aussehen:
+Rufe die Website über deine Domain (HTTP/Port 80) auf, z.B. `zapdocs.example.com`. So sollte das Ergebnis aussehen:

## Fazit
-Glückwunsch, du hast den LAMP-Stack erfolgreich installiert und eingerichtet! Als nächsten Schritt empfehlen wir dir **dringend**, eine Domain und ein **SSL-Zertifikat** einzurichten, damit deine Website-Daten sicher übertragen werden. Schau dir dazu unsere [Certbot-Anleitung](vserver-linux-certbot.md) mit Fokus auf das **Apache Plugin** an und folge der interaktiven Einrichtung, um schnell und einfach ein Zertifikat für deine Domain zu bekommen.
-
-Bei weiteren Fragen oder Problemen steht dir unser Support-Team täglich zur Verfügung – zögere nicht, uns zu kontaktieren! 🙂
+Glückwunsch, du hast den LAMP-Stack erfolgreich installiert und eingerichtet! Als nächsten Schritt empfehlen wir dir **dringend**, eine Domain und ein **SSL-Zertifikat** einzurichten, damit deine Daten sicher übertragen werden. Schau dir dazu unsere [Certbot-Anleitung](vserver-linux-certbot.md) mit Fokus auf das **Apache Plugin** an und folge der interaktiven Einrichtung, um schnell und einfach ein Zertifikat für deine Domain zu bekommen.
-
\ No newline at end of file
+Bei Fragen oder Problemen steht dir unser Support-Team täglich zur Seite – meld dich einfach! 🙂
\ No newline at end of file
diff --git a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-lemp-stack.md b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-lemp-stack.md
index 7eb0fe5ba..ed857ce61 100644
--- a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-lemp-stack.md
+++ b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-lemp-stack.md
@@ -1,7 +1,7 @@
---
id: dedicated-linux-lemp-stack
-title: "Dedicated Server: LEMP-Stack einrichten – Linux, Nginx, MySQL, PHP"
-description: "Entdecke, wie du einen LEMP-Stack für das Hosting dynamischer PHP-Websites auf Linux-Servern mit praktischen Beispielen einrichtest → Jetzt mehr erfahren"
+title: "Dedicated Server: LEMP-Stack einrichten - Linux, Nginx, MySQL, PHP"
+description: "Entdecke, wie du einen LEMP-Stack für das Hosting dynamischer PHP-Websites auf Linux-Servern einrichtest – mit praktischen Beispielen → Jetzt mehr erfahren"
sidebar_label: Web LEMP-Stack
services:
- dedicated
@@ -13,17 +13,15 @@ import InlineVoucher from '@site/src/components/InlineVoucher';
## Einführung
-Der **LEMP**-Stack ist eine beliebte Auswahl an Open-Source-Software, die zusammen eingerichtet wird, um einfaches Hosting dynamischer Websites zu ermöglichen – mit besonderem Fokus auf PHP-Websites und -Apps. Das Akronym steht für: **L**inux als Betriebssystem, "**E**ngine x" (nginx) als Webserver, **M**ySQL als Datenbank und zuletzt **P**HP für die Verarbeitung. In dieser Anleitung zeigen wir dir, wie du einen LEMP-Stack auf einem Linux Dedicated Server einrichtest, inklusive einer detaillierten Schritt-für-Schritt-Erklärung und einem Beispiel für eine To-Do-Listen-Website.
-
-
+Der **LEMP**-Stack ist eine beliebte Auswahl an Open-Source-Software, die zusammen eingerichtet wird, um einfaches Hosting dynamischer Websites zu ermöglichen – mit besonderem Fokus auf PHP-Websites und Apps. Das Akronym steht für: **L**inux als Betriebssystem, "**E**ngine x" (nginx) als Webserver, **M**ySQL als Datenbank und zuletzt **P**HP für die Verarbeitung. In dieser Anleitung zeigen wir dir, wie du einen LEMP-Stack auf einem Linux Dedicated Server einrichtest, inklusive einer detaillierten Schritt-für-Schritt-Erklärung und einem Beispiel für eine To-Do-Listen-Website.
## Vorbereitung
-Verbinde dich zunächst per SSH mit deinem Server. Falls du nicht weißt, wie das geht, schau dir bitte unsere [Erstzugang (SSH)](vserver-linux-ssh.md) Anleitung an.
+Verbinde dich zunächst per SSH mit deinem Server. Falls du nicht weißt, wie das geht, schau dir unsere [Erstzugang (SSH)](vserver-linux-ssh.md) Anleitung an.
-In dieser Anleitung verwenden wir Ubuntu als Linux-Distribution. Die Befehle sind identisch für Debian und sollten bei anderen Distributionen ähnlich sein, wobei sich die Syntax der Befehle leicht unterscheiden kann. Stelle sicher, dass ein Betriebssystem installiert ist und du per SSH verbunden bist.
+In dieser Anleitung verwenden wir Ubuntu als Linux-Distribution. Die Befehle sind für Debian identisch und sollten bei anderen Distributionen ähnlich sein, wobei sich die Syntax der Befehle leicht unterscheiden kann. Stelle sicher, dass ein Betriebssystem installiert ist und du per SSH verbunden bist.
-Wie immer solltest du vor der Installation alle Pakete mit folgendem Befehl auf den neuesten Stand bringen:
+Wie immer solltest du vor der Installation alle Pakete mit folgendem Befehl aktualisieren:
```
// Ubuntu & Debian
sudo apt update
@@ -53,7 +51,7 @@ Nach der Installation solltest du sicherstellen, dass die passenden Firewall-Reg
Wenn du eine andere Firewall nutzt, stelle sicher, dass Port 80 (HTTP) freigegeben ist. Mehr Infos zu Firewalls unter Linux findest du in unserer [Firewall verwalten](vserver-linux-firewall.md) Anleitung.
-Stelle sicher, dass die UFW-Firewall aktiviert ist und eine Regel für SSH existiert:
+Aktiviere die UFW Firewall und erstelle eine Regel für SSH:
```
# Regel für SSH erstellen
sudo ufw allow OpenSSH
@@ -63,7 +61,7 @@ sudo ufw enable
```
:::caution
-Achte darauf, dass du eine Regel für SSH eingerichtet hast, wenn du UFW nutzt! Ohne diese kannst du dich nach Verbindungsverlust **nicht mehr per SSH** mit deinem Server verbinden!
+Stelle sicher, dass du eine Regel für SSH eingerichtet hast, wenn du UFW nutzt! Ohne diese kannst du dich **nicht mehr per SSH** mit deinem Server verbinden, falls die Verbindung abbricht!
:::
Erstelle nun die Regel für Nginx und überprüfe anschließend, ob die Regeln vorhanden sind:
@@ -76,54 +74,50 @@ sudo ufw status
```
:::tip
-Du kannst verfügbare Profile mit dem Befehl `ufw app list` anzeigen lassen. Im Beispiel oben sorgt `Nginx Full` dafür, dass sowohl HTTP (Port 80) als auch HTTPS (Port 443) freigegeben werden.
+Mit dem Befehl `ufw app list` kannst du dir anzeigen lassen, welche Profile verfügbar sind. Im Beispiel oben sorgt `Nginx Full` dafür, dass sowohl HTTP (Port 80) als auch HTTPS (Port 443) freigegeben werden.
:::
-Du solltest `Nginx` und `Nginx (v6)` mit der Aktion `ALLOW` sehen, was bestätigt, dass die Firewall bereit ist. Außerdem siehst du weitere Regeln, die du eventuell vorher eingerichtet hast, inklusive der SSH-Regel.
+Du solltest `Nginx` und `Nginx (v6)` mit der Aktion `ALLOW` sehen, was bestätigt, dass die Firewall bereit ist. Außerdem siehst du weitere Regeln, die du zuvor eingerichtet hast, inklusive der SSH-Regel.

-Nachdem die Firewall für Nginx geöffnet ist, solltest du prüfen, ob Nginx funktioniert. Öffne dazu im Browser die IP-Adresse deines Servers, z.B.: `http://[deine_ipadresse]`
+Nachdem die Firewall für Nginx geöffnet ist, solltest du prüfen, ob Nginx funktioniert. Öffne dazu deinen Browser und gib deine IP-Adresse ein, z.B.: `http://[deine_ipadresse]`
-Wenn alles funktioniert, siehst du eine Standard-Willkommensseite. Falls nicht, überprüfe den Dienststatus mit: `systemctl status nginx`
+Wenn alles funktioniert, solltest du eine Standard-Willkommensseite sehen. Falls nicht, prüfe den Status des Dienstes mit: `systemctl status nginx`

### MySQL einrichten
-Jetzt installierst und richtest du einen MySQL-Server ein, der als Datenbank dient, um Daten relational und dauerhaft zu speichern. Installiere ihn mit:
+Jetzt installierst und richtest du einen MySQL-Server ein, der als Datenbank dient, um Daten dauerhaft relational zu speichern. Installiere ihn mit:
```
sudo apt install mysql-server
```
-Nach der Installation empfehlen wir, das Sicherheits-Setup-Skript auszuführen, um deinen MySQL-Server abzusichern. Das ist optional, aber sehr empfehlenswert. Starte es mit:
+Nach der Installation empfehlen wir, das Sicherheits-Skript auszuführen, um deinen MySQL-Server abzusichern. Das ist optional, aber sehr empfehlenswert. Starte es mit:
```
sudo mysql_secure_installation
```
-Das Skript führt dich interaktiv durch die Einrichtung. Zuerst wirst du nach der Passwortvalidierung gefragt. Wir empfehlen `Y` zu wählen, damit zukünftig nur sichere Passwörter erlaubt sind, und dann `MEDIUM` (1) oder `STRONG` (2) auszuwählen.
+Das Skript führt dich interaktiv durch die Einrichtung. Zuerst wirst du nach der Passwortvalidierung gefragt. Wir empfehlen, mit `Y` zu bestätigen, damit zukünftig nur sichere Passwörter erlaubt sind, und dann `MEDIUM` (1) oder `STRONG` (2) auszuwählen.

-Anschließend wirst du gefragt, ob der `anonymous`-Benutzer entfernt und der Root-Login von außen deaktiviert werden soll. Wir empfehlen beides mit `Y` zu bestätigen, um die Sicherheit zu erhöhen. So wird der Testbenutzer entfernt und der Root-Zugang ist nur lokal per SSH möglich.
+Anschließend wirst du gefragt, ob der anonyme Benutzer entfernt und der Root-Login aus der Ferne deaktiviert werden soll. Wir empfehlen, beides mit `Y` zu bestätigen, um die Sicherheit zu erhöhen. So wird der Testbenutzer entfernt und der Root-Zugriff ist nur lokal per SSH möglich.

-Zum Schluss wirst du gefragt, ob die `test`-Datenbank gelöscht und die Berechtigungstabellen neu geladen werden sollen. Auch hier empfehlen wir `Y`, da die Testdatenbank nicht benötigt wird und die Privilegientabellen für Änderungen neu geladen werden müssen.
+Zum Schluss wirst du gefragt, ob die Test-Datenbank entfernt und die Berechtigungstabellen neu geladen werden sollen. Auch hier empfehlen wir `Y`, da die Testdatenbank nicht benötigt wird und die Berechtigungen aktualisiert werden müssen.

-Prüfe nun, ob MySQL läuft, indem du dich anmeldest:
-```
-sudo mysql -u root
-```
-Wenn du eine Willkommensmeldung siehst, hat alles geklappt. Verlasse die MySQL-Konsole mit `quit`.
+Prüfe nun, ob die MySQL-Datenbank läuft, indem du dich mit folgendem Befehl anmeldest: `sudo mysql -u root`. Wenn du eine Willkommensmeldung siehst, hat alles geklappt. Verlasse die MySQL-Konsole mit `quit`.
### PHP einrichten
-Die letzte LEMP-Komponente ist PHP. Für Nginx wird dafür `php-fpm` (PHP FastCGI Process Manager) benötigt. Nginx wird so konfiguriert, dass Anfragen an `php-fpm` weitergeleitet werden, bevor sie verarbeitet werden.
+Die letzte LEMP-Komponente ist PHP. Für Nginx wird dazu ein externes Programm namens `php-fpm` (PHP FastCGI Process Manager) benötigt. Nginx wird so konfiguriert, dass Anfragen an `php-fpm` weitergeleitet werden, bevor die Antwort ausgeliefert wird.
-Installiere die neueste Version von `php-fpm` zusammen mit dem PHP-MySQL-Plugin, damit Nginx mit PHP arbeiten kann und PHP MySQL nutzen kann:
+Installiere die neueste Version von php-fpm zusammen mit dem PHP-MySQL-Plugin, damit Nginx mit PHP arbeiten kann und PHP MySQL nutzen kann:
```
sudo apt install php-fpm php-mysql
```
@@ -134,9 +128,9 @@ php -v
```
:::tip PHP-Erweiterungen
-Für spezielle Anwendungsfälle brauchst du vielleicht zusätzliche PHP-Erweiterungen. Eine Liste kannst du mit `apt search php- | less` anzeigen. Mit den Pfeiltasten scrollen und mit `Q` beenden.
+Für spezielle Anwendungsfälle brauchst du vielleicht zusätzliche PHP-Erweiterungen. Eine Liste kannst du dir mit `apt search php- | less` anzeigen lassen.
-Zum Installieren einer Erweiterung nutze:
+Mit den Pfeiltasten scrollen und mit `Q` beenden. Um eine Erweiterung zu installieren, nutze einfach:
```
sudo apt install [php_extension] [...]
```
@@ -145,21 +139,21 @@ Du kannst mehrere Erweiterungen gleichzeitig installieren, indem du sie mit Leer
### Test-Website erstellen
-Nachdem alle LEMP-Komponenten installiert sind, erstellen wir eine Test-Website, um zu zeigen, wie der Stack zusammenarbeitet und eine dynamische Website ermöglicht. Das ist optional, aber hilfreich, um zu verstehen, wie du deine eigenen Websites einrichten kannst.
+Nachdem alle LEMP-Komponenten installiert sind, erstellen wir eine Test-Website, um zu zeigen, wie der Stack zusammenarbeitet und eine dynamische Website ermöglicht. Das ist optional, aber super hilfreich, um zu verstehen, wie du die Tools für eigene Websites nutzen kannst.
-In diesem Beispiel bauen wir eine kleine To-Do-Liste in PHP, die Einträge aus einer MySQL-Datenbank abruft und anzeigt. Die Website wird über Nginx ausgeliefert.
+In diesem Beispiel bauen wir eine kleine To-Do-Liste in PHP, die To-Do-Einträge aus einer MySQL-Datenbank abruft und anzeigt. Die Website wird über Nginx ausgeliefert.
-Wir verwenden als Testdomain `zapdocs.example.com`. In der Praxis solltest du eine Domain nutzen und einen `A`-DNS-Eintrag anlegen, der auf die IP-Adresse deines Servers zeigt. Hilfe dazu findest du in unserer [Domain-Einträge](domain-records.md) Anleitung.
+Wir verwenden als Beispiel-Domain `zapdocs.example.com`, da du in der Praxis wahrscheinlich eine Domain nutzt. Du **musst** einen DNS-A-Eintrag für die Domain anlegen, der auf die IP-Adresse deines Servers zeigt. Hilfe dazu findest du in unserer [Domain-Einträge](domain-records.md) Anleitung.
:::note
-Du kannst auch ohne Domain arbeiten und `[your_domain]` durch einen beliebigen Namen ersetzen. Dann erreichst du die Website über die IP-Adresse. In diesem Fall solltest du aber später in der Serverblock-Datei die `server_name`-Zeile entfernen.
+Du kannst auch ohne Domain arbeiten und `[your_domain]` durch einen beliebigen Namen ersetzen. Dann greifst du über die IP-Adresse auf die Website zu. Beachte aber, dass du in der Serverblock-Datei später die `server_name`-Zeile entfernen solltest.
:::
#### Nginx konfigurieren
-Webserver speichern alle Website-Dateien normalerweise im Verzeichnis `/var/www`. Standardmäßig gibt es dort oft einen `html`-Ordner mit einer Standardseite. Um Ordnung zu halten, besonders wenn du mehrere Websites hostest, empfehlen wir, für jede Website einen eigenen Ordner anzulegen.
+Webserver speichern alle Website-Dateien normalerweise im Verzeichnis `/var/www`. Standardmäßig gibt es bei Nginx ein `html`-Verzeichnis mit einer Standardseite. Um Ordnung zu halten, vor allem wenn du mehrere Websites hostest, empfehlen wir, für jede Website ein eigenes Verzeichnis anzulegen.
-Erstelle also für deine Domain einen neuen Ordner, z.B. `/var/www/zapdocs.example.com`:
+Erstelle also für jede Domain einen Ordner unter `/var/www/[your_domain]`. In unserem Beispiel ist das `/var/www/zapdocs.example.com`:
```
sudo mkdir /var/www/[your_domain]
```
@@ -194,15 +188,14 @@ server {
```
:::important PHP-Version
-Wichtig: Ersetze `[your_phpversion]` durch deine aktuell installierte PHP-Version. Prüfe sie mit `php -v`, z.B. `PHP 8.3.6 (cli) ...`. In dem Fall wäre der Wert `8.3`, also:
-```
-fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
-```
+Wichtig: Ersetze `[your_phpversion]` durch die aktuell installierte PHP-Version. Prüfe sie mit `php -v`, z.B. `PHP 8.3.6 (cli) (built: Mar 19 2025 10:08:38) (NTS)`.
+
+In diesem Beispiel wäre das `8.3`, also lautet die Zeile: `fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;`
:::
-Diese Serverblock-Datei behandelt Anfragen auf Port 80 (HTTP) und prüft, ob die Anfrage zum `server_name` passt, also deiner Domain. Außerdem zeigt sie auf den Ordner `/var/www/[your_domain]`, den du vorher erstellt hast.
+Diese Serverblock-Datei behandelt Anfragen auf Port 80 (HTTP) und prüft, ob die Anfrage zur angegebenen Domain passt. Außerdem zeigt sie auf das Verzeichnis `/var/www/[your_domain]`, das du zuvor erstellt hast.
-Speichere die Datei und verlasse nano mit `CTRL + X`, dann `Y` und `ENTER`.
+Speichere die Datei und verlasse nano mit `CTRL + X`, dann `Y` zum Bestätigen und `ENTER`.
Aktiviere die Konfiguration, indem du einen symbolischen Link im Verzeichnis `sites-enabled` erstellst:
```
@@ -210,7 +203,7 @@ sudo ln -s /etc/nginx/sites-available/[your_domain].conf /etc/nginx/sites-enable
```
:::note Keine Domain genutzt
-Wenn du **keine** Domain nutzt, entferne oder kommentiere die `server_name`-Zeile (mit `#`) und deaktiviere den Standardserverblock mit:
+Wenn du **keine** Domain nutzt, entferne oder kommentiere die `server_name`-Zeile (mit `#` davor). Außerdem solltest du den Standard-Serverblock deaktivieren:
```
sudo unlink /etc/nginx/sites-enabled/default
```
@@ -228,7 +221,7 @@ sudo systemctl reload nginx
#### Website erstellen
-Jetzt, wo Nginx konfiguriert ist, erstellen wir die eigentliche Website. Der Ordner ist aktuell leer, also wird noch nichts angezeigt. Wir bauen eine kleine To-Do-Liste, wie oben beschrieben.
+Jetzt, wo Nginx konfiguriert ist, kannst du die eigentliche Website erstellen. Das Verzeichnis ist aktuell leer, also wird noch nichts angezeigt. Wir bauen eine kleine To-Do-Liste, wie oben beschrieben.
##### Datenbank vorbereiten
@@ -237,7 +230,7 @@ Logge dich in MySQL ein:
sudo mysql -u root
```
-Erstelle eine neue Datenbank `todowebsite` und eine Tabelle `todoitems`:
+Erstelle eine neue Datenbank `todowebsite` und eine Tabelle `todoitems` darin:
```
# Datenbank erstellen
CREATE DATABASE todowebsite;
@@ -262,13 +255,13 @@ INSERT INTO todoitems (name, is_completed) VALUES ('Join ZAP-Hosting Discord', 0
INSERT INTO todoitems (name, is_completed) VALUES ('Have a great day!', 0);
```
-Erstelle einen dedizierten Benutzer `todo` für die Website:
+Erstelle einen dedizierten Benutzer `todo` für diese Website:
```
# Benutzer erstellen
-# Ersetze [your_password] durch dein Passwort
+# Ersetze [your_password] durch dein eigenes Passwort
CREATE USER todo@localhost IDENTIFIED BY '[your_password]';
-# Rechte vergeben (alles in einer Zeile kopieren)
+# Rechte vergeben (als ein Befehl kopieren)
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON todowebsite.*
TO todo@localhost;
@@ -281,12 +274,18 @@ Verlasse die MySQL-Konsole mit `quit`.
##### PHP-Website-Dateien
-Erstelle die PHP-Datei `index.php` im Verzeichnis `/var/www/[your_domain]`:
+Erstelle die PHP-Datei für die To-Do-Seite im Verzeichnis `/var/www/[your_domain]`:
```
sudo nano /var/www/[your_domain]/index.php
```
-Füge folgenden Code ein, der eine Verbindung zur MySQL-Datenbank herstellt und die To-Do-Einträge anzeigt. Ersetze unbedingt `[your_password]` durch das Passwort des `todo`-Benutzers.
+Füge folgenden Code ein. Der erste PHP-Block stellt die Verbindung zur MySQL-Datenbank her.
+
+:::important
+Ersetze `[your_password]` durch das Passwort, das du für den `todo`-Benutzer vergeben hast.
+:::
+
+Der HTML-Teil zeigt die To-Do-Liste an und durchläuft die Datenbankeinträge.
```
connect_error) {
die("Connection failed: " . $conn->connect_error);
}
-// SQL-Abfrage, um Einträge abzurufen
+// SQL-Abfrage, um Einträge aus der Tabelle zu holen
$sql = "SELECT id, name, is_completed, creation_date FROM todoitems ORDER BY creation_date DESC";
$result = $conn->query($sql);
?>
@@ -318,7 +317,7 @@ $result = $conn->query($sql);
Coole To-Do Liste :D
- Für unseren coolen ZAP-Hosting Guide: https://zap-hosting.com/guides/docs/vserver-linux-lemp-stack
+ Für unsere coole ZAP-Hosting Anleitung: https://zap-hosting.com/guides/docs/vserver-linux-lemp-stack
query($sql);
// Durch alle Einträge iterieren
foreach ($result as $entry) {
echo "- ";
- // Name anzeigen, htmlspecialchars schützt vor XSS
+ // Name anzeigen und htmlspecialchars nutzen, um XSS zu verhindern
echo htmlspecialchars($entry["name"]);
// Status anzeigen
@@ -361,14 +360,12 @@ Speichere die Datei und verlasse nano mit `CTRL + X`, dann `Y` und `ENTER`.
Du hast erfolgreich eine Test-To-Do-Website eingerichtet, die alle Komponenten des LEMP-Stacks nutzt!
-Du solltest die Website jetzt über die Domain (Port 80 / http) erreichen können, die du im Serverblock definiert hast, z.B. `zapdocs.example.com`. Das Ergebnis sollte so aussehen:
+Du solltest die Website jetzt über die Domain (Port 80 / http) erreichen können, die du im Serverblock definiert hast, in unserem Beispiel `zapdocs.example.com`. Das Ergebnis sollte so aussehen:

## Fazit
-Glückwunsch, du hast den LEMP-Stack erfolgreich installiert und eingerichtet! Als nächsten Schritt empfehlen wir **dringend**, eine Domain und ein **SSL-Zertifikat** einzurichten, damit deine Daten sicher übertragen werden. Schau dir dazu unsere [Certbot-Anleitung](vserver-linux-certbot.md) mit Fokus auf das **Nginx-Plugin** an und folge der interaktiven Einrichtung, um schnell und einfach ein Zertifikat für deine Domain zu bekommen.
-
-Bei Fragen oder Problemen steht dir unser Support-Team täglich zur Verfügung – zögere nicht, uns zu kontaktieren! 🙂
+Glückwunsch, du hast den LEMP-Stack erfolgreich installiert und eingerichtet! Als nächsten Schritt empfehlen wir dir **dringend**, eine Domain und ein **SSL-Zertifikat** einzurichten, damit die Daten sicher übertragen werden. Schau dir dazu unsere [Certbot-Anleitung](vserver-linux-certbot.md) mit Fokus auf das **Nginx-Plugin** an und folge der interaktiven Einrichtung, um schnell und einfach ein Zertifikat für deine Domain zu bekommen.
-
\ No newline at end of file
+Bei Fragen oder Problemen steht dir unser Support-Team täglich zur Verfügung – zögere nicht, uns zu kontaktieren! 🙂
\ No newline at end of file
diff --git a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-mastodon.md b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-mastodon.md
index 02a6071f0..0d7875898 100644
--- a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-mastodon.md
+++ b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-mastodon.md
@@ -15,22 +15,20 @@ Mastodon ist eine kostenlose und Open-Source-Software zum Betreiben selbstgehost

-Es bietet Microblogging-Funktionen ähnlich dem Dienst X (ehemals Twitter), die von einer Vielzahl unabhängig betriebener Knoten, sogenannten Instanzen, angeboten werden – jede mit eigenem Verhaltenskodex, Nutzungsbedingungen, Datenschutzrichtlinien, Privatsphäre-Einstellungen und Moderationsrichtlinien.
+Es bietet Microblogging-Funktionen ähnlich dem Dienst X (ehemals Twitter), die von einer Vielzahl unabhängig betriebener Nodes, sogenannten Instanzen, bereitgestellt werden – jede mit eigenem Verhaltenskodex, Nutzungsbedingungen, Datenschutzrichtlinien, Privatsphäre-Einstellungen und Moderationsrichtlinien.
:::info
Diese Anleitung konzentriert sich auf die Installation auf einer Debian-basierten Distro. Beispiele sind Debian und Ubuntu. Die Anleitung variiert je nach verwendetem Betriebssystem.
:::
-
-
## Systemvoraussetzungen
Wenn du eine Mastodon-Instanz auf deinem Server einrichten möchtest, musst du folgende Voraussetzungen erfüllen:
- Domain
- Linux-basierter Server
-- Mailserver
+- E-Mail-Server
## Vorbereitung deines Systems
Es wird empfohlen, vorab den Passwort-Login für SSH zu deaktivieren, da die Nutzung von Passwort-Login auf Servern, die aus dem Internet erreichbar sind, ein Sicherheitsrisiko darstellt.
-Das kannst du im Webinterface deines Servers unter Information -> Zugang & Sicherheit -> Passwort-Login deaktivieren einstellen.
+Das kannst du im Webinterface deines Servers unter Information -> Zugang & Sicherheit -> Passwort-Login deaktivieren machen.

Danach aktualisierst du deine Pakete mit folgendem Befehl:
```
@@ -48,7 +46,7 @@ wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list
```
-Nachdem wir die Abhängigkeiten für Mastodon installiert haben, können wir die notwendigen Systempakete installieren. Das machen wir mit diesen zwei Befehlen:
+Nachdem wir die Abhängigkeiten für Mastodon installiert haben, installieren wir die notwendigen Systempakete mit diesen zwei Befehlen:
```bash
apt update
apt install -y \
@@ -66,7 +64,7 @@ yarn set version stable
```
## Ruby installieren
-Wir erstellen einen eigenen Benutzer, da das Verwalten der Ruby-Versionen so viel einfacher ist. Zuerst legst du einen User namens mastodon an, dessen Login deaktiviert ist. Danach wechselst du in den mastodon-User. Das machst du mit diesen Befehlen:
+Wir erstellen einen eigenen User, da das Verwalten der Ruby-Versionen so viel einfacher ist. Zuerst legst du einen User namens mastodon an, dessen Login deaktiviert ist. Dann wechselst du in den mastodon-User. Das machst du mit diesen Befehlen:
```bash
# Du kannst die Felder einfach leer lassen
adduser --disabled-login mastodon
@@ -82,13 +80,13 @@ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec bash
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
```
-Nachdem du diese Befehle durch hast, kannst du Ruby installieren und gleichzeitig bundler mitinstallieren:
+Nachdem du diese Befehle ausgeführt hast, kannst du Ruby installieren und gleichzeitig bundler mitinstallieren:
```bash
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.3
rbenv global 3.0.3
gem install bundler --no-document
```
-Das kann etwas dauern, also gönn dir in der Zeit einen Tee oder Kaffee. Danach bist du fertig mit der Einrichtung und kannst mit `exit` wieder zum root-User wechseln.
+Das kann etwas dauern, also gönn dir in der Zwischenzeit einen Tee oder Kaffee. Danach bist du fertig mit der Einrichtung und kannst mit `exit` wieder zum root-User zurückwechseln.
## PostgreSQL konfigurieren
Mastodon nutzt PostgreSQL als Datenbanksystem. Die Konfiguration erfolgt einfach mit:
@@ -112,7 +110,7 @@ Lade die aktuellste Mastodon-Version mit git herunter, mit diesen zwei Befehlen:
git clone https://github.com/tootsuite/mastodon.git live && cd live
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
```
-Jetzt installieren wir noch die letzten Abhängigkeiten für Ruby und Javascript:
+Jetzt installierst du die letzten Abhängigkeiten für Ruby und Javascript:
```bash
bundle config deployment 'true'
bundle config without 'development test'
@@ -124,31 +122,31 @@ Erstelle deine Mastodon-Konfigurationsdatei mit:
RAILS_ENV=production bundle exec rake mastodon:setup
```
:::info
-Falls die Datenbankeinrichtung fehlschlägt, logge dich bitte mit `sudo -u postgres psql` in Postgres ein und folge dieser Anleitung:
+Falls die Datenbankeinrichtung fehlschlägt, logge dich bitte mit `sudo -u postgres psql` in deine Postgres-Datenbank ein und folge dieser Anleitung:
https://gist.github.com/amolkhanorkar/8706915
:::
-Danach wechselst du mit `exit` zurück zum root-User.
+Danach wechselst du wieder zum root-User mit `exit`.
## Webserver konfigurieren
-Jetzt kommt der knifflige Teil: Du musst deinen Webserver konfigurieren. Erstelle zuerst einen A-Record und/oder AAAA-Record in deiner DNS, der direkt auf deinen Server zeigt. Alternativ kannst du auch den Root-Record auf deinen Server zeigen lassen.
+Jetzt kommt der knifflige Teil: die Webserver-Konfiguration. Erstelle zuerst einen A-Record und/oder AAAA-Record in deiner DNS, der direkt auf deinen Server zeigt. Alternativ kannst du auch den Root-Record auf deinen Server zeigen lassen.
-Dann kopierst und aktivierst du die Mastodon-Webserver-Konfiguration mit diesen zwei Befehlen:
+Kopiere und aktiviere dann die Mastodon-Webserver-Konfiguration mit diesen zwei Befehlen:
```bash
cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon
```
-Bearbeite danach die Datei `/etc/nginx/sites-available/mastodon` mit einem Texteditor wie vim oder nano und ersetze example.com durch deine gewünschte Domain.
-Als Nächstes musst du ein SSL-Zertifikat für deine Domain besorgen. Das geht ganz easy mit:
+Bearbeite anschließend die Datei `/etc/nginx/sites-available/mastodon` mit einem Texteditor wie vim oder nano und ersetze example.com durch deine gewünschte Domain.
+Danach musst du ein SSL-Zertifikat für deine Domain besorgen. Das geht ganz einfach mit:
```bash
-certbot --nginx -d
+certbot --nginx -d
```
Gib deine Domain ein. Du wirst nach einigen Angaben gefragt. Am Ende wirst du gefragt, ob http-Anfragen automatisch auf https umgeleitet werden sollen – wir empfehlen, das zu aktivieren.
## Mastodon-Service erstellen
-Zum Schluss erstellen wir einen Mastodon-Systemservice. Das ist ziemlich straightforward.
+Zum Schluss erstellen wir einen Mastodon-Systemdienst. Das ist ziemlich straightforward.
Kopiere die Standard-Service-Konfiguration in das Service-Verzeichnis deiner Distribution:
```sh
cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/
@@ -160,6 +158,4 @@ systemctl daemon-reload
systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming
```
-Nach einem Neustart solltest du mit deiner Einrichtung fertig sein. Viel Spaß mit deiner Instanz!
-
-
\ No newline at end of file
+Nach einem Neustart solltest du mit deinem Setup fertig sein. Viel Spaß mit deiner Instanz!
\ No newline at end of file
diff --git a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-mythofempires.md b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-mythofempires.md
index 3183dda5b..7d65130da 100644
--- a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-mythofempires.md
+++ b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-mythofempires.md
@@ -10,67 +10,63 @@ services:
import InlineVoucher from '@site/src/components/InlineVoucher';
## Einführung
-Du hast einen Linux Dedicated Server und möchtest den Myth of Empires Dedicated Server darauf installieren? Dann bist du hier genau richtig. In dieser Anleitung erklären wir dir Schritt für Schritt, wie du diesen Service auf deinem Linux-Server mit SteamCMD installierst. Wir nutzen Ubuntu als Beispiel, aber der Prozess ist bei anderen Distributionen ähnlich.
+Du hast einen Linux Dedicated Server und möchtest den Myth of Empires Dedicated Server darauf installieren? Dann bist du hier genau richtig. In dieser Anleitung erklären wir dir Schritt für Schritt, wie du diesen Service auf deinem Linux Server mit SteamCMD installierst. Wir nutzen Ubuntu als Beispiel, aber der Prozess ist bei anderen Distributionen ähnlich.
:::tip
-Wusstest du, dass du unsere **ZAP GS/TS3 Schnittstelle** direkt auf deinem Dedicated Server installieren kannst? So richtest du Game Server Services mit direkter Integration in dein ZAP-Hosting Dashboard in nur wenigen Klicks ein! Mehr Infos zur [GS/TS3 Schnittstelle hier](dedicated-linux-gs-interface.md).
+Wusstest du, dass du unsere **ZAP GS/TS3 Interface** direkt auf deinem Dedicated Server installieren kannst? Damit richtest du Game Server Services mit direkter Integration in dein ZAP-Hosting Dashboard in nur wenigen Klicks ein! Mehr Infos zur [GS/TS3 Interface findest du hier](dedicated-linux-gs-interface.md).
:::
-
-
## Vorbereitung
-Verbinde dich zunächst per SSH mit deinem Dedicated Server. Falls du dabei Hilfe brauchst, nutze unsere [SSH Erste Schritte](dedicated-linux-ssh.md) Anleitung.
+Verbinde dich zuerst per SSH mit deinem Dedicated Server. Falls du Hilfe brauchst, schau dir unsere [SSH Erste Schritte](dedicated-linux-ssh.md) Anleitung an.
-Falls du SteamCMD zum ersten Mal auf deinem Linux-Server nutzt, musst du eine Erstkonfiguration durchführen. Nutze dafür unsere [SteamCMD Linux Setup](dedicated-linux-steamcmd.md) Anleitung und stelle sicher, dass SteamCMD vollständig eingerichtet ist, bevor du weitermachst.
+Falls du SteamCMD zum ersten Mal auf deinem Linux Server nutzt, musst du es erstmal einrichten. Nutze dafür unsere [SteamCMD Linux Setup](dedicated-linux-steamcmd.md) Anleitung und stelle sicher, dass SteamCMD komplett eingerichtet ist, bevor du weitermachst.
:::info Wine Kompatibilitätsschicht
-Myth of Empires bietet aktuell keinen nativen Linux-Server-Build an, daher ist ein zusätzlicher Schritt nötig, um die Windows-Server-Version auf Linux laufen zu lassen.
+Myth of Empires bietet aktuell keinen nativen Linux-Server Build an. Deshalb ist ein zusätzlicher Schritt nötig, um die Windows-Server-Version auf Linux laufen zu lassen.
-Du musst einmalig die **Wine** Kompatibilitätsschicht installieren, falls du das noch nicht auf deinem Linux-Server gemacht hast. Nutze unsere schnelle [Wine Kompatibilitätsschicht Setup](dedicated-linux-wine.md) Anleitung, um das einzurichten, bevor du weitermachst.
+Du musst einmalig die **Wine** Kompatibilitätsschicht installieren, falls du das noch nicht auf deinem Linux Server gemacht hast. Nutze unsere schnelle [Wine Kompatibilitätsschicht Setup](dedicated-linux-wine.md) Anleitung, um das einzurichten, bevor du weitermachst.
:::
## Installation
-Melde dich als erstes als `steam` User an und wechsle in das Home-Verzeichnis von `steam`, um alles ordentlich zu halten.
+Melde dich als `steam` User an und wechsle in das Home-Verzeichnis von `steam`, um alles ordentlich zu halten.
```
sudo -u steam -s
cd ~
```
-Sobald du eingeloggt bist, kannst du die Installation mit folgendem Befehl starten. So installierst du den Server bequem über SteamCMD direkt als `steam` User. Mit dem Parameter `+@sSteamCmdForcePlatformType windows` stellst du sicher, dass die Windows-Binaries installiert werden.
+Sobald du eingeloggt bist, kannst du die Installation mit folgendem Befehl starten. Damit wird SteamCMD genutzt, um die Windows-Binaries zu installieren – dank des Parameters `+@sSteamCmdForcePlatformType windows` wird das erzwungen.
```
steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir '/home/steam/MOE-Server' +login anonymous +app_update 1794810 validate +quit
```
-Hab bitte etwas Geduld, bis der Download abgeschlossen ist – bei größeren Spielen kann das eine Weile dauern. Wenn alles erfolgreich war, erscheint eine Bestätigungsmeldung.
+Hab Geduld, der Download kann je nach Größe des Spiels etwas dauern. Wenn alles erfolgreich war, erscheint eine Bestätigungsmeldung.
## Konfiguration
-Jetzt hast du die Grundinstallation deines Myth of Empires Servers abgeschlossen. Weitere Server-Einstellungen kannst du über verschiedene Konfigurationsdateien im Server-Verzeichnis vornehmen.
+Jetzt hast du die Grundinstallation deines Myth of Empires Servers abgeschlossen. Weitere Einstellungen kannst du über verschiedene Konfigurationsdateien im Serververzeichnis vornehmen.
Alle Konfigurationsparameter findest du in `.ini` Dateien im Saved-Ordner. Mit dem Befehl `ls` kannst du dir die Dateien anzeigen lassen.
```
cd /home/steam/MOE-Server/MOE/Saved/Config/WindowsServer
```
-Um eine Datei zu bearbeiten, öffne sie einfach mit `nano ./[dateiname].ini` im Nano-Editor.
+Um eine Datei zu bearbeiten, nutze einfach `nano ./[dateiname].ini`, um den Nano Editor zu öffnen.
Schau dir unsere Myth of Empires [Server Konfiguration](moe-configuration.md) Anleitung an, um alle verfügbaren Serveroptionen und ihre Funktionen kennenzulernen.
## Server starten & verbinden
-Jetzt geht’s ans Eingemachte: Starte deinen Server. Wechsle ins Hauptspielverzeichnis und führe die **MOEServer.exe** mit folgendem Befehl aus. Wichtig: Nutze **xvfb-run** und **wine**, um den Server über die Wine-Kompatibilitätsschicht zu starten.
+Jetzt geht’s ans Eingemachte: Starte deinen Server. Wechsle ins Hauptspielverzeichnis und starte die **MOEServer.exe** mit folgendem Befehl. Wichtig: Nutze **xvfb-run** und **wine**, um die Windows-Version über die Wine Kompatibilitätsschicht auszuführen.
```
xvfb-run wine /home/steam/MOE-Server/MOE/Binaries/Win64/MOEServer.exe
```
-Im Terminal solltest du nun Logs sehen, die bestätigen, dass der Server erfolgreich gestartet ist. Beachte, dass der erste Start etwas länger dauern kann, da alles eingerichtet wird. Verbinde dich direkt, indem du im **Custom Server** Tab nach deinem Server suchst: `[deine_ip_adresse]:15636`.
+Im Terminal solltest du jetzt Logs sehen, die bestätigen, dass der Server erfolgreich gestartet ist. Beim ersten Start kann es etwas dauern, bis alles eingerichtet ist. Verbinde dich dann direkt über den **Custom Server** Tab mit `[deine_ip_adresse]:15636`.
## Fazit
-Glückwunsch, du hast den Myth of Empires Server erfolgreich auf deinem Dedicated Server installiert und konfiguriert! Als nächsten Schritt empfehlen wir dir unsere [Linux Service Setup](dedicated-linux-create-gameservice.md) Anleitung. Damit richtest du deinen neuen Dedicated Gameserver als Service ein – mit Vorteilen wie automatischem Serverstart beim Booten, automatischen Updates, einfacher Verwaltung und Zugriff auf Logs und vieles mehr!
-
-Wenn du noch Fragen hast oder Probleme auftreten, steht dir unser Support-Team täglich zur Seite!
+Glückwunsch, du hast den Myth of Empires Server erfolgreich auf deinem Dedicated Server installiert und konfiguriert! Als nächstes empfehlen wir dir unsere [Linux Service Setup](dedicated-linux-create-gameservice.md) Anleitung. Damit richtest du deinen neuen Dedicated Gameserver als Service ein – mit Vorteilen wie automatischem Serverstart beim Booten, automatischen Updates, einfacher Verwaltung und Zugriff auf Logs und mehr!
-
\ No newline at end of file
+Falls du noch Fragen hast oder Probleme auftreten, steht dir unser Support Team täglich zur Seite!
\ No newline at end of file
diff --git a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-nextcloud.md b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-nextcloud.md
index a3fed052e..5298b76cf 100644
--- a/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-nextcloud.md
+++ b/i18n/de/docusaurus-plugin-content-docs/current/dedicated-linux-nextcloud.md
@@ -15,13 +15,11 @@ Nextcloud ist eine Open-Source-Cloud-Lösung und ein Fork von Owncloud, gegründ

-Um optimale Performance, Stabilität und Funktionalität zu gewährleisten, empfehlen wir folgendes Setup für das Hosting eines Nextcloud-Servers. Der Nextcloud-Server ist nicht kompatibel mit Windows und MacOS. Zumindest nicht ohne weitere Virtualisierung oder ähnliche Workarounds.
-
-
+Um optimale Performance, Stabilität und Funktionalität zu gewährleisten, wird folgendes Setup für das Hosting eines Nextcloud-Servers empfohlen. Der Nextcloud-Server ist nicht kompatibel mit Windows und MacOS. Zumindest nicht ohne weitere Virtualisierung oder ähnliche Workarounds.
## Vorbereitung
-Die folgenden Anforderungen werden von den Entwicklern empfohlen und basieren auf unseren eigenen Erfahrungen. Probleme können auftreten, wenn diese Voraussetzungen nicht erfüllt werden.
+Die folgenden Anforderungen werden von den Entwicklern empfohlen und basieren auf unseren eigenen Erfahrungen. Probleme können auftreten, wenn diese Voraussetzungen nicht erfüllt sind.
#### Hardware
@@ -30,7 +28,7 @@ Die folgenden Anforderungen werden von den Entwicklern empfohlen und basieren au
| CPU | 2x 1 GHz | 4x 2+ GHz |
| RAM | 512 MB | 4+ GB |
| Speicher | 10 GB | 50+ GB |
-| Bandbreite | 100 Mbit/s (Up & Down) | 500 Mbit/s (Up & Down) Empfohlen, wenn mehrere Nutzer die Cloud verwenden sollen |
+| Bandbreite | 100 Mbit/s (up & down) | 500 Mbit/s (up & down) Empfohlen, wenn mehrere Nutzer die Cloud verwenden sollen |
#### Software
@@ -43,7 +41,7 @@ Die folgenden Anforderungen werden von den Entwicklern empfohlen und basieren au
## Vorbereitung
-Um die Cloud auf einem Linux-Server zu installieren, muss eine Verbindung über einen SSH-Client hergestellt werden. Falls du nicht sicher bist, wie SSH funktioniert, hier eine Anleitung dazu: [Erstzugang (SSH)](vserver-linux-ssh.md)
+Um die Cloud auf einem Linux-Server zu installieren, muss eine Verbindung über einen SSH-Client hergestellt werden. Falls du nicht sicher bist, wie SSH funktioniert, hier eine Anleitung: [Erstzugang (SSH)](vserver-linux-ssh.md)
Sobald die Verbindung steht, kannst du die notwendigen Pakete installieren, die für die eigentliche Nextcloud-Installation benötigt werden. Dazu gehört die Installation eines Webservers sowie PHP.
@@ -104,7 +102,7 @@ sudo apt -y install php php-common
sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
```
-PHP-Version zur Funktionsprüfung anzeigen
+PHP-Version zur Funktionsprüfung prüfen
```
php -v
```
@@ -166,12 +164,11 @@ sudo apt-get install -y php7.3
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json
```
-PHP-Version zur Funktionsprüfung anzeigen
+PHP-Version zur Funktionsprüfung prüfen
```
php -v
```
-