Software und Betriebssystem

Virtuelle Webserver im Cluster

Das SCC betreibt ein ausfallsicheres Cluster von mehreren Servern hinter zwei Loadbalancern verteilt über zwei Standorte. Dadurch wird eine hohe Verfügbarkeit geboten. 

Die Webserver laufen immer auf allen Maschinen des Cluster. Beim Aufruf von www.oe.kit.edu im Browser wird man vom Loadbalancer auf einen der vier Server gelenkt. Möchte man diesen Server herausfinden, kann man den Aufruf 

https://www.oe.kit.edu/phpinfo.php

verwenden, der in der Zeile System den Servernamen enthält (z.B. "Linux web3 ..." --> Seiten des Auftrittes www.oe.kit.edu werden von web3 ausgeliefert).

Aktualisierung bzw. Migration

Das SCC führt regelmäßige Updates innerhalb einer Betriebssystem-Version zur Sicherstellung des Betriebs durch.

Um den Aufwand für notwendige Migrationen auf neue Betriebssystem-Versionen möglichst gering zu halten, werden LTS-Versionen (Long Time Support) verwendet. 

Bedingt durch die garantierte Wartung/Entwicklung der Betriebssysteme ergeben sich folgende Betriebszeiträume:

Server Betriebssystem max. Betrieb bis
web1, web2, web3, web4  Debian Buster voraussichtlich 30.06.2024
ehem. Debian Jessie  30.06.2020

Das letzte Betriebssystem-Update fand am 30. Juni 2020 statt und umfasste die Migration von Debian Jessie auf Buster. Das SCC informiert die betroffenen Server/Serverbetreiber vor Abschaltung bzw. Migration einzelner Server.

Derzeit installierte Software und Betriebssysteme auf web1 bis web4

Software Veränderung
Apache  Update von Version 2.4.10. auf 2.4.38. Unterstützung für HTTP/2
HTTPS (SSL) Das Zertifikat, das momentan unser Root-Zertifikat darstellt (DST Root X3), wird am 11.1.2021 durch ein eigenes Let's-Encrypt-Root-Zertifikat ersetzt.
Da dies in Betriebssystemen, die seit über fünf Jahren keine Updates mehr bekommen, noch nicht enthalten ist, werden wir vorraussichtlich unsere eigene Chain so ändern, dass weiterhin das bisherige Root-Zertifikat ausgeliefert wird. Das läuft aber am 1.9.2021 auch ab, und dann gibt es für veraltete Betriebssysteme keine Möglichkeit mehr, sicher auf unsere Sites zuzugreifen.
PHP

Wechsel PHP 5.6.14. auf 7.3.

Migrationsanleitungen auf PHP 7.0 auf PHP 7.1  auf PHP 7.2 auf PHP 7.3

Mediawiki Update von Version 1.27.1 auf 1.31.7

 

Zuvor installierte Software und Betriebssysteme bis 30.06.2020

Software Veränderung
Apache  Update von Version 2.2.22 auf 2.4.10. Dies erfordert ggf. Änderungen an der Konfiguration (vor allem im Bereich Authentifizierung/Authorisierung - inbesondere fallen Allow und Deny weg!); es gibt auch einige neue Features.
HTTPS (SSL) Die neuen Server sind so eingestellt, dass sie Perfect Forward Secrecy unterstützen; RC4 wird nicht mehr angeboten. Damit fällt der Support für IE6/IE8 auf Windows XP und Java 6/7 weg. IE ab Windows Vista und Java 8 werden unterstützt.
PHP Wechsel PHP 5.4.39 auf 5.6.14. Empfohlene Migrationsanleitung auf PHP 5.6.
Oracle Der Support für Oracle (OCI8) entfällt.
Mediawiki Update von Version 1.19.20 auf 1.27.1.


 

Testen vor dem Umzug

Einrichten der Testumgebung

Es empfiehlt sich folgende Vorgehensweise: 

auf dem eigenen Rechner (Linux, Cygwin unter Windows): 
   ssh -D 1080 Account@HOST
   z.B.: ssh -D 1080 oe-web-0001@web4.scc.kit.edu

Damit wird innerhalb der SSH-Verbindung ein Tunnel für einen lokalen SOCKS-Proxy aufgebaut.

Konfiguration von putty für "Socks-Tunnel"

  • Session -> Host Name (or IP address): test-web4.scc.kit.edu
  • Connection/Data -> Auto-login username: oe-web-0001
  • Connection/SSH/Tunnels -> wie im Screeshot eingeben und dann "Add" klicken.

 

Dieser lässt sich auf der Kommandozeile ansprechen:

 curl --socks5-hostname localhost https://FQDN/PATH
 z.B. curl --socks5-hostname localhost https://www.oe.kit.edu/server-status

oder im Browser (der natürlich auf der gleichen Maschine laufen muss wie der SSH-Client) als Proxy konfigurieren:

Firefox

  • Einstellungen -> Erweitert -> Netzwerk
  • Einstellungen
  • Manuelle Prox-Konfiguration:
  • SOCKS Host: localhost / Port: 1080 

 

Notwendige Anpassungen vornehmen

PHP7

Migrationsanleitung von PHP 5.6 nach PHP 7: https://www.php.net/manual/de/migration70.php

Folgende Extensions wurden entfernt: 

  • ereg
  • mssql
  • mysql
  • sybase_ct

 

user.conf

Falls der Aufruf der Seiten über die Proxy-Konfiguration nicht funktioniert, muss die user.conf des Webservers bzw. aller Webserver, die auf diesem Webaccount laufen, angepasst werden. Da diese auch auf dem laufenden System wirksam ist/sind, muss mit einer Kopie gearbeitet werden.

Dafür user.conf kopieren nach z.B. user.conf_web und in dieser Datei die Anpassungen vornehmen. Danach mit Aufruf von myapacheconf aktivieren:

myapacheconf -V www.oe.kit.edu <user.conf_web

 

Anpassungen an Programmen

Nicht funktionierende Programme am besten in einer Kopie testen oder eine neue Testumgebung aufsetzen, da die notwendigen Änderungen für die neue Version (php, perl etc.) ggf. nicht rückwärtskompatibel sind und es so zu Fehlern auf den laufenden Auftritten kommen könnte.