From 48026e215fff16efc7d48c292a2de0720b43ff7c Mon Sep 17 00:00:00 2001
From: Jan Ulrich Hasecke <jan.ulrich@hasecke.com>
Date: Fri, 10 Jan 2020 10:16:04 +0100
Subject: [PATCH] Übernahme einiger Beispiele aus dem Wiki

---
 source/referenz/htaccess.rst |   81 ++++++++++++++++++++++++++++++++++------
 1 files changed, 68 insertions(+), 13 deletions(-)

diff --git a/source/referenz/htaccess.rst b/source/referenz/htaccess.rst
index 1b4a2ee..e8e40f5 100644
--- a/source/referenz/htaccess.rst
+++ b/source/referenz/htaccess.rst
@@ -4,22 +4,77 @@
 htaccess
 ========
 
-.. todo:: Beispiele aus dem Wiki übernehmen?
+Das Verhalten des Apache Webservers lässt sich durch :file:`.htaccess`-Dateien im Verzeichnis einer Domain steuern.
+Die zentrale Konfiguration lässt sich damit für einzelne Verzeichnisse überschreiben.
+Eine :file:`.htaccess`-Datei wirkt sich auf das Verzeichnis aus, in dem sie sich befindet, und auf alle Unterverzeichnisse.
+Konfigurationen, die es ermöglichen, dass der Webserver Rechte anderer User erhalten kann, sind dabei nicht erlaubt.
 
-Konfigurationen, die es ermöglichen, dass der Webserver Rechte anderer User erhalten kann, sind nicht erlaubt.
-Dies betrifft folgende Funktionen: 
+Bereiche einer Website mit Passwort schützen
+============================================
 
-+-----------------------+
-| Funktion              |
-+=======================+
-| Options FollowSymlink |
-+-----------------------+
-| Options +Index        | 
-+-----------------------+
-| Options -Index        |
-+-----------------------+
+Ein typischer Anwendungsfall ist der Schutz eines bestimmten Verzeichnisses mit einem Passwort.
+Dazu muss zunächst eine Passwort-Datei mit dem Namen :file:`.htpasswd` im :file:`etc`-Verzeichnis der Domain angelegt werden.
+Dies erfolgt mit dem Programm :command:`htpasswd`.
 
-.. todo:: Wenn das so stehen bleibt, sollte ergänzt werden, dass die Option "-Index" pro Domain als Domainoption gesetzt werden kann. Statt "FollowSymlink" ist das gefahrlose "+SymLinksIfOwnerMatch" gesetzt. Dadurch werden durch den Webserver nur Symlinks auf die eigenen Dateien des Nutzers verfolgt. 
+.. code-block:: console
 
+   xyz00-doms@h97:~$ cd ~/doms/hs-example.de/etc
+   xyz00-doms@h97:~$ htpasswd -c .htpasswd peter
+   New password: *****
+   Re-type new password: *****
+   xyz00-doms@h97:~$
 
+Statt der Sternchen geben Sie das gewünschte Passwort ein.
+Es wird verschlüsselt gespeichert.
+Die Option ``-c`` wird nur bei der ersten Anlage der Passwort-Datei gesetzt.
+Wenn ein Passwort für einen zweiten Benutzer eingerichtet wird, muss :command:`htpasswd` ohne die Option aufgerufen werden, da sonst die Datei komplett überschrieben würde und das Passwort für den ersten Benutzer verloren ginge.
 
+.. code-block:: console
+
+   xyz00-doms@h97:~$ cd ~/doms/hs-example.de/etc
+   xyz00-doms@h97:~$ htpasswd .htpasswd paula
+   New password: *****
+   Re-type new password: *****
+   xyz00-doms@h97:~$
+
+Diese Passwort-Datei kann nun für beliebige Verzeichnisse der Domain genutzt werden.
+Um ein Verzeichnis mit einem Passwort zu schützen, legen Sie dazu einfach eine :file:`htaccess`-Datei mit folgendem Inhalt in dem betreffenden Verzeichnis an.
+
+.. code-block:: text
+
+   order allow,deny
+   allow from all
+   require valid-user
+   Authname "Privater Bereich. Bitte melden Sie sich an."
+   Authtype Basic
+   AuthUserFile /home/doms/hs-example.de/etc/.htpasswd
+
+Beim Aufruf des Bereichs im Webbrowser wird der Besucher aufgefordert, den Benutzernamen (in unserem Beispiel ``peter`` oder ``paula``) sowie das jeweilige Passwort einzugeben.
+
+Weiterleitungen (Redirects)
+===========================
+
+Ein anderer typischer Anwendungsfall sind Redirects.
+Weiterleitungen werden benötigt, wenn alte Inhalte verschoben werden, sodass sie unter einer neuen Webadresse erreichbar sind.
+Weiterleitungen verhindern, dass Links, die von anderen Webseiten auf den verschobenen Inhalt gesetzt wurden, ins Leere gehen.
+Dazu können Sie eine :file:`htaccess`-Datei im obersten Verzeichnis anlegen, in dem Sie alle Weiterleitungen aufführen.
+
+.. code-block:: text
+
+   Redirect permanent /alte-url-1/ /neue-url-1/ 
+   Redirect permanent /alte-url-2/ /neue-url-2/
+   Redirect permanent /alte-url-3/ /neue-url-3/
+
+Eigene 404-Datei festlegen
+==========================
+
+Wenn ein Benutzer auf Ihrer Website eine ungültige Webadresse aufruft, zeigt der Browser eine 404-Meldung an.
+Sie können diese Standardanzeige anpassen, indem Sie den Webserver anweisen, bei einem 404-Fehler eine besondere Webseite anzuzeigen.
+
+.. code-block:: text
+
+   ErrorDocument 403 /404.html
+
+Weitere Möglichkeiten, das Verhalten des Webservers über :file:`htaccess`-Dateien zu steuern, finden Sie in der Apache-Dokumentation_.
+
+.. _Apache-Dokumentation: https://httpd.apache.org/docs/2.4/
\ No newline at end of file

--
Gitblit v1.9.0-SNAPSHOT