Konfiguration des virtuellen Webservers
Viele VHost-spezifische Konfigurationseinträge können von den Benutzern selbst erstellt werden. Dazu dient das Programm myapacheconf
, das mit der zu verwendenden Konfigurationsdatei aufgerufen wird. Nach einer restriktiven Syntaxprüfung wird diese nach /var/www/FQDN/conf/user.conf
geschrieben und im Cluster verteilt (FQDN
ist der Servername, also z.B. www.oe.kit.edu).
Wir empfehlen die Konfiguration lokal unter $HOME/FQDN/conf/user.conf
abzuspeichern und diese Datei anzupassen.
Zur Aktivierung der geänderten Konfiguration ist dann folgender Befehl auszuführen:
myapacheconf -V FQDN < $HOME/FQDN/conf/user.conf
Die sich daraus ergebende Gesamtkonfiguration kann von jedem Server unter http://FQDN/server-info
abgerufen werden. Zusätzlich gibt es noch eine Status-Seite http://FQDN/server-status
, die auch der Loadbalancer zur Status-Überprüfung benutzt. Die PHP-Konfiguration lässt sich als http://FQDN/phpinfo.php
abrufen.
myapacheconf
überprüft die Konfiguration und verhindert das Verwenden von Direktiven, die die Sicherheit oder den stabilen Betrieb des Servers oder anderer Kunden-Instanzen gefährden könnten. Es kann aber nicht verhindern, dass bei falscher Verwendung der Betrieb oder die Verfügbarkeit des eigenen Auftritts beeinträchtigt werden. In Zweifelsfällen wenden Sie sich bitte vorab an unsere Webmaster.
Dadurch, dass die vom Benutzer selbst erstellte Konfiguration in alle Zugriffswege (d.h. unverschlüsselt über HTTP und verschlüsselt über HTTPS) eingespielt wird, lassen sich nicht alle Szenarien sauber abbilden. Insbesondere der Wunsch, den Zugang zu einem Web-Auftritt insgesamt nur in verschlüsselter Form zuzulassen (Seiten, die durch Authentifizierung geschützt sind, werden automatisch nur verschlüsselt übertragen!), ist so nicht einfach zu realisieren. Für genau diesen Fall gibt es aber eine serverseitige Konfiguration, die die entsprechenden Umleitungen automatisch vornimmt, die notwendigen Header setzt und auch in weiteren Details die Konfiguration anpasst, dabei aber z.B. das Monitoring des Servers über unsere Loadbalancer nicht beeinträchtigt. Wenden Sie sich bei solch einem Wunsch bitte an unsere Webmaster!
Ablösung der .htaccess-Funktionalität
.htaccess
-Dateien werden auf den virtuellen Webservern nicht ausgewertet. Die Inhalte der .htaccess
-Dateien müssen in die zentrale Konfigurationsdatei des Webservers eingetragen werden. Zum einfachen Transfer bietet das SCC das Script htaccess2myapacheconf an, das den angegebenen Verzeichnisbaum (oder das aktuelle Verzeichnis) nach .htaccess-Dateien absucht und sie mit entsprechenden <Directory> Direktiven ausgibt:
htaccess2myapacheconf -v FQDN/htdocs > $HOME/FQDN/conf/user.conf
Die so entstandene Datei $HOME/FQDN/conf/user.conf
kann dann nach o.g. Art in die Apachekonfiguration aufgenommen werden.
Beispiele für Zugangsschutz
Das Anlegen des Unterverzeichnisses conf und der Datei user.conf
$HOME/FQDN/conf/user.conf
sowie das Erstellen der Inhalte in die user.conf können auch über eine Windows-Netzlaufwerkverbindung und so mit einem Windows-Editor gemacht werden.
Zum Anlegen/Updaten der Passwortdatei mit dem Skript htpasswd sowie zum Aktivieren der Konfiguration mit myapacheconf müssen sie über ssh (z.B. über putty) auf den Webserver eingeloggt sein.
Im Folgenden ein paar Beispiele für die user.conf und das Generieren einer Passwortdatei (siehe auch Apache Authentication and Authorisation).
Pfade und Dateinamen entsprechend anpassen für den eigenen Auftritt.
Passwortgeschützter Aufruf des Verzeichnisses verzeichnis und dessen Inhalte:
<Directory /home/ws/abc-web-0001/servername.kit.edu/htdocs/verzeichnis>
AuthType Basic
AuthName "Name"
Require valid-user
AuthUserFile /home/ws/abc-web-0001/servername.kit.edu/conf/passwortdatei
</Directory>
Directory verzeichnis nur im KIT-Intranet aufrufbar:
<Directory /home/ws/abc-web-0001/servername.kit.edu/htdocs/verzeichnis>
Include /etc/apache2/include/kit
</Directory>
Die Mitglieder der genannten ldap-Gruppe können sich mit ihrem KIT-Account einloggen:
ldap-gruppenname ersetzen mit Namen der ldap-Gruppe
56789 ersetzen mit gidNummer der ldap-Gruppe
<Directory /home/ws/abc-web-0001/servername.kit.edu/htdocs/verzeichnis>
AuthName "Name"
Include /etc/apache2/include/auth_ldap
Require ldap-group cn=ldap-gruppenname,ou=Groups,ou=unix,ou=IDM,dc=kit,dc=edu
Require ldap-attribute gidNumber=56789
</Directory>
Mit der File-Directive können einzelne oder mehrere Dateien "geschützt" werden, Beispiel zeigt Passwortschutz für alle Dateien, PDFs etc. deren Namen mit int_ beginnt:
<Files int_*>
AuthType Basic
AuthName "Name"
Require valid-user
AuthUserFile /home/ws/abc-web-0001/servername.kit.edu/conf/passwortdatei
</Files>
Generieren der Passwortdatei mit dem Skript htpasswd:
htpasswd -cb passwortdatei loginname pass
generiert eine Datei mit Namen passwortdatei dem Benutzernamen loginname und dem Passwort pass
Weitere Optionen erhalten sie mit Aufruf von
htpasswd -h
Aktivieren der Konfiguration wie oben beschreiben mit Aufruf von
myapacheconf -V servername.kit.edu < $HOME/servername.kit.edu/conf/user.conf
Weiterleitung
Das Anlegen des Unterverzeichnisses conf und der Datei user.conf
$HOME/FQDN/conf/user.conf
sowie das Erstellen der Inhalte in die user.conf können auch über eine Windows-Netzlaufwerkverbindung und so mit einem Windows-Editor gemacht werden.
Einfache Weiterleitung von alte_adresse.php nach neue_seite.php:
RewriteEngine On
RewriteRule ^/alte_adresse.php$ /neue_seite.php [R,L]
Aktivieren der Konfiguration wie oben beschreiben mit Aufruf von
myapacheconf -V servername.kit.edu < $HOME/servername.kit.edu/conf/user.conf
PHP Konfigurations-Optionen
Mit dem Wechsel von PHP 5.6.14 auf 7.3.14 läuft PHP nicht mehr im Apache-Prozess, sondern in einem separaten FPM (FastCGI-Prozessmanager), d.h. Konfigurations-Optionen wie php_value werden jetzt in der Apache-Konfiguration nicht mehr akzeptiert, sondern müssen dem FPM mitgeteilt werden.
Die Einträge lassen sich nicht durch Apache-spezifische Optionen einschränken, z.B. auf ein bestimmtes Verzeichnis o.ä., Änderungen durch die Benutzer selbst sind nicht mehr möglich.
Falls sie Anpassungen der php-Optionen benötigen, wenden sie sich bitte an webmaster ∂ kit edu
HTTPS-Betrieb
Seit dem 31.03.2021 sind die Webserver auf einen reinen HTTPS-Betrieb umgestellt.