Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
centos:web_c7:apache_1 [08.09.2014 06:42. ] – [named based default vHOST] djangocentos:web_c7:apache_1 [27.10.2015 13:53. ] – [erster (named based) vHOST] django
Zeile 1073: Zeile 1073:
 </file> </file>
  
-FIXME 
  
  
Zeile 1125: Zeile 1124:
 </code> </code>
  
-Ebenso kann der Status des Webservers mit Hilfe des Befehls **systemctl** abfragen+Ebenso kann man den Status des Webservers mit Hilfe des Befehls **systemctl** abfragen.
    # systemctl status httpd.service    # systemctl status httpd.service
 <code>httpd.service - The Apache HTTP Server <code>httpd.service - The Apache HTTP Server
Zeile 1371: Zeile 1370:
  
  
- +===== Anwendungen/WEB-Seiten ===== 
-===== erste Webseite =====+==== erste Webseite ====
 Da wir uns natürlich nicht mit der Standardfehlerseite unseres Apache-Webservers begnügen wollen legen wir uns unsere erste eigene minimalistische HTML-Seite an; hierzu benutzen wir den Editor unserer Wahl, z.B. **vim**. Das HTML-Dokument legen wir im **DocumentRoot** //**var/www/html/**// unseres Web-Servers an. Da wir uns natürlich nicht mit der Standardfehlerseite unseres Apache-Webservers begnügen wollen legen wir uns unsere erste eigene minimalistische HTML-Seite an; hierzu benutzen wir den Editor unserer Wahl, z.B. **vim**. Das HTML-Dokument legen wir im **DocumentRoot** //**var/www/html/**// unseres Web-Servers an.
   # vim /var/www/html/index.html   # vim /var/www/html/index.html
Zeile 1426: Zeile 1425:
 </code> </code>
  
-===== erster (named based) vHOST =====+==== erster (named based) vHOST ====
 Unser Web-Sever soll später für unterschiedliche (Sub-)Domains Seiten ausliefern. Wir werden hierzu **[[http://httpd.apache.org/docs/current/vhosts/examples.html|Name based virual Hosts]]** oder kurz **vHOSTs** einsetzen. Eine detailierte Beschreibung hierzu findet man unter anderem auch in der Beschreibung zu **[[http://httpd.apache.org/docs/current/vhosts/name-based.html|Unterstützung namensbasierter virtueller Hosts]]**. Unser Web-Sever soll später für unterschiedliche (Sub-)Domains Seiten ausliefern. Wir werden hierzu **[[http://httpd.apache.org/docs/current/vhosts/examples.html|Name based virual Hosts]]** oder kurz **vHOSTs** einsetzen. Eine detailierte Beschreibung hierzu findet man unter anderem auch in der Beschreibung zu **[[http://httpd.apache.org/docs/current/vhosts/name-based.html|Unterstützung namensbasierter virtueller Hosts]]**.
  
Zeile 1432: Zeile 1431:
  
 Zunächst legen wir uns auf unserem Server zwei Verzeichnisse für die beiden vHosts an. Zunächst legen wir uns auf unserem Server zwei Verzeichnisse für die beiden vHosts an.
-   # mkdir/var/www/vhost1+   # mkdir /var/www/vhost1
  
-   # mkdir/var/www/vhost2+   # mkdir /var/www/vhost2
  
 In den neuen Unterverzeichnissen stellen wir dann jeweils eine eigene **index-html**-Datei ein. In den neuen Unterverzeichnissen stellen wir dann jeweils eine eigene **index-html**-Datei ein.
Zeile 1549: Zeile 1548:
 Eine ausführliche Beschreibung und Dokumentationder einzelnen Konfigurations-Directiven und -Optionen findet man in der **[[http://httpd.apache.org/docs/2.4/de/vhosts/|Apache-Dokumentation zu virtuellen Hosts]]**. Eine ausführliche Beschreibung und Dokumentationder einzelnen Konfigurations-Directiven und -Optionen findet man in der **[[http://httpd.apache.org/docs/2.4/de/vhosts/|Apache-Dokumentation zu virtuellen Hosts]]**.
  
-===== named based default vHOST =====+==== named based default vHOST ====
 Setzen wir name-based-virtual-hosts ein, überprüft unser Webserver, ob im Request die IP-Adresse des Servers verwendet wurde. Anschließend werden dann alle <VirtualHost>-Abschnitte mit der benutzten IP-Adresse verglichen und geprüft, ob der gewählte Hostname zu einem ServerName oder der ServerAlias-Anweisung übereinstimmt. Bei einem positiven Ergebnis wird dann die konfiguration dieses vHOSTs verwendet, wie. z.B. in dem vorherigen Konfigurationsbeispiel. Wird jedoch kein passender vHOST gefunden, so wird die Konfiguration des ersten vHOSTS verwendet!  Setzen wir name-based-virtual-hosts ein, überprüft unser Webserver, ob im Request die IP-Adresse des Servers verwendet wurde. Anschließend werden dann alle <VirtualHost>-Abschnitte mit der benutzten IP-Adresse verglichen und geprüft, ob der gewählte Hostname zu einem ServerName oder der ServerAlias-Anweisung übereinstimmt. Bei einem positiven Ergebnis wird dann die konfiguration dieses vHOSTs verwendet, wie. z.B. in dem vorherigen Konfigurationsbeispiel. Wird jedoch kein passender vHOST gefunden, so wird die Konfiguration des ersten vHOSTS verwendet! 
  
Zeile 1561: Zeile 1560:
  
 Wir legen uns also hierzu einen speziellen vHOST an. Wir legen uns also hierzu einen speziellen vHOST an.
-   vim /etc/httpd/conf.d/10_default_vHost.conf+   vim /etc/httpd/conf.d/10_default_vHost.conf
  
 <file apache /etc/httpd/conf.d/10_default_vHost.conf># <file apache /etc/httpd/conf.d/10_default_vHost.conf>#
Zeile 1595: Zeile 1594:
    # systemctl reload httpd.service    # systemctl reload httpd.service
  
 +===== Authentifizierung für geschützte Bereiche =====
 +Nicht immer wollen wir Inhalte die unser WEB-Server zur Verfügung stellt, allen Besuchern zugänglich machen. Bestimmte vertrauliche Daten, sollen oft nur einem gewissen Teilnehmerkreis angeboten werden. Diese Besucher müssen sich dann mit Hilfe eines Namens und eines zugehörigen Passwortes zu erkennen geben. 
 +
 +In den folgenden beiden Konfigurationsbeispielen wollen wir nun an Hand zweier Beispiele diese Funktion einrichten.
 +==== Basic Authentifikation ====
 +Die einfachste Variante zum Anmeldevorgang ist die Variante **[[https://wiki.apache.org/httpd/PasswordBasicAuth|PasswordBasicAuth]]**. Die berechtigten Nutzer und die zugehörigen Passwörter sind in einer Konfigurationsdatei, die sich außerhalb des Webserverspeicherbereichs kurz //DocumentRoot// befindet.
 +
 +Mit Hilfe des Befehls **htpasswd** aus dem RPM **//httpd-tools//** verwalten wir die entsprechenden Userdaten.
 +
 +Haben wir noch keine Passwort-Datei angelegt, generieren wir dies mit folgendem Aufruf. Ob man nun einen Usernamen oder eine eMail-Adresse zur Authentifizierung verwenden ist egal.
 +   # htpasswd -c /etc/httpd/.htpasswd django@sec-mail.guru
 +
 +   New password: 
 +   Re-type new password:
 +
 +Das Passwort, welches wir 2x eingegeben hatten, wird standardmäßig als [[http://httpd.apache.org/docs/2.4/misc/password_encryptions.html|MD5-digest mit einem 32 salt]] gespeichert. Man erkennt dies an der Zeichenfolge **$apr1$**.
 +   # cat /etc/httpd/.htpasswd
 +
 +   django@sec-mail.guru:$apr1$YyiOChB1$FoEbQKJ.lgbVrD4lh7CN2.
 +
 +Wollen wir einen weiteren Nutzerhinzufügen rufen wir den Befehl **htpasswd** __ohne__ den Parameter **-c** auf.
 +   # htpasswd -/etc/httpd/.htpasswd django
 +
 +   New password: 
 +   Re-type new password:
 +
 +Es befinden sich nun zwei Anmeldenamen und deren zugehörigen verschlüsselten Passwörtern in der //**.htpasswd**//-Datei.
 +   # cat /etc/httpd/.htpasswd
 +
 +   django:$apr1$4lnKyN.k$A6mfy5g6yxOgZWn9IcCNg.
 +   django@sec-mail.guru:$apr1$YyiOChB1$FoEbQKJ.lgbVrD4lh7CN2.
 +
 +Haben wir alle Benutzer angelegt, geht es nun weiter mit der Konfiguration unseres vHOSTs.
 +
 +Beim betreffenden Beispiel, einem vHOST der die WEB-Anwendung **[[centos:mail_c7:pfadmin_1|PostfixAdmin]]** zur Verfügung stellt, tragen wir nun folgende Zeilen nach.
 +   # vim /etc/httpd/conf.d/vhost_443_postfixadmin.conf
 +
 +<code bash>...
 +
 + # Django : 2014-09-08 Konfigurationsbeispiel zur Basic Authenifikation mit Hilfe
 + # einer htpasswd-Datei
 + <Location />
 + Options +FollowSymLinks +Multiviews +Indexes
 + AllowOverride None
 + AuthType basic
 + AuthName "PostfixAdmin-Webserver"
 + AuthUserFile /etc/httpd/.htpasswd 
 +    Require valid-user django django@sec-mail.guru
 + </Location>
 +
 +...
 +</code>
 +
 +Damit unsere Änderungen aktiv werden bedarf es noch eines Reloads unseres httpdaemon.
 +   # systemctl reload httpd.service
 +
 +<WRAP center round important>
 +**WICHTIG:** \\
 +Damit die Anmeldedaten nicht von Dritten mitgelesen und abgefischt werden können, nutzen wir natürlich einen SSL-geschützten vHOST!
 +</WRAP>
 +
 +==== LDAPs Authentifikation ====
 +
 +{{page>centos:ldaps-auth-httpd&nofooter&noheader}}
  
 ====== Links ====== ====== Links ======
Zeile 1602: Zeile 1665:
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
 +~~AUTOTWEET:~~
  
  • centos/web_c7/apache_1.txt
  • Zuletzt geändert: 22.07.2019 14:59.
  • von 127.0.0.1