Der Apache Http Server ist einer der meistgenutzten Webserver weltweit. Um ein Webprojekt für einen Apache zu entwickeln oder um einfach nur zu üben, sollte man sich diesen lokal auf seinem Rechner installieren. Diese Installation möchte ich hier exemplarisch für Ubuntu 21.04 beschreiben. Sie gilt analog für alle Debian-Derivate.
Der Apache ist als freie Software in der Version 2.4.46 in den Paketquellen von Ubuntu enthalten. Mit
sudo apt install apache2
wird er installiert und auch direkt gestartet. Nun ist der Server unter localhost erreichbar. Zum Testen gibt man in die Adresszeile eines Browsers einfach localhost
ein. Es erscheint die Apache2 Default Page.
Der Apache liefert alle Dateien, die sich in einem Document-Root genannten Verzeichnis befinden, aus. In unserem Fall findet sich dieses Verzeichnis unter /var/www/html
. Legt man in dieses Verzeichnis eine Website mit dem Dateinamen hello.html
ab, so kann man diese Seite unter localhost/hello.html
aufrufen. Verzeichnisse werden entsprechend dazwischen geschaltet: var/www/html/news/hello.html
ruft man mit localhost/news/hello.html
auf.
Gibt man, so wie oben, einfach nur localhost
ein, so liefert der Apache die Datei index.html
aus. Schaut man nach, so findet man unter /var/www/html/index.html
die Apache2 Default Page.
Im Verzeichnis /var/www/html
kann man zunächst nur mit Root-Rechten Dateien anlegen und bearbeiten. Nutzt man den Apache zum lokalen Entwickeln, sollte man sich selber als Besitzer eintragen:
sudo chown -R $USER /var/www/html
chown (engl.: change owner) ändert den Besitzer von Dateien und Verzeichnissen. Die Option -R
(oder --recursive
) sorgt dafür, dass dies auch für alle Dateien und Verzeichnisse innerhalb von /var/www/html
geschieht. In der Umgebundsvariablen USER ist der eigene Username gespeichert. Mit $USER wird dieser Wert ausgelesen.
Starten und stoppen kann man den Apache mit systemctl
:
sudo systemctl start apache2
sudo systemctl stop apache2
Der Apache ist so konfiguriert, dass er nach dem Hochfahren des Rechners automatisch startet. Dies kann man wie folgt ändern:
# Automatisches Starten deaktivieren
sudo systemctl disable apache2
# Automatisches Starten aktivieren
sudo systemctl enable apache2
Nun kann man sein Apache-Webprojekt starten.