L | F | D | W

Teil 1: Einrichten eines Apache Webservers (Basis)

Nach der Installation des Apache Webservers sind hier einmal ein paar grundsätzliche Konfigurationen vorzunehmen, um seine erste Website zu starten.

Hauptkonfigurationsfile httpd.conf

Das wichtige Konfig-file heißt httpd.conf und hier liste ich die wichtigen Stellen auf, die zu beachten sind.

Unabhängig ob man aus einer Paketverwaltung oder einem Source-Paket seinen Webserver einrichtet, sind die wichtigen Konfigurationspunkte gleich. Da jedoch die mit der Distribution mitgelieferte Webserverversion vorkonfiguriert daher kommt, erspart man sich viele Konfigurationsschritte. Hier gehe ich aber nur auf die bereits vorkonfigurierte Version ein. Da der Webserver auch auf anderen Betriebssystemen eingerichtet werden kann, gebe ich an einigen Stellen relevante Unterschiede an. Für Linux kann man von der Projektseite Apache sich ein Source-Paket herunterladen. Für Windows kann man Apache Haus verwenden.

An oberster Stelle findet man das Wurzelverzeichnis (ServerRoot) für den Webserver. Das sollte immer kontrolliert werden. Hier befinden sich die Konfigurationsdateien, Module und andere wichtige Teile de Webservers. Unter Windows auch die Binarys.

# Linux
ServerRoot "/etc/httpd"

# Windows
ServerRoot "C:\Apache24"


Der nächste Punkt sind die Ports, auf denen der Webserver hören soll. Das kann auch mit IP oder Hostnamen kombiniert werden.

#Listen 12.34.56.78:80
Listen 8080
Listen 8443
Listen 8444
#Listen 8081


Unter Linux sind die Benutzer und Gruppe zu konfigurieren, unter denen der Webserver läuft. Das sind die Standardeinstellungen unter Fedora-Linux. Unter Windows ist das nicht vorhanden.

User apache
Group apache

Ein weiterer Abschnitt sind die zu ladenden Module. Diese sind vordefiniert und meist mit Hashtag auskommentiert. Diese müssen nach den eigenen Bedürfnissen angepasst werden.
Unter Windows sieht das so aus:

LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_http2_module modules/mod_proxy_http2.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule headers_module modules/mod_headers.so
LoadModule http2_module modules/mod_http2.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so


Für Linux ist lediglich ein Einzeiler, der auf den relevanten Path verweist.

Include conf.modules.d/*.conf

Der Root-Path zu den Website-Files ist größtenteils vordefiniert, und kann angepasst werden.

DocumentRoot "/var/www/html"

Der letzte wichtige Punkt sind eigene VirtualHosts, die mit ihren eigenen Konfigfiles eingebunden werden. Auch unterscheidet sich Linux zu Windows.

# http Config

# Example Windows
Include conf/extra/webserver.conf
# Example Linux (Fedora)

IncludeOptional conf.d/*.conf


Mit einem Neustart des Webservers werden die Einstellungen übernommen. Bei Fehlern hilft ein Blick in journalctl oder in die Logfiles unter /etc/httpd/log, soweit diese konfiguriert wurden.

systemctl restart httpd

Weitere Quellen und Suchbegriffe: apache, apache Haus, Webserver




geändert, 14. Mai 2023, 14:35
Copyright © 2025 by Philipp