Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:apache_http_server_archlinux

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:apache_http_server_archlinux [2022/04/11 20:02] klaustachtler:apache_http_server_archlinux [2022/06/13 15:23] (aktuell) – [/etc/httpd/conf/httpd.conf - Teil 1] klaus
Zeile 1665: Zeile 1665:
   * <code apache>ServerAdmin webmaster@tachtler.net</code>   * <code apache>ServerAdmin webmaster@tachtler.net</code>
  
-E-Mail-Adresse des [[http://httpd.apache.org|Apache HTTP Server]]-Administrators für automatisch generierte Fehlermeldungensseiten. Wenn der [[http://httpd.apache.org|Apache HTTP Server]] bei der Beantwortung von Client-Anfragen auf Probleme stößt, wird eine angepasste Fehlermeldungsseite erzeugt, welche unter Umständen auch die zusätzliche Ausgabe eines Links mit der E-Mail-Adresse des [[http://httpd.apache.org|Apache HTTP Server]]-Administrators enthalten kann. \\ Siehe auch nachfolgenden externen Link: [[https://httpd.apache.org/docs/2.4/de/mod/core.html#serversignature|ServerSignature]]+E-Mail-Adresse des [[http://httpd.apache.org|Apache HTTP Server]]-Administrators für automatisch generierte Fehlermeldungensseiten. Wenn der [[http://httpd.apache.org|Apache HTTP Server]] bei der Beantwortung von Client-Anfragen auf Probleme stösst, wird eine angepasste Fehlermeldungsseite erzeugt, welche unter Umständen auch die zusätzliche Ausgabe eines Links mit der E-Mail-Adresse des [[http://httpd.apache.org|Apache HTTP Server]]-Administrators enthalten kann. \\ Siehe auch nachfolgenden externen Link: [[https://httpd.apache.org/docs/2.4/de/mod/core.html#serversignature|ServerSignature]]
  
   * <code apache>ServerName apache.tachtler.net:80</code>   * <code apache>ServerName apache.tachtler.net:80</code>
  
-Hostname und TCP-Port des [[http://httpd.apache.org|Apache HTTP Servers]]. Der hier angegeben Name dient **ausschließlich und __nur__ der Selbstindentifikation des [[http://httpd.apache.org|Apache HTTP Servers]].** Ob dieser auch für selbst referenzierende URLs benutzt werden soll, regelt nachfolgende Direktive: \\ Siehe nachfolgenden externen Link: [[https://httpd.apache.org/docs/2.4/de/mod/core.html#usecanonicalname|UseCanonicalName]]+Hostname und TCP-Port des [[http://httpd.apache.org|Apache HTTP Servers]]. Der hier angegeben Name dient **ausschliesslich und __nur__ der Selbstindentifikation des [[http://httpd.apache.org|Apache HTTP Servers]].** Ob dieser auch für selbst referenzierende URLs benutzt werden soll, regelt nachfolgende Direktive: \\ Siehe nachfolgenden externen Link: [[https://httpd.apache.org/docs/2.4/de/mod/core.html#usecanonicalname|UseCanonicalName]]
  
   * <code apache>Options -Indexes +FollowSymLinks</code>   * <code apache>Options -Indexes +FollowSymLinks</code>
Zeile 2060: Zeile 2060:
 :!: **HINWEIS** - **Der Zugriff auf diese URL-Erweiterung sollte durch eine Zugriffsbeschränkung eingeschränkt werden** :!: **HINWEIS** - **Der Zugriff auf diese URL-Erweiterung sollte durch eine Zugriffsbeschränkung eingeschränkt werden**
  
-Siehe auch nachfolgenden internen Link: [[tachtler:apache_http_server_archlinux|Apache HTTP Server ArchLinux]] ☚ FIXME+Siehe auch nachfolgende internen Links: 
 +  * [[tachtler:apache_http_server_archlinux#basic_authentifizierunghtpasswd|Apache HTTP Server ArchLinux - Basic Authentifizierung - Basic Authentifizierung: htpasswd]] 
 +  * [[tachtler:apache_http_server_archlinux#digest_authentifizierunghtdigest|Apache HTTP Server ArchLinux - Digest Authentifizierung - Digest Authentifizierung: htdigest]]
  
   * <code apache>ExtendedStatus On</code>   * <code apache>ExtendedStatus On</code>
Zeile 2076: Zeile 2078:
 :!: **HINWEIS** - **Der Zugriff auf diese URL-Erweiterung sollte durch eine Zugriffsbeschränkung eingeschränkt werden** :!: **HINWEIS** - **Der Zugriff auf diese URL-Erweiterung sollte durch eine Zugriffsbeschränkung eingeschränkt werden**
  
-Siehe auch nachfolgenden internen Link: [[tachtler:apache_http_server_archlinux|Apache HTTP Server ArchLinux]] ☚ FIXME+Siehe auch nachfolgende internen Links: 
 +  * [[tachtler:apache_http_server_archlinux#basic_authentifizierunghtpasswd|Apache HTTP Server ArchLinux - Basic Authentifizierung - Basic Authentifizierung: htpasswd]] 
 +  * [[tachtler:apache_http_server_archlinux#digest_authentifizierunghtdigest|Apache HTTP Server ArchLinux - Digest Authentifizierung - Digest Authentifizierung: htdigest]]
  
 ==== info-Konfiguration: Neustart ==== ==== info-Konfiguration: Neustart ====
Zeile 2150: Zeile 2154:
 ===== languages-Konfiguration ===== ===== languages-Konfiguration =====
  
-==== languages-Konfiguration: /etc/httpd/conf/extra/httpd-info.conf ====+==== languages-Konfiguration: /etc/httpd/conf/extra/httpd-language.conf ====
  
 ^ Verzeichnis/Name                                  ^ Beschreibung ^ ^ Verzeichnis/Name                                  ^ Beschreibung ^
Zeile 2317: Zeile 2321:
 (**__Nur relevanter Ausschnitt__**): (**__Nur relevanter Ausschnitt__**):
 <code apache> <code apache>
-... 
-... 
-... 
 # #
 # DocumentRoot: The directory out of which you will serve your # DocumentRoot: The directory out of which you will serve your
Zeile 2355: Zeile 2356:
     Require all granted     Require all granted
 </Directory> </Directory>
-... 
-... 
-... 
 </code> </code>
  
Zeile 2684: Zeile 2682:
 ===== Basic Authentifizierung ===== ===== Basic Authentifizierung =====
  
-Die einfachtste Art der Authetifizierung mittels ''basic'' Authentifizierung in Kombination mit einfachen Text-Dateien.+Die einfachste Art der Authentifizierung mittels ''basic'' Authentifizierung in Kombination mit einfachen Text-Dateien.
  
 ==== Basic Authentifizierung: htpasswd ==== ==== Basic Authentifizierung: htpasswd ====
Zeile 2756: Zeile 2754:
 (**__Nur relevanter Ausschnitt__**): (**__Nur relevanter Ausschnitt__**):
 <code apache> <code apache>
-... 
-... 
-... 
 # #
 # DocumentRoot: The directory out of which you will serve your # DocumentRoot: The directory out of which you will serve your
Zeile 2799: Zeile 2794:
     Require valid-user     Require valid-user
 </Directory> </Directory>
-... 
-... 
-... 
 </code> </code>
  
Zeile 2837: Zeile 2829:
 {{:tachtler:httpd:archlinux_apache_with_index.html.png|ArchLinux - Apache HTTP Server - Mozilla Firefox - index.html}} {{:tachtler:httpd:archlinux_apache_with_index.html.png|ArchLinux - Apache HTTP Server - Mozilla Firefox - index.html}}
  
 +===== Digest Authentifizierung =====
 +
 +Die einfachste und etwas sicherere Art der Authentifizierung mittels ''digest'' Authentifizierung in Kombination mit einfachen Text-Dateien.
 +
 +==== Digest Authentifizierung: htdigest ====
 +
 +Eine erheblich sicherere Methode, gegenüber der [[tachtler:apache_http_server_archlinux#basic_authentifizierunghtpasswd|Apache HTTP Server ArchLinux - Basic Authentifizierung - Basic Authentifizierung: htpasswd]] , stellt die [[tachtler:apache_http_server_archlinux#digest_authentifizierunghtdigest|Apache HTTP Server ArchLinux - Digest Authentifizierung - Digest Authentifizierung: htdigest]] dar.
 +
 +Bei der [[tachtler:apache_http_server_archlinux#digest_authentifizierunghtdigest|Apache HTTP Server ArchLinux - Digest Authentifizierung - Digest Authentifizierung: htdigest]] werden **__keine__ Klartextpasswörter** übertragen, sondern ein **MD5-Hash**, der aus den Anmeldedaten erzeugt wird.
 +
 +Mit nachfolgendem Befehl kann eine **__neue__** Passwortdatei innerhalb eines Verzeichnisses, hier z.B. 
 +  * ''/etc/httpd/conf''
 +wie folgt erzeugt werden:
 +<code>
 +# htdigest -c /etc/httpd/conf/.htdigest "Password protected area!" klaus
 +Adding password for klaus in realm Password protected area!.
 +New password: 
 +Re-type new password:
 +</code>
 +
 +**__Erklärungen__**:
 +
 +Die verwendeten Parameter haben nachfolgende Bedeutung:
 +
 +^ Parameter   ^ Erklärung                                                                           ^
 +| ''-c''      | Erstellt eine **__neue__ Passwortdatei** mit dem angegebenen Dateinamen             |
 +| ''/etc/httpd/conf/.htdigest'' | Pfad und Dateiname für die **Passwortdatei** - hier ''.htdigest'' |
 +| ''“Password protected area!”'' | Der **Realm**-Name, zu dem der Benutzername gehört               |
 +| ''klaus''   | **Benutzername**, welcher der Passwortdatei hinzugefügt werden soll                 |
 +
 +:!: **HINWEIS** - **Der Befehl __ohne__ die Option ''-c'' fügt einen weiteren Benutzer hinzu!**
 +
 +Mit nachfolgendem Befehl kann eine **__bestehende__** Passwortdatei innerhalb eines Verzeichnisses, hier z.B. 
 +  * ''/etc/httpd/conf/.htdigest''
 +wie folgt um einen **weiteren Benutzernamen __erweitert__** werden:
 +<code>
 +# htdigest /etc/httpd/conf/.htdigest "Password protected area!" petra
 +Adding user petra in realm Password protected area!
 +New password: 
 +Re-type new password:
 +</code>
 +
 +:!: **HINWEIS** - **Benutzer können durch einfaches entfernen der __jeweiligen Zeile aus der Passwortdatei__ __entfernt__ werden!**
 +
 +Nachfolgende Befehle setzen noch die richtigen **Besitz**- und **Datei**rechte für die soeben neu erstellt **Passwortdatei** - ''/etc/httpd/conf/.htdigest'':
 +
 +__**Besitz**rechte__:
 +<code>
 +# chown root.http /etc/httpd/conf/.htdigest
 +</code>
 +
 +__**Datei**rechte__:
 +<code>
 +# chmod 640 /etc/httpd/conf/.htdigest
 +</code>
 +
 +Mit nachfolgendem Befehl kann überprüft werden, ob die Erstellung und das Setzen der **Besitz**- und **Datei**rechte  wie gewünscht durchgeführt wurde
 +<code>
 +# ls -la /etc/httpd/conf/.htdigest
 +-rw-r----- 1 root http 128 Apr 11 20:20 /etc/httpd/conf/.htdigest
 +</code>
 +
 +Nachfolgender Befehl zeigt den Inhalt der **Passwortdatei** - ''/etc/httpd/conf/.htdigest'':
 +<code>
 +# cat /etc/httpd/conf/.htdigest
 +klaus:Password protected area!:31e5e4076b3e3519318b7611f8fb0eb5
 +petra:Password protected area!:b2313b18ddfd181c49f321002356a68a
 +</code>
 +
 +==== /etc/httpd/conf/httpd.conf - Teil 1 ====
 +
 +Anschliessend sind nachfolgende minimale Änderungen, hier an der Konfigurationsdatei 
 +  * ''/etc/httpd/conf/httpd.conf''
 +durchzuführen:
 +
 +(**__Nur relevanter Ausschnitt__**):
 +<code apache>
 +# Tachtler
 +# default: #LoadModule auth_digest_module modules/mod_auth_digest.so
 +LoadModule auth_digest_module modules/mod_auth_digest.so
 +</code>
 +
 +**__Erklärungen__**:
 +
 +  * <code apache># Tachtler
 +# default: #LoadModule auth_digest_module modules/mod_auth_digest.so
 +LoadModule auth_digest_module modules/mod_auth_digest.so</code>
 +
 +Um die [[tachtler:apache_http_server_archlinux#digest_authentifizierung|Apache HTTP Server ArchLinux - Digest Authentifizierung]] nutzen zu können, muss das [[http://httpd.apache.org|Apache HTTP Server]]**-Modul** - ''mod_auth_digest'' geladen werden.
 +
 +==== /etc/httpd/conf/httpd.conf - Teil 2 ====
 +
 +Anschliessend sind nachfolgende minimale Änderungen, hier an der Konfigurationsdatei 
 +  * ''/etc/httpd/conf/httpd.conf''
 +im Bereich **''DocumentRoot''** durchzuführen:
 +
 +(**__Nur relevanter Ausschnitt__**):
 +<code apache>
 +#
 +# DocumentRoot: The directory out of which you will serve your
 +# documents. By default, all requests are taken from this directory, but
 +# symbolic links and aliases may be used to point to other locations.
 +#
 +DocumentRoot "/srv/http"
 +<Directory "/srv/http">
 +    #
 +    # Possible values for the Options directive are "None", "All",
 +    # or any combination of:
 +    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
 +    #
 +    # Note that "MultiViews" must be named *explicitly* --- "Options All"
 +    # doesn't give it to you.
 +    #
 +    # The Options directive is both complicated and important.  Please see
 +    # http://httpd.apache.org/docs/2.4/mod/core.html#options
 +    # for more information.
 +    #
 +    # Tachtler
 +    # default: Options Indexes FollowSymLinks
 +    Options -Indexes +FollowSymLinks +MultiViews
 +
 +    #
 +    # AllowOverride controls what directives may be placed in .htaccess files.
 +    # It can be "All", "None", or any combination of the keywords:
 +    #   AllowOverride FileInfo AuthConfig Limit
 +    #
 +    AllowOverride None
 +
 +    #
 +    # Controls who can get stuff from this server.
 +    #
 +    # Tachtler
 +    # default: Require all granted
 +    AuthType Digest
 +    AuthName "Password protected area!"
 +    AuthDigestDomain "/" "http://apache.tachtler.net/"
 +    AuthDigestProvider file    
 +    AuthUserFile conf/.htdigest
 +    Require valid-user
 +</Directory>
 +</code>
 +
 +**__Erklärungen__**:
 +
 +  * <code apache>    # Tachtler
 +    # default: Require all granted
 +    AuthType Digest
 +    AuthName "Password protected area!"
 +    AuthDigestDomain "/" "http://apache.tachtler.net/"
 +    AuthDigestProvider file    
 +    AuthUserFile conf/.htdigest
 +    Require valid-user</code>
 +
 +Anstelle der **Standard Zugriffsrechte - ''Require all granted''** ist es erforderlich die vorhergehend gezeigt Konfiguration, welche minimal aus den Komponenten:
 +  * **''AuthType''** - Art der Authentifizierung
 +  * **''AuthName''** - **__Muss__ der definierte Realm sein !***
 +  * **''AuthDigestDomain''** - URIs, die sich im gleichen Schutzraum für die Digest-Authentifizierung befinden
 +  * **''AuthDigestProvider''** - Legt den/die Authentifizierungsanbieter für diesen Schutzraum fest
 +  * **''AuthUserFile''** - Relativer Pfad zur Direktive ''**ServerRoot**'' ''″/etc/httpd″''
 +  * **''Require valid-user''** - Zugriffsformulierung, hier "gültige Benutzer"
 +
 +==== Digest Authentifizierung: htdigest - Neustart ====
 +
 +Bevor **__weitere__** **Konfigurationsschritte** erfolgen, sollte ein **Neustart** erfolgen, was mit nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +# systemctl restart httpd.service
 +</code>
 +
 +:!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !**
 +
 +==== Digest Authentifizierung: htdigest - Test ====
 +
 +Wenn ein erneuter Neustart des [[http://httpd.apache.org|Apache HTTP Server]] erfolgreich durchgeführt wurde, kann die Abfrage mittels eines //Browsers// erfolgen, wie im nachfolgenden Bild dargestellt:
 +
 +{{:tachtler:httpd:archlinux_apache_with_basic_auth_htpasswd_dialog.png|ArchLinux - Apache HTTP Server - Mozilla Firefox - Basic Authentifizierung: htdigest - Dialog}}
 +
 +{{:tachtler:httpd:archlinux_apache_with_index.html.png|ArchLinux - Apache HTTP Server - Mozilla Firefox - index.html}}
 +
 +
 +===== Nützliche Befehle =====
 +
 +Nachfolgende Befehle können bei der Administration eines [[https://httpd.apache.org|Apache HTTP Servers]] nützlich sein. 
 +
 +:!: **HINWEIS** - **Die nachfolgende Auflistung erhebt __keinen__ Anspruch auf Vollständigkeit !**
 +
 +==== /usr/bin/apachectl ====
  
 +Der nachfolgende Befehl
 +  * ''/usr/bin/apachectl''
 +stellt das **Apache Server Control Interface** dar.
  
-FIXME :!: **Hier geht es weiter... / To be continued...**+Nachfolgende eine Auflistung der gebräuchlichsten Befehle unter Zuhilfenahme von ''apachectl'':
  
 +^ Befehl                                    ^ Beschreibung                                             ^
 +| <code>apachectl configtest</code>          | Syntaktische Überprüfung der kompletten Konfiguration     |
 +| <code>apachectl -t</code>                 | **Wie** ''configtest''                                    |
 +| <code>apachectl -v</code>                 | Ausgabe der Version                                      |
 +| <code>apachectl -V</code>                 | Ausgabe der Version und zusätzlicher Parameter           |
 +| <code>apachectl -l</code>                 | Ausgabe der einkompilierten Module                       |
 +| <code>apachectl -L</code>                 | Ausgabe aller möglichen Konfigurationsdirektiven          |
 +| <code>apachectl -t -D DUMP_VHOSTS</code>  | Auflistung aller konfigurierten virtuellen Hosts           |
 +| <code>apachectl -t -D DUMP_RUN_CFG</code> | Ausgabe der Laufzeit-Einstellungen                       |
 +| <code>apachectl -S</code>                 | **Wie** ''-t -D DUMP_VHOSTS'' und ''-t -D DUMP_RUN_CFG'' |
 +| <code>apachectl -t -D DUMP_MODULES</code> | Auflistung aller geladenen Module                         |
 +| <code>apachectl -M</code>                 | **Wie** ''-t -D DUMP_MODULES''                           |
  
tachtler/apache_http_server_archlinux.1649700148.txt.gz · Zuletzt geändert: 2022/04/11 20:02 von klaus