Apache2 Workshop apache2.conf und ports.conf

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

/etc/apache2/apache2.conf

Zweck

  • Diese Datei ist die Hauptkonfigurationsdatei für Apache unter Debian.
  • Sie enthält globale Einstellungen wie Logging, Prozessverwaltung und Standardverzeichnisse.
  • Änderungen hier wirken sich auf den gesamten Webserver aus.
  • Spezifische Konfigurationen erfolgen meist in separaten Dateien
  • Meist unter sites-available/, mods-available/ oder conf-available/.

Inhalt

  • cat /etc/apache2/apache2.conf
# Aktiviert das Halten von Verbindungen für schnellere Anfragen desselben Clients
KeepAlive On

# Maximale Anzahl von Anfragen pro KeepAlive-Verbindung
MaxKeepAliveRequests 100

# Zeitüberschreitung für KeepAlive-Verbindungen in Sekunden
KeepAliveTimeout 5

# Legt den Benutzer und die Gruppe fest, unter denen Apache läuft (aus envvars)
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

# Deaktiviert die DNS-Auflösung für Client-IP-Adressen (spart Ressourcen)
HostnameLookups Off

# Pfad zur Fehlerprotokolldatei
ErrorLog ${APACHE_LOG_DIR}/error.log

# Definiert das Standard-Log-Level (z. B. warn, error, debug)
LogLevel warn

# Lädt alle aktivierten Module
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

# Bindet die Port-Konfiguration ein (legt fest, auf welchen Ports Apache lauscht)
Include ports.conf

# Standardverzeichnis-Schutz: Alles ist verboten, es sei denn, es wird explizit erlaubt
<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>

# Erlaubt Zugriff auf Dateien unter /usr/share (z. B. für Dokumentationen oder statische Inhalte)
<Directory /usr/share>
	AllowOverride None
	Require all granted
</Directory>

# Standardverzeichnis für Webseiten, erlaubt Index-Anzeige und Symlinks
<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

# Definiert die Datei für Verzeichnisspezifische Einstellungen (.htaccess)
AccessFileName .htaccess

# Verhindert den Zugriff auf .htaccess-Dateien und andere versteckte Dateien
<FilesMatch "^\.ht">
	Require all denied
</FilesMatch>

# Definiert verschiedene Log-Formate für Apache
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Lädt weitere aktivierte Konfigurationen und Virtual Hosts
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf

/etc/apache2/ports.conf

Zweck

  • Diese Datei legt fest, auf welchen Ports Apache lauscht.
  • Standardmäßig sind HTTP (Port 80) und HTTPS (Port 443) definiert.
  • Weitere Ports können hier hinzugefügt werden, wenn Apache auf mehreren Ports erreichbar sein soll.
  • Die HTTPS-Ports werden nur aktiviert, wenn das jeweilige Modul (`ssl_module` oder `mod_gnutls.c`) geladen ist.

Inhalt

  • cat /etc/apache2/ports.conf
# Standard-Port für HTTP-Anfragen
Listen 80

# Falls das SSL-Modul aktiviert ist, wird HTTPS auf Port 443 unterstützt
<IfModule ssl_module>
	Listen 443
</IfModule>

# Falls mod_gnutls aktiv ist, wird ebenfalls HTTPS auf Port 443 ermöglicht
<IfModule mod_gnutls.c>
	Listen 443
</IfModule>