In SUSE Linux kann Apache auf zweierlei Weisen konfiguriert werden: mit YaST oder manuell. Bei der manuellen Konfiguration können Sie mehr Details einstellen, allerdings müssen Sie ohne den Komfort der Benutzeroberfläche von YaST zurechtkommen.
![]() | Konfigurationsänderungen |
|---|---|
Einige Konfigurationsänderungen werden erst nach einem Neustart von Apache wirksam. Wenn Sie YaST zur Konfiguration verwenden und die Konfiguration mit aktiviertem abschließen, wird der Computer automatisch neu gestartet. Der manuelle Neustart wird unter Abschnitt 46.3.3, „Aktivieren, Starten und Beenden von Apache“ beschrieben. Für die meisten Konfigurationsänderungen ist allerdings nur eine Aktualisierung mit rcapache2 reload erforderlich. | |
Mit YaST können Sie einen Host in Ihrem Netzwerk zu einem Webserver machen. Um einen solchen Server zu konfigurieren, starten Sie YaST und wählen Sie +. Beim ersten Start des Moduls wird der HTTP-Server-Wizard geöffnet, der Sie auffordert, einige Einstellungen hinsichtlich der Serveradministration vorzunehmen.
Der HTTP-Server-Wizard besteht aus fünf Schritten oder Dialogfeldern. Im letzten Schritt des Wizards haben Sie die Möglichkeit, den Expertenkonfigurationsmodus aufzurufen, in dem Sie weitere spezielle Einstellungen vornehmen können.
Geben Sie hier die Netzwerkschnittstellen und -Ports an, die von Apache auf eingehende Anfragen überwacht werden. Es kann eine beliebige Kombination aus bestehenden Netzwerkschnittstellen und den zugehörigen IP-Adressen ausgewählt werden. Sie können Ports aus allen drei Bereichen (Well-Known-Ports, registrierte Ports und dynamische oder private Ports) verwenden, die nicht für andere Dienste reserviert sind.
In der Standardeinstellung lauscht Apache an allen Netzwerkschnittstellen (IP-Adressen) auf Port 80. Bei aktivierter Firewall können Sie auswählen, ob die Apache-Ports in der Firewall geöffnet werden sollen.
Aktivieren Sie , um die Ports in der Firewall zu öffnen, auf denen der Webserver lauscht. Dies ist erforderlich, um den Webserver im Netzwerk (LAN, WAN oder Internet) verfügbar zu machen. Das Schließen des Listen-Ports ist sinnvoll in Testsituationen, bei denen kein externer Zugriff auf den Webserver notwendig ist. Wenn Sie mit den Standardeinstellungen zufrieden sind oder Änderungen vorgenommen haben, klicken Sie auf , um die Konfiguration fortzusetzen.
Das Apache-Paket für SUSE Linux beinhaltet eine Vielzahl an Apache-Modulen. Module erweitern die Funktionalität von Apache und sind für viele Aufgaben erhältlich. Die Konfigurationsoption ermöglicht das Laden und Entladen mehrerer Apache-Module beim Start des Servers. Eine ausführlichere Erklärung der Module finden Sie in Abschnitt 46.5, „Apache-Module“. Klicken Sie auf .
Diese Option ist Teil des Standard-Webservers. Wie in Abschnitt 46.4, „Virtuelle Hosts“ beschrieben, kann Apache von einem einzelnen Computer aus als Server für mehrere Domänen eingesetzt werden. Die erste in der Konfigurationsdatei angegebene Domäne (oder VirtualHost) wird im Allgemeinen als Standard-Host bezeichnet. Wenn Sie die Hosteinstellungen bearbeiten möchten, wählen Sie den entsprechenden Eintrag in der Tabelle aus und klicken Sie auf . Klicken Sie zum Hinzufügen eines neuen Hosts auf . Wenn Sie einen Host löschen möchten, wählen Sie ihn aus und klicken Sie auf .
In diesem Schritt haben Sie die Möglichkeit, den Hosteinstellungen eine SSL-Option (Secure Sockets Layer) mit entsprechendem Wert hinzuzufügen. Weitere Informationen hierzu finden Sie in Abschnitt 46.3.1.3, „SSL-Unterstützung hinzufügen“.
Dies ist eine Liste mit den Standardeinstellungen des Servers:
Wie in Abschnitt 46.2.3.4, „Document Root (absoluter Pfad)“ beschrieben, ist /srv/www/htdocs der Standard-Speicherort, von dem aus Apache Webseiten bereitstellt.
/srv/www/htdocs ist der Speicherort der Webseiten.
Mithilfe von Alias-Direktiven können URL-Adressen physischen Dateisystemspeicherorten zugeordnet werden. Dies bedeutet, dass sogar auf Pfade im Dateisystem außerhalb von Document Root über eine URL per Aliasing zugegriffen werden kann.
Der vorgegebene SUSE Linux-Alias für die in der Verzeichnisindex-Ansicht angezeigten Apache-Symbole, /icons, verweist auf /usr/share/apache2/icons.
/usr/shareapache2/icons ist der Speicherort des Alias-Verzeichnisses.
Ähnlich wie die Alias-Anweisung ordnet die ScriptAlias-Anweisung eine URL einem Dateisystemspeicherort zu. Der Unterschied besteht darin, dass ScriptAlias das Zielverzeichnis als CGI-Speicherort vorsieht. Dies bedeutet, dass CGI-Skripts an diesem Speicherort ausgeführt werden sollten.
/srv/www/cgi-bin ist der Speicherort des ScriptAlias-Verzeichnisses.
/etc/apache2/conf.d/*.conf ist das Verzeichnis mit den Konfigurationsdateien, die in bestimmten Paketen enthalten sind. /etc/apache2/conf.d/apache2-manual?conf ist das Verzeichnis mit allen apache2-manual-Konfigurationsdateien.
Diese Option bezieht sich auf Abschnitt 46.4, „Virtuelle Hosts“.
erlaubt einem VirtualHost, auf Anforderungen anhand seines Servernamens zu reagieren (siehe Abschnitt 46.4.1, „Namensbasierte virtuelle Hosts“).
veranlasst Apache, den angeforderten Host nach den vom Client gesendeten HTTP-Header-Daten auszuwählen. In Abschnitt 46.4.2, „IP-basierte virtuelle Hosts“ erfahren Sie mehr über IP-basierte virtuelle Hosts.
Dies gibt die Standard-URL an, über die Clients den Webserver kontaktieren. Verwenden Sie einen FQDN (siehe Domäne), um den Webserver unter http:// zu erreichen. Alternativ können Sie auch die IP-Adresse verwenden.
FQDN
Geben Sie unter die E-Mail-Adresse des Webserveradministrators ein.
Klicken Sie nach Beendigung des Schritts auf , um mit dem Konfigurationsdialog fortzufahren.
In diesem Schritt zeigt der Assistent eine Liste von bereits konfigurierten virtuellen Hosts an (siehe Abschnitt 46.4, „Virtuelle Hosts“). Einer der Hosts ist als Standard gekennzeichnet (durch einen Stern neben dem Servernamen). Wenn Sie einen Standard-Host festlegen möchten, wählen Sie den Server aus und klicken Sie auf .
Klicken Sie zum Hinzufügen eines Hosts auf und geben Sie in dem sich öffnenden Dialogfenster die grundlegenden Daten des Hosts ein. umfasst den Servernamen, das übergeordnete Verzeichnis der Serverinhalte und die E-Mail-Adresse des Administrators. Der Hilfetext im linken Teilfenster erklärt detailliert jedes einzelne Element. legt fest, wie ein Host identifiziert wird. Mit der entsprechenden Option können Sie angeben, ob ein Anfrage-Server durch HTTP-Header oder durch eine Server-IP-Adresse bestimmt werden soll. Die andere Möglichkeit besteht darin, den virtuellen Host anhand der IP-Adresse zu bestimmen, die vom Client zum Verbindungsaufbau mit dem Server verwendet wird. Sie können außerdem durch Auswahl der entsprechenden Option die SSL-Unterstützung aktivieren. Auch der Pfad zur Zertifikatdatei kann festgelegt werden. Nach einem Klick auf wird das Standardverzeichnis /etc/apache2/ssl.crt angezeigt. Klicken Sie nach Eingabe der Informationen auf , um zum letzten Schritt der Konfiguration zu gelangen.
Dies ist der abschließende Schritt des Assistenten. Hier können Sie festlegen, wie und wann der Apache-Server gestartet werden soll: beim Systemstart oder manuell. Neben den Standardhosts und den virtuellen Hosts wird auch der zuvor ausgewählte Port angezeigt. Wenn Sie mit Ihren Einstellungen zufrieden sind, schließen Sie die Konfiguration mit ab.
Mit dem HTTP-Server-Modul können Sie noch mehr Veränderungen an der Konfiguration vornehmen. Klicken Sie auf , um weitere Konfigurationsoptionen anzuzeigen. Fogende Änderungen können vorgenommen werden:
Nach Auswahl der Einstellung und einem Klick auf öffnet sich ein neues Fenster, in dem Sie Einträge hinzufügen, löschen oder bearbeiten können.
Nach Auswahl der Einstellung und einem Klick auf können Sie den Status der Apache2-Module durch einen Klick auf ändern. Klicken Sie zum Hinzufügen eines neuen Moduls auf .
Nach Auswahl von und einem Klick auf können Sie die Hosteinstellungen bearbeiten. Sie können außerdem Optionen hinzufügen, bearbeiten oder speichern.
Nach Auswahl der Einstellung und einem Klick auf können Sie einen Host hinzufügen, löschen, bearbeiten oder ihn als Standard-Host festlegen.
In allen vorstehenden Dialogen lassen sich mit einem Klick auf das Fehler- und das Zugriffprotokoll aufrufen. Klicken Sie auf , um die Konfiguration abzuschließen und zum YaST-Kontrollzentrum zurückzukehren.
Wenn Sie zu einem Host eine SSL-Option hinzufügen möchten, klicken Sie in Schritt 3 (Standard-Host) des HTTP-Server-Wizards auf . Wenn Ihr Server bereits eingerichtet ist und Sie nicht mehr auf den Wizard zugreifen können, können Sie eine SSL-Option durch Auswahl von aus dem HTTP-Server-Konfigurationsdialogfeld oder durch Klicken auf und einrichten. In beiden Fällen wird ein Popup-Fenster geöffnet, in dem Sie bis zur Option blättern und Ihre Auswahl mit bestätigen können. Anschließend werden Sie aufgefordert, für die ausgewählte Option einen Wert einzugeben. Dies kann bedeuten, dass der Wert lediglich auf An oder Aus gesetzt werden muss. Es kann aber auch erforderlich sein, einen entsprechenden Wert einzugeben. Wenn Sie unsicher sind, erhalten Sie weitere Informationen über die SSL-Konfiguration und die zulässigen Werte in der Dokumentation. Nach einem Klick auf werden die Option und der Wert in der Host-Konfigurationsliste angezeigt. Klicken Sie auf und Sie werden zum nächsten Schritt im Konfigurationsdialog geleitet.
Wenn in der Host-Konfigurationsliste angezeigt wird, klicken Sie auf , um das SSL-Konfigurationsfeld zu öffnen. Sofern es nicht angezeigt wird, klicken Sie auf , wählen Sie und anschließend aus, und das Dialogfeld öffnet sich automatisch. Hier können Sie SSL-Optionen hinzufügen, löschen oder bearbeiten. Klicken Sie auf , um zum HTTP-Server-Wizard zurückzukehren.
Wenn Sie den Apache-Webserver manuell konfigurieren möchten, müssen Sie die Klartext-Konfigurationsdateien als Root-Benutzer bearbeiten.
![]() | Kein SuSEconfig-Modul für Apache2 |
|---|---|
Das SuSEconfig-Modul für Apache2 wurde in SUSE Linux entfernt. | |
/etc/sysconfig/apache2 steuert einige globale Einstellungen von Apache, beispielsweise die zu ladenden Module, die einzuschließenden Konfigurationsdateien, die beim Serverstart zu verwendenden Flags sowie Flags, die der Befehlszeile hinzugefügt werden sollen. Die Konfigurationsoptionen dieser Datei sind hinreichend dokumentiert und werden daher an dieser Stelle nicht näher erläutert. Für die Konfigurationsanforderungen eines typischen Webservers dürften die Einstellungen der Datei /etc/sysconfig/apache2 ausreichen. Bei speziellen Konfigurationsanforderungen lesen Sie bitte Abschnitt 46.3.2.2, „Apache-Direktiven in /etc/apache2/httpd.conf: Global Environment
“.
![]() | Beim Serverstart automatisch erstellte Dateien |
|---|---|
Diese Dateien dürfen nicht manuell bearbeitet werden. Ändern Sie stattdessen die entsprechenden Einstellungen in | |
Für spezielle Konfigurationen, besonders, wenn Sie Änderungen an der manuellen Konfiguration virtueller Hosts, der globalen Umgebung oder des Hauptservers vornehmen möchten, verweisen wir Sie auf die Dateien in /etc/apache2/*.
SUSE Linux verwendet /etc/apache2/httpd.conf als zentrale Referenz für andere Konfigurationsdateien. Bearbeiten Sie diese Datei nur, wenn Sie Funktionen aktivieren möchten, die in /etc/sysconfig/apache2 nicht zur Verfügung stehen. Die Direktiven im Abschnitt Global Environment (globale Umgebung) der Datei httpd.conf wirken sich auf die gesamte Funktionalität von Apache aus.
Die folgenden Abschnitte befassen sich mit einigen der Direktiven, die nicht in YaST zur Verfügung stehen. Kerndirektiven wie Document Root (siehe Document Root (Absoluter Pfad)) sind sowohl für Global Environment als auch für VirtualHost absolut notwendig.
Die folgenden Parameter und Direktiven sind nach logischem Zusammenhang und Bedeutung für die Konfiguration sortiert. Sie sollten in /etc/apache2/httpd.conf festgelegt werden.
Die LoadModule-Direktive bestimmt, welche Apache-Module während der Laufzeit geladen werden. Modul_ID ist der in seiner Dokumentation angegebene Name des Moduls. /Pfad/des/Moduls ist der absolute oder relative Pfad der Moduldatei.
Beispiel 46.1. Direktive LoadModule
LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so
In SUSE Linux sind keine direkten LoadModule-Anweisungen erforderlich. Stattdessen kann APACHE_MODULE in /etc/sysconfig/apache2 verwendet werden.
Die maximale Anzahl an Clients, die Apache gleichzeitig bedienen kann. Die maximale Client-Anzahl muss einerseits die Anzahl der erwarteten, gleichzeitigen Anforderungen an die Website berücksichtigen, andererseits aber auch den zur Verfügung stehenden physischen RAM-Speicher. Dieser muss für alle Prozesse ausreichend ausgelegt sein.
Die Direktiven im Abschnitt Main Server treten in Kraft, wenn Client-Anforderungen von keinem virtuellen Host (VirtualHost) beantwortet werden und daher von einem Standard- bzw. Hauptserver bearbeitet werden müssen. Darüber hinaus handelt es sich bei den in diesem Abschnitt angegebenen Parametern um die Standardwerte aller konfigurierten virtuellen Hosts. Die Direktiven des Abschnitts Main Server können also auch im VirtualHost-Kontext festgelegt werden. In diesem Fall überschreiben sie die Standardwerte.
Legt fest, nach welchen Dateien Apache suchen soll, wenn in einer URL die Dateiangabe fehlt. Die Standardeinstellung ist index.html. Fordert ein Client beispielsweise die URL http://www.beispiel.com/foo/ an und das Verzeichnis foo enthält eine Datei namens index.html, so gibt Apache diese Seite dem Client zurück. Bei der Angabe mehrerer Dateien müssen Sie die einzelnen Dateien jeweils durch ein Leerzeichen trennen.
Diese Direktive kann nur innerhalb einer <Directory></Directory>-Deklaration verwendet werden. Siehe Directory (Verzeichnis).
AllowOverride gibt an, welche Zugriffs- und Anzeigeoptionen eine .htaccess-Datei (oder andere in AccessFileName angegebene Dateien; siehe Abschnitt 46.3.2.3.3, „AccessFileName Dateinamen
“) überschreiben kann.
Mögliche Werte:
All
Alle Optionen können von einer .htaccess-Datei überschrieben werden.
None
Keine Optionen können von einer .htaccess-Datei überschrieben werden.
AuthConfig
Verzeichnisse können mittels einer .htaccess-Datei durch ein Passwort geschützt werden.
FileInfo
Ermöglicht die Verwendung von Direktiven, die die Dokumenttypen in einer .htaccess-Datei steuern. Ein typisches Beispiel ist die Konfiguration von benutzerdefinierten Fehlerseiten mit Hilfe von ErrorDocument (siehe http://httpd.apache.org/docs-2.0/mod/core.html#errordocument).
Indexes
Falls kein DirectoryIndex-Dokument gefunden wird, erlaubt dieser Parameter Apache die Steuerung der Anzeige von Verzeichnisinhalten.
Limit
Steuert den Client-Zugriff auf ein Verzeichnis bzw. auf bestimmte Dateien. Zu diesem Zweck werden in einer .htaccess-Datei die Direktiven Allow, Deny und Order verwendet. Eine Beschreibung dieser Direktiven finden Sie in der Dokumentation des Zugriffsmoduls (http://httpd.apache.org/docs-2.0/mod/mod_access.html).
Options
Lässt die Verwendung der Direktiven Options und XBitHack in einer .htaccess-Datei zu. Die Direktive Options (http://httpd.apache.org/docs-2.0/mod/core.html#options) steuert, welche Serverfunktionen in einem bestimmten Verzeichnis verfügbar sind. Die Direktive XBitHack (http://httpd.apache.org/docs-2.0/mod/mod_include.html#xbithack) lässt für Dateien mit Execute-Bit das Parsen als SSI zu (siehe Abschnitt 46.5.1.1, „Serverseitige Includes (Einschlüsse) mit mod_include
“).
![]() | Wichtig |
|---|---|
Diese Einstellungen werden rekursiv auf das aktuelle Verzeichnis und seine Unterverzeichnisse angewandt. Die Optionen können mit Ausnahme von | |
AccessFileName legt die Namen der Dateien fest, die globale Zugriffsberechtigungen und andere Verzeichniseinstellungen überschreiben können (siehe Directory (Verzeichnis)).
Die Standardeinstellung ist .htaccess. Bei der Angabe mehrerer Dateien müssen Sie die einzelnen Dateien jeweils durch ein Leerzeichen trennen.
Gibt den Namen der Datei an, in der Apache Fehlermeldungen aufzeichnet. Als Alternative können Sie für die Protokollierung auch einen Befehl oder ein Skript angeben. Die Standardeinstellung ist /var/log/apache2/error_log.
Legt die Ausführlichkeit der aufgezeichneten Fehlermeldungen fest. Stufe kann folgende Werte haben (wobei nachfolgende Liste in aufsteigender Reihenfolge nach Ausführlichkeit bzw. in absteigender Reihenfolge nach Schweregrad der Meldung sortiert ist).
emerg
alert
crit
error
warn
notice
info
debug
Die Standardeinstellung warn empfiehlt sich für alltägliche Vorgänge. Zur Problembehebung liefern info und debug hilfreiche Informationen.
Wenn Sie mehrere Domänen oder Hostnamen auf einem physischen Gerät einrichten möchten, benötigen Sie VirtualHost-Container. Diese werden in den Konfigurationsabschnitten Virtual Hosts festgelegt. Weitere Informationen über die Syntax virtueller Hostdeklarationen und die Funktionalität von virtuellen Hosts finden Sie in Abschnitt 46.4, „Virtuelle Hosts“.
Zur Aktivierung des Apache-Webservers beim Hochfahren des Computers verwenden Sie den Runlevel-Editor von YaST. Um diesen zu starten, wählen Sie in YaST + aus. Navigieren Sie danach zum Eintrag . Wählen Sie aus, wenn Apache beim Hochfahren des Computers automatisch gestartet werden soll. Erfahrene Benutzer können diese Einstellung auch mit dem Befehlszeilentool chkconfig vornehmen: /sbin/chkconfig -a apache2.
Zum Starten oder Beenden von Apache verwenden Sie das Skript /usr/sbin/rcapache2 als Root-Benutzer. /usr/sbin/rcapache2 akzeptiert zum Starten und Beenden des Apache-Webservers folgende Parameter:
start
Startet den Apache-Webserver.
startssl
Startet den Apache-Webserver mit SSL-Unterstützung. Informationen zur Konfiguration von Apache mit SSL finden Sie in Abschnitt 46.3.1.3, „SSL-Unterstützung hinzufügen“ und Abschnitt 46.5.2.2, „Secure Sockets Layer und Apache: mod_ssl“.
stop
Beendet den Apache-Webserver.
configtest
Testet die Apache-Konfiguration, ohne die Stop-, Start- oder Neustartvorgänge tatsächlich auszuführen. Da dieser Test bei jedem Start, beim Laden oder bei einem Neustart des Servers automatisch ausgeführt wird, ist eine manuelle Ausführung des Tests in der Regel nicht erforderlich.
restart
Beendet den Webserver und startet ihn neu.
try-restart
Startet den Webserver neu, sofern er bereits läuft.
restart-hup
Startet den Webserver mittels SIGHUP-Signal neu. Dieses Signal wird normalerweise nicht verwendet.
graceful und reload
Beendet den Webserver erst, nachdem alle durch Forking erstellten Apache-Prozesse aufgefordert wurden, ihre Anforderungen vor dem Herunterfahren zu Ende zu führen. Anstelle der beendeten Prozesse werden neue Prozesse gestartet. Dies führt zu einem vollständigen „Neustart“ von Apache.
![]() | Tipp |
|---|---|
In Produktionsumgebungen ist rcapache2 | |
status
Überprüft den Laufzeit-Status des Apache-Webservers.
Beispiel 46.7. Beispielausgabe beim Starten und Beenden von Apache
tux@sun # rcapache2 status Checking for httpd2: unused tux@sun # rcapache2 configtest Syntax OK tux@sun # rcapache2 start Starting httpd2 (prefork) done tux@sun # rcapache2 status Checking for httpd2: running tux@sun # rcapache2 graceful Reload httpd2 (graceful restart) done tux@sun # rcapache2 status Checking for httpd2: running
Eine fehlerhafte Konfigurationsdatei kann dazu führen, dass Apache gar nicht oder nicht korrekt gestartet wird. Falls der Webserver gar nicht gestartet wird, erhalten Sie unter Umständen nicht einmal Fehlermeldungen. Überprüfen Sie bei jedem Start oder Neustart das Hauptfehlerprotokoll.