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.