Leitfaden: Wie man das DocumentRoot von Websites auf einem Linux-Server findet
Das DocumentRoot (oder Stammverzeichnis) ist der Ordner auf einem Webserver, in dem die Dateien einer Website (wie HTML, PHP, Bilder) abgelegt sind. Wenn Sie Änderungen an einer Website vornehmen, Backups erstellen oder Berechtigungen anpassen müssen, müssen Sie diesen Pfad kennen.
In diesem Tutorial lernen Sie die verschiedenen Wege kennen, um das DocumentRoot für die am weitesten verbreiteten Webserver (Apache und Nginx) sowie über Control Panels herauszufinden.
1. Schritt vorab: Welcher Webserver läuft überhaupt?
Falls Sie nicht sicher sind, welcher Webserver auf Ihrem Linux-System aktiv ist, führen Sie folgenden Befehl im Terminal aus:
sudo ss -tulpn | grep ':80'
oder
sudo lsof -i :80
In der Ausgabe sehen Sie meist entweder apache2, httpd (Apache auf RHEL/CentOS) oder nginx.
2. DocumentRoot auf einem Apache-Webserver finden
Apache speichert die Pfade in virtuellen Host-Dateien (VirtualHosts).
Methode A: Der schnellste Weg (Virtuelle Hosts auflisten)
Apache bietet integrierte Befehle, die alle konfigurierten Domains samt Pfaden und Konfigurationsdateien anzeigen:
- Unter Debian / Ubuntu:
apache2ctl -S - Unter RHEL / CentOS / AlmaLinux / Rocky Linux:
httpd -S
Suchen Sie in der Ausgabe nach Ihrem Domainnamen. In der Nähe der Domain sehen Sie die Datei, die für diese Domain zuständig ist, oder direkt den Pfad.
Methode B: Konfigurationsdateien mit grep durchsuchen
Sie können die Konfigurationsverzeichnisse direkt nach der DocumentRoot-Direktive durchsuchen:
- Debian / Ubuntu:
grep -rnw '/etc/apache2/' -e 'DocumentRoot' - RHEL / CentOS:
grep -rnw '/etc/httpd/' -e 'DocumentRoot'
Beispielausgabe:
/etc/apache2/sites-enabled/meine-website.de.conf:4: DocumentRoot /var/www/meine-website.de/public_html
In diesem Beispiel lautet das DocumentRoot: /var/www/meine-website.de/public_html.
3. DocumentRoot (Root) auf einem Nginx-Webserver finden
Bei Nginx heißt die entsprechende Direktive nicht DocumentRoot, sondern schlicht root innerhalb eines server-Blocks.
Methode A: Die gesamte Nginx-Konfiguration durchsuchen
Mit folgendem Befehl können Sie die Konfiguration validieren und gleichzeitig ausgeben lassen, gefiltert nach Domains und Pfaden:
nginx -T | grep -E "server_name|root"
Methode B: Gezielt nach der Domain suchen
Wenn Sie den Domainnamen kennen, können Sie herausfinden, in welcher Konfigurationsdatei er definiert ist:
grep -rnw '/etc/nginx/' -e 'meine-website.de'
Öffnen Sie anschließend die gefundene .conf-Datei (z. B. mit nano oder cat) und suchen Sie nach der Zeile root:
server {
listen 80;
server_name meine-website.de www.meine-website.de;
root /var/www/html/meine-website; <--- DAS IST DAS DOCUMENT ROOT
index index.php index.html;
...
}
4. Standardpfade bei bekannten Web-Control-Panels
Wenn auf Ihrem Server eine Verwaltungssoftware (Control Panel) installiert ist, folgen die Pfade fast immer einer festen Struktur:
- Plesk:
- Pfad:
/var/www/vhosts/DEINE-DOMAIN.de/httpdocs/
- Pfad:
- cPanel / WHM:
- Hauptdomain:
/home/BENUTZERNAME/public_html/ - Subdomains/Addon-Domains: Oft
/home/BENUTZERNAME/DEINE-DOMAIN.de/
- Hauptdomain:
- Froxlor:
- Pfad:
/var/customers/webs/BENUTZERNAME/
- Pfad:
- ISPConfig:
- Pfad:
/var/www/DEINE-DOMAIN.de/web/
- Pfad:
5. Alternative: DocumentRoot über PHP herausfinden
Falls Sie FTP- oder SSH-Zugriff haben und bereits wissen, wie Sie Dateien auf der Website ausführen können (aber den absoluten Systempfad nicht kennen), erstellen Sie eine temporäre Datei namens pfad.php:
<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>
- Rufen Sie die Datei im Browser auf:
https://meine-website.de/pfad.php - Der absolute Pfad wird direkt angezeigt.
- Wichtig: Löschen Sie die Datei anschließend aus Sicherheitsgründen wieder!
Zusammenfassung
- Prüfen, welcher Webserver läuft (
ApacheoderNginx). - Apache:
apache2ctl -Sausführen oder nachDocumentRootin/etc/apache2/bzw./etc/httpd/greppen. - Nginx: In
/etc/nginx/nach der Domain suchen und die Zeileroot /pfad/...;prüfen.