Apache Webserver Grundkurs

Direktiven für Verzeichnisse und Dateien

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Passende Direktiven in der Konfigurationsdatei des Apache-Webservers regeln den Zugriff auf Verzeichnisse und Dateien sowie deren Sichtbarkeit.
08:06

Transkript

Ich möchte Ihnen nun zeigen, wie Sie ganze Verzeichnisse mit einer einfachen Direktive quasi vor den Augen der Bevölkerung verstecken können. Bzw. wie Sie dann eben prinzipiell mit Directories, bzw. mit Files umgehen können. Ich habe dafür jetzt eine neue Datei angelegt. Die heißt geheim.html. Und ich habe noch ein neues Verzeichnis angelegt, das heißt unter. Und in diesem Verzeichnis unter liegt geheim und geheimer. Wenn Sie sich übrigens fragen, wie es dazu kommt, dass jetzt der Index dieses Verzeichnisses angezeigt wird, dann kann ich Ihnen verraten, dass das an einer Direktive liegt, die eben dem Verzeichnis var/www mitgegeben wurde. Aber, schauen wir uns das Ganze mal aus der Nähe an. Ich öffne hier mal mein Terminal. Und zuerst schauen wir uns eben im besagten Verzeichnis var/www/html. Das ist unser document root für den Webserver. Schauen wir uns an, was hier liegt. Und da liegt eben auf der einen Seite meine geheim.html neben der normalen index.html. Und dann eben das Verzeichnis unter. Und wenn ich mir jetzt unter anschaue, dann sehe ich, dass ich darin eine Datei geheim und eine Datei geheimer liegen habe, und noch eine Sicherungskopie von geheimer. Ja, soweit sind die Dateien jetzt alle tatsächlich vorhanden. Und jetzt werden wir in unser Apache-Konfigurationsmenü wechseln. apache2 Und da liegt eben unsere apache2.conf. Und mit sudo gedit apache2.conf öffnen wir uns die Konfigurationsdatei in einem sehr gemütlichen Editor und schauen uns mal an, was wir hier tun können. Ich muss gestehen, dass ich in der Zwischenzeit hier den Servernamen hinterlegt habe, damit wir nicht dauernd eine Fehlermeldung beim Neustarten des Servers bekommen. Und habe hier ganz herunten bei den bereits vorhandenen Direktiven noch unterschiedliche Direktiven hinzugefügt, mit unterschiedlichen Ergebnissen, wenn wir sie ausführen lassen. Beim ersten Versuch geht es darum, dass im Directory unter, was im Wurzelverzeichnis var/www/html liegt. Von diesem Verzeichnis möchte ich, dass es nicht mehr angezeigt wird. Das heißt, der Zugriff auf dieses Verzeichnis soll verboten werden. Und das erreiche ich jetzt einfach nur damit, dass ich genau diese Stücke mit der Auskommentierung befreie. Ich speichere die Veränderung. Ich schließe mein gedit und muss jetzt natürlich noch mal das Service neu starten. sudo service apache2 restart Mein apache2 wird neu gestartet. Und das Ergebnis sollte jetzt sein, dass, wenn ich hier die Seite neu lade, dass ich eine Verbotsmeldung bekomme. Und die ist fixfertig generiert. Das heißt, mein Verzeichnis unter darf nicht von mir aufgerufen werden. Soweit hat das Ganze mal geklappt. Damit aber nicht genug. Wir können noch viel mehr erreichen. Und zwar ist das Zweite, was ich Ihnen zeigen möchte, das, wie Sie nicht ein ganzes Verzeichnis, sozusagen, sperren oder über ein ganzes Verzeichnis reden, sondern wie Sie ich kommentiere hier nur schnell wieder aus dafür sorgen, dass bestimmte Dateien mit einem bestimmten Namen nicht mehr angezeigt werden. Das mache ich mit Hilfe der Direktive zum Thema Files. Das ist eine andere Verzeichnis-Ebene. Da geht es jetzt wirklich um Dateien. Und zwar möchte ich, dass alle Dateien, die geheim.html heißen, nicht mehr ausgegeben werden. Und das wieder mit der einfachen Direktive Require, und zwar Require all denied. Gut, ich speichere diesen zweiten Versuch ebenfalls. Schließe wieder. Und muss das Service noch einmal neu starten. So. Und das heißt, wenn ich mir jetzt unter anzeigen lasse, bekomme ich eben nur geheimer ausgegeben. Und wenn ich versuchen würde, direkt unter localhost geheim.html auszugeben, dann funktioniert's. Warum? Das schauen wir uns jetzt noch mal an. Nein, hat eher nicht funktioniert. Das war nur noch im Cache drinne. Gut, das heißt, unabhängig vom Verzeichnis wenn eine Datei, in meinem Fall geheim.html heißt, wird sie nicht ausgeliefert. Sie können schon erahnen, wie man dieses einsetzen kann. Und vor allem, es bezieht sich ja nicht nur auf Require all denied. Es ist nur für mich jetzt einfacher, dieses als Beispiel zu nehmen. Und in einem dritten Versuch werden wir jetzt die Direktive kombinieren. Das heißt, wir kombinieren den Eintrag für ein Verzeichnis mit dem Eintrag für eine bestimmte Datei innerhalb des Verzeichnisses. So, damit ich nicht langsam in die Irre gehe, dieses werde ich jetzt wieder auskommentieren. Und habe dafür jetzt ganz herunten den letzten Vorschlag für die Direktive, Da, sehen Sie, folge ich einer bestimmten Hierarchie. Ich habe hier die Ebene des Verzeichnisses. Das heißt, alles, was sich im Verzeichnis www/html/geheim befindet, das ist ein Schreibfehler, da machen wir unter draus, und den Filenamen geheim beinhaltet, sollte nicht zugreifbar sein. Wir speichern wieder, schließen, starten den Server neu. Wunderbar! Wir haben ja eine ausgesprochen aussagekräftige Fehlermeldung. Und zwar jedes Mal, wenn ich in der Konfigurationsdatei schreibe, wird im Nachhinein kontrolliert, ob alles passt. Und es passt nicht alles. Ich habe einen Schreibfehler. Und zwar wird mir hier ziemlich genau gesagt wo. Also der Output zeigt, dass ich einen Schreibfehler in der Zeile 191 habe. Und zwar in etc/apache2. Hier wird erwartet, dass Directory steht, aber hier steht irgendwas Anderes Directories. Na, das sehen wir uns doch gleich aus der Nähe noch mal an. Das heißt, ich starte noch mal meinen Apache und laufe bis runter. Directories Sehen Sie? Hier ist der Fehler. Gut, wir machen daraus ein Directory. Speichern, schließen und starten den Server neu. Und jetzt ist doch alles OK. Und um zurück zu unserem Thema zu kommen. Dieses geheim sollte mir jetzt wieder angezeigt werden. So ist es auch, wenn es außerhalb des Verzeichnisses unter liegt. Aber im Verzeichnis unter sollte es nach wie vor kein geheim geben, sondern nur das geheimer. Sie sehen, dass man mit der Konfigurationsdatei ziemlich genaue Einstellungen treffen kann. Jetzt in einem sehr einfachen Beispiel nur mit dem Verweigern eines Zugriffs. Aber Sie sehen auch, dass das Arbeiten innerhalb der Konfigurationsdatei vom System selber auch gleich kontrolliert wird. Und es so ganz praktisch ist, wenn man nicht in irgendwelche irrigen Fehler hineinlaufen kann, man bekommt sofort die passenden Rückmeldungen.

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)
Derzeit sind keine Feedbacks vorhanden...
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!