Apache Webserver Grundkurs

Aufbau der Konfigurationsdatei

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die Konfigurationsdatei des Apache-Webservers besteht ausschließlich aus Text, nimmt alle Einstellungen des Servers vor und regelt sämtliche Zugriffsrechte.
10:20

Transkript

Die Funktionalität eines Webservers als eines Apache steht und fällt mit der Konfiguration. Und die Konfigurationsdateien liegen alle ziemlich zentral beisammen. Wenn wir das für unser Ubuntu-System zum Beispiel anschauen, da liegen bei einer Installation über Ubuntu die entsprechenden Dateien in etc und apache2. Die Hauptkonfigurationsdatei bei Ubuntu ist apache2.conf für die Hauptkonfiguration. Und dann gibt's aber noch eine extra inkludierte Konfiguration allein für die Portbelegung. Und dann haben wir hier noch Konfigurationsdateien für einzelne Module. Wenn Sie sich ins Thema Konfigurationsdateien intensiv einarbeiten wollen, so bietet Apache selbst eine durchaus gründliche Dokumentation. Ich muss Sie nur vorwarnen. Es gibt im Moment in der Dokumentation 387 unterschiedliche Dokumentationen. Das heißt, ich kann nur ein bisschen an der Oberfläche kratzen und Ihnen mal prinzipiell sagen, worauf es ankommen könnte. Wenn Sie dann zu Detailproblemen kommen, werden Sie hier eher sich selbst in der Dokumentation umschauen müssen. Aber sehen wir uns jetzt stattdessen mal die apache2.conf an. Das ist eine voreingerichtete Dokumentation, die ubuntuspezifisch jetzt bereit gestellt wird. Es ist eine Textdatei. Alle Konfigurationsdateien sind lesbare Textdateien. Und Sie können davon ausgehen, wenn Sie hier vorne diese Rauten sehen, dann ist das etwas, das nennt sich "auskommentiert". Das heißt, hier stehen immer Erklärungen und wenn dann diese Rauten plötzlich einmal fehlen, dann kommt etwas tatsächlich zum Einsatz. Aber schauen wir uns das Ganze in Ruhe durch. Das Dokument fängt damit an, dass Sie hier einen Hinweis bekommen, wie die einzelnen Konfigurationsdateien aufgeteilt sind. Dass eben die Konfigurationen alle unter etc apache2 liegen. Dass die Hauptkonfiguration, die ist in der wir gerade stehen, nämlich apache2.conf. Dass zu dieser noch die eigene ports.conf gehört und dass es nachher noch Konfigurationsdateien gibt für sites-enabled und conf-enabled. Arbeiten wir uns mal prinzipiell durch. Hier haben wir die globalen Konfigurationseinstellungen, wobei eine davon zum Beispiel hier, diese hier, zwar auskommentiert ist, aber durchaus von Bedeutung. Und zwar geht's da, um den sogenannten server root. Und wie Sie sehen können, beschreibt das den absoluten Pfad für die Apache-Installation. Der ist wichtig, damit sich dann andere Teile auf diesen absoluten Pfad beziehen können. Dann haben wir hier einen Eintrag, der sich auf die Mitschriften des Servers bezieht, also auf die Logdateien. Und hier ein Stück weiter unten ebenfalls wichtig. Hier wird der Ort bestimmt, wo die Prozess-ID hinterlegt wird, wenn also der Apache startet. Timeout-der nächste Wert beschreibt eben die Zeit, die zur Verfügung steht, bevor, sozusagen, der Server aufgibt, und dann eben zurückgibt, dass es eine Zeitüberschreitung gibt. Ganz ähnlich verhält es sich mit dem KeepAlive. Das ist spannend, das ist ein Schalter, der kann auf ON oder OFF gestellt werden. Und der ist insofern wichtig, weil in früheren HTTP-Versionen war es so, dass für jede Anfrage an den Server und für jede Antwort dann ein eigenes TCP-Protokoll quasi bereit gestellt werden musste. Mit KeepAlive ist das etwas einfacher. Der Traffic wird etwas übersichtlicher, weil das heißt, dass mehrere Anfragen gesendet werden können, bevor man eine neue TCP-Verbindung braucht. Dann haben wir hier als nächsten Wert den MaxKeepAliveRequests. Der Wert ist insofern spannend, als er beschreibt, wieviele Prozesse, Kindprozesse aktiv sein müssen und auch aktiv bleiben dürfen. Dieser Wert ist spannend, wenn Sie dann schon mit einem aktiven Server arbeiten, weil dieser Wert massiv davon abhängt, bzw. die Performance hängt massiv davon ab, wie hoch dieser Wert ist, und zwar im Zusammenhang mit der Größe der Dateien, die bei Ihnen ausgeliefert werden. Wenn Sie also kleine, statische Webseiten haben, mit ganz vielen kleinen Dateien, dann sollte dieser Wert möglichst hoch sein. Haben Sie aber Webseiten mit großen, dicken Bilddateien, dann wäre es besser, diesen Wert klein zu halten, um die Performance des Gesamtservers nicht zu gefährden. Und schauen wir gleich ein Stück weiter. Hier, der nächste Eintrag KeepAliveTimeout. Da geht's drum, wie lange sich der Server Zeit lässt, also Apache Zeit lässt, bevor er eine bestehende Verbindung wieder abbaut. Die nächste Aussage betrifft die Benutzer und die Gruppen, die verwendet werden. Im Unterschied zu einer alten, früheren Meinung ist es so, dass die Apache-Dateien nicht root gehören sollten und auch nicht root Rechte drauf verwendet werden sollen. Ganz einfach deshalb, weil sonst, wenn Ihr Webserver korumpiert würde, der, der die Benutzerdaten herausbekommen hat, sonst die gesamten Daten für den gesamten Server hätte. Wenn Sie einen eigenen Apache-Benutzer mit einer eigenen Apache-Gruppe haben, ist dann zwar Ihr Webserver nicht mehr sicher und sollte dringendst verändert werden, aber das restliche System ist davon nicht betroffen. Und damit sparen Sie sich schon mal ziemlich viel Arbeit und ziemlich viel Aufwand. HostnameLookups Off ist insofern interessant, weil Ihnen das ziemlich viele Logdateieneinträge spart. Es heißt nämlich, dass dann es völlig reicht, wenn beim Mitschreiben die IP-Adressen mitgeschrieben werden, aber nicht versucht wird, diese auch noch aufzulösen. Sie können den Bereich auf ON stellen, wenn Sie Vermutungen haben, dass bestimmte IP-Adressen nicht allzu schicklich auf Ihren Server zugreifen. Hier herunten im nächsten Eintrag haben Sie stehen, wo die Logdateien, also die Errorlogdateien platziert werden. Und mit welchem Level Sie mitschreiben. Wenn Sie genauer schauen, haben Sie hier eben unterschiedliche Warnstufen oder Mitschreibstufen Und mit warn liegen Sie genau in der Mitte. debug würden Sie verwenden, wenn Sie noch im Erproben sind und im debug Modus jede Mitteilung brauchen können, die nur irgendwie greifbar ist. emerg-sie wäre schon für sehr ruhige Gemüter. Das heißt, da würde nur was mitgeschrieben werden, wenn es wirklich, wirklich, wirklich schon ans Händchen geht. Und hier herunten folgen jetzt noch zwei Include-Einträge. Das heißt, es gibt noch zusätzliche Dateien, die inkludiert werden, wie zum Beispiel eben die ports.conf, bzw. die Module. Und jetzt in einem zweiten Teil werden diverse Direktive beschrieben, die mal prinzipiell für den Server gelten, bzw. für den ganzen Rechner gelten. Diese erste Direktive, die sind immer gleich aufgebaut. Sie haben das Directory, sie haben die Art des Verzeichnisses. Und hier endet das Video und alles, was dazwischen steht, sind Anweisungen. Und hier können wir gleich lesen, dass für das root Verzeichnis als einzige Option, die erlaubt ist, diejenige, ist, dass symbolischen Links gefolgt werden darf. Die zweite Direktive AllowOverride None gilt dafür, dass keine von den htaccess Dateien drauf zugreifen dürfte. Auf dieses Verzeichnis ist das root Verzeichnis. Und bei Require all denied wird festgelegt, dass niemand über den Webserver selbst auf das root Verzeichnis, auf das generelle, zugreifen darf. Ganz anders ist das für das Verzeichnis usr/share. Da gilt auch AllowOverride None für die htaccess Dateien, aber Zugang ist möglich. Require all granted das heißt, der Zugang wird zugesichert. Dasselbe gilt für das Wurzelverzeichnis, in dem die Webseiten selbst liegen. Und hier haben wir noch eine Direktive für den Bereich srv. Wo bei den Optionen dabei steht, dass eben index-Dateien vorgesehen sind, das heißt, als Erstes wird geschaut, ob in einem Verzeichnis eine index-Datei liegt, eine index.html oder index.php. Wenn dort keine liegt, wird auf eine eigene verwiesen. Und damit haben Sie die wichtigsten Einträge, um einmal auf jeden Fall schon starten zu können. Und hier unten ist noch der Eintrag, dass es die Möglichkeit gibt, htaccess Dateien anzelegen. Und zur Vorsicht gibt es zu den htaccess Dateien passend noch einen kleinen Hinweis, der mit Hilfe von regulären Ausdrücken dafür sorgt, dass niemand von außerhalb auf diese htaccess Dateien zugreifen kann. Das gilt jetzt für alle Dateien, die mit .ht beginnen. Das heißt, für .htaccess, genauso wie für .htpasswd. Das sind nun mal Dateien, wo ebenfalls Konfigurationen drinnen stehen können, die aber nicht unbedingt von außen erfasst werden dürfen. Und den Abschluss bilden nachher noch Formatierungen für die Logeinträge, bzw. die tatsächliche Inkludierung von den Includes. Sie sehen, das ist mal eine Demonstration einer funktionierenden Konfigurationsdatei. Wie man an den Rädchen dreht, hängt dann eben davon ab, was Sie für einen Webserver betreiben.

Apache Webserver Grundkurs

Lernen Sie, wie Sie den Apache für den Einsatz als Web- und Test-Server installieren und konfigurieren.

3 Std. 50 min (42 Videos)
Sehr hilfreich - und trotzdem ein Problem
Anonym

Vorerst mal danke für die umfassende Schulung hat auf meinem Entwicklungssystem super funktioniert. Nun zum Problem: Habe mir einen Zweitrechner mit selbigem Betriebssystem besorgt das von nun an als Server fungiert. Beides sind Ubuntu-Mate 14.04LTS mit Apache2, MySQL, php7 und einer PHP-myadmin Installation. Später kommt noch eine Python Erweiterung. Erstmal wollte ich die Gesprächigkeit auf 0 reduzieren. Was er auf dem Entwicklungssystem einfach umsetzt will er auf meinem Öffentlichen Webserver einfach so gar nicht. Bei einem Restart erhalte ich eine Fehlermeldung die erst wieder verschwindet wenn ich die 2 Direktiven wieder enterne. Warum? Es sind idente Installationen - nur einmal eben aus nem PPA und einmal aus der Ubuntu-Quelle. Für meinen öffentlichen Server dachte ich mir nehm ich das ständig aktuellere PPA, so sind wenigstens die Sicherheitsaktualisierungen schneller eingespielt. Mit freundlichen Grüßen, Andreas B.

Hersteller:
Software:
Apache HTTP Server Apache Webserver 2.4
Exklusiv für Abo-Kunden
Erscheinungsdatum:09.10.2014
Aktualisiert am:17.03.2015

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!