Jan Ulrich Hasecke
2020-01-10 48026e215fff16efc7d48c292a2de0720b43ff7c
commit | author | age
55531f 1 .. _kap-htaccess:
JUH 2
0a126d 3 ========
JUH 4 htaccess
5 ========
55531f 6
48026e 7 Das Verhalten des Apache Webservers lässt sich durch :file:`.htaccess`-Dateien im Verzeichnis einer Domain steuern.
JUH 8 Die zentrale Konfiguration lässt sich damit für einzelne Verzeichnisse überschreiben.
9 Eine :file:`.htaccess`-Datei wirkt sich auf das Verzeichnis aus, in dem sie sich befindet, und auf alle Unterverzeichnisse.
10 Konfigurationen, die es ermöglichen, dass der Webserver Rechte anderer User erhalten kann, sind dabei nicht erlaubt.
b8e066 11
48026e 12 Bereiche einer Website mit Passwort schützen
JUH 13 ============================================
0a126d 14
48026e 15 Ein typischer Anwendungsfall ist der Schutz eines bestimmten Verzeichnisses mit einem Passwort.
JUH 16 Dazu muss zunächst eine Passwort-Datei mit dem Namen :file:`.htpasswd` im :file:`etc`-Verzeichnis der Domain angelegt werden.
17 Dies erfolgt mit dem Programm :command:`htpasswd`.
0a126d 18
48026e 19 .. code-block:: console
9f8db6 20
48026e 21    xyz00-doms@h97:~$ cd ~/doms/hs-example.de/etc
JUH 22    xyz00-doms@h97:~$ htpasswd -c .htpasswd peter
23    New password: *****
24    Re-type new password: *****
25    xyz00-doms@h97:~$
0a126d 26
48026e 27 Statt der Sternchen geben Sie das gewünschte Passwort ein.
JUH 28 Es wird verschlüsselt gespeichert.
29 Die Option ``-c`` wird nur bei der ersten Anlage der Passwort-Datei gesetzt.
30 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.
0a126d 31
48026e 32 .. code-block:: console
JUH 33
34    xyz00-doms@h97:~$ cd ~/doms/hs-example.de/etc
35    xyz00-doms@h97:~$ htpasswd .htpasswd paula
36    New password: *****
37    Re-type new password: *****
38    xyz00-doms@h97:~$
39
40 Diese Passwort-Datei kann nun für beliebige Verzeichnisse der Domain genutzt werden.
41 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.
42
43 .. code-block:: text
44
45    order allow,deny
46    allow from all
47    require valid-user
48    Authname "Privater Bereich. Bitte melden Sie sich an."
49    Authtype Basic
50    AuthUserFile /home/doms/hs-example.de/etc/.htpasswd
51
52 Beim Aufruf des Bereichs im Webbrowser wird der Besucher aufgefordert, den Benutzernamen (in unserem Beispiel ``peter`` oder ``paula``) sowie das jeweilige Passwort einzugeben.
53
54 Weiterleitungen (Redirects)
55 ===========================
56
57 Ein anderer typischer Anwendungsfall sind Redirects.
58 Weiterleitungen werden benötigt, wenn alte Inhalte verschoben werden, sodass sie unter einer neuen Webadresse erreichbar sind.
59 Weiterleitungen verhindern, dass Links, die von anderen Webseiten auf den verschobenen Inhalt gesetzt wurden, ins Leere gehen.
60 Dazu können Sie eine :file:`htaccess`-Datei im obersten Verzeichnis anlegen, in dem Sie alle Weiterleitungen aufführen.
61
62 .. code-block:: text
63
64    Redirect permanent /alte-url-1/ /neue-url-1/ 
65    Redirect permanent /alte-url-2/ /neue-url-2/
66    Redirect permanent /alte-url-3/ /neue-url-3/
67
68 Eigene 404-Datei festlegen
69 ==========================
70
71 Wenn ein Benutzer auf Ihrer Website eine ungültige Webadresse aufruft, zeigt der Browser eine 404-Meldung an.
72 Sie können diese Standardanzeige anpassen, indem Sie den Webserver anweisen, bei einem 404-Fehler eine besondere Webseite anzuzeigen.
73
74 .. code-block:: text
75
76    ErrorDocument 403 /404.html
77
78 Weitere Möglichkeiten, das Verhalten des Webservers über :file:`htaccess`-Dateien zu steuern, finden Sie in der Apache-Dokumentation_.
79
80 .. _Apache-Dokumentation: https://httpd.apache.org/docs/2.4/