Wie kann man das Verzeichnis in Apache2 ändern?
- Einführung
- Apache2 Konfigurationsdatei verstehen
- Verzeichnis ändern durch Anpassung des DocumentRoot
- Zugriffsrechte und Besitzer des Verzeichnisses
- Apache2 neu starten oder neu laden
- Zusätzliche Anpassungen bei mehreren Seiten
- Fazit
Einführung
Wenn man den Apache2-Webserver verwendet, ist das Standardverzeichnis, aus dem die Webseiten ausgeliefert werden, in der Konfiguration festgelegt. In vielen Fällen ist dies das Verzeichnis /var/www/html. Es kann jedoch notwendig sein, dieses Verzeichnis zu ändern, beispielsweise um die Webseiten in einem anderen Ordner zu speichern oder mehrere Webseiten auf demselben Server zu hosten. In dieser Antwort wird erklärt, wie das Verzeichnis in Apache2 geändert werden kann.
Apache2 Konfigurationsdatei verstehen
Die Konfiguration von Apache2 erfolgt über verschiedene Dateien, die sich meist im Verzeichnis /etc/apache2 befinden. Insbesondere die Datei 000-default.conf (unter Ubuntu/Debian-Systemen) oder andere vhost-Dateien definieren das sogenannte DocumentRoot, also das Verzeichnis, aus dem der Server die Webseiten lädt. Dieses DocumentRoot kann angepasst werden, indem man die Konfigurationsdatei entsprechend ändert.
Verzeichnis ändern durch Anpassung des DocumentRoot
Um das Verzeichnis zu ändern, öffnet man zunächst die passende Konfigurationsdatei. Zum Beispiel mit dem Editor nano:
sudo nano /etc/apache2/sites-available/000-default.conf DocumentRoot /var/www/htmlDiese Zeile gibt an, welches Verzeichnis für die Webseiten verwendet wird. Um das Verzeichnis zu ändern, ersetzt man /var/www/html durch den gewünschten Pfad, zum Beispiel /home/benutzer/webseite.
Zugriffsrechte und Besitzer des Verzeichnisses
Nachdem man das DocumentRoot geändert hat, darf man nicht vergessen, dass Apache auf dieses Verzeichnis zugreifen können muss. Dies bedeutet, dass die richtigen Zugriffsrechte und der passende Besitzer gesetzt sein müssen. Üblicherweise sollte das Verzeichnis dem Benutzer und der Gruppe www-data gehören, unter der Apache läuft. Man kann dies so einstellen:
sudo chown -R www-data:www-data /pfad/zum/neuen/verzeichnissudo chmod -R 755 /pfad/zum/neuen/verzeichnisApache2 neu starten oder neu laden
Damit die Änderungen wirksam werden, muss der Apache2-Dienst neu gestartet oder neu geladen werden. Das erreicht man mit dem Befehl:
sudo systemctl reload apache2 sudo systemctl restart apache2Zusätzliche Anpassungen bei mehreren Seiten
Wenn man mehrere Webseiten hosten möchte, sollte man sogenannte Virtual Hosts konfigurieren. Dabei definiert man für jede Webseite ein eigenes Verzeichnis und eine eigene Konfiguration. Diese werden ebenfalls in /etc/apache2/sites-available abgelegt und mit a2ensite aktiviert. Die grundlegenden Schritte zum Ändern des Verzeichnisses für jede Seite sind aber gleich.
Fazit
Das Ändern des Verzeichnisses in Apache2 ist eine einfache Aufgabe, die hauptsächlich darin besteht, die Einstellung des DocumentRoot anzupassen und die richtigen Dateiberechtigungen zu setzen. Danach muss Apache neu geladen werden, um die Änderungen zu übernehmen. Mit diesem Wissen kann man den Webserver flexibel an seine Bedürfnisse anpassen.
