Im zweiten Anlauf ist mir in der vergangenen Nacht das Upgrade des Servers auf Debian Stretch geglückt. Damit ist etwas mehr als eine Woche nach dem Release von Debian Stretch die Hauptarbeit bereits abgeschlossen. Grundsätzlich habe ich direkte Upgrades auf die Nachfolgeversion von Debian bislang gemieden und stets auf eine (meistens deutlich spätere) Neuinstallation gesetzt. Auch diesmal stand dieser Weg bei mir ganz oben auf der Liste, allerdings habe ich mich dann doch relativ schnell für das Upgrade umentschieden – auch nachdem erste Berichte von einem grundsätzlich relativ reibungslosen Prozess berichteten. Bei vergangenen Debian Upgrades sah das zum Teil noch anders aus.
Das eigentliche Systemupgrade lief bei mir am problemlosesten, großartige Auseinandersetzungen mit Abhängigkeiten traten nicht zu Tage. Konfigurationsdateien diverser genutzter Pakete habe ich vorerst beibehalten und werde diese ggf. zu einem späteren Zeitpunkt gegenüber neuen Versionen vergleichen. Kritische Änderungen, die eine sofortige Aktion erfordern würden, gab es bei diesen nicht. Dies betraf vor allem Postfix und Dovecot, sodass der Mailserver auch weiterhin gewohnt seinen Dienst ohne direkten Eingriff verrichtet.
Apache und PHP kompiliere ich auf dem Server stets selbst, der Neueinstieg von OpenSSL 1.1 in Debian Stretch hat mir hier vor allem bei Apache das erste Problem beschert. Die kürzlich erschienene Apache Version 2.4.26 ist die erste, die OpenSSL 1.1 offiziell unterstützt – alles darunter führt zwangsläufig zu Frustrationen. Wichtig ist also, gleich die neuste Version zu wählen. Die aktuelle PHP Version 7.1.6 ist ebenfalls OpenSSL 1.1 kompatibel, auch wenn bei der Kompilierung noch einige Warnungen ausgespuckt werden. Die PHP Erweiterung curl erfordert zudem noch das Paket libcurl4-openssl-dev. Hier benötigt es dann noch einen Symlink, damit der Konfigurationsvorgang ohne Fehler durchläuft.
Das reguläre Upgrade auf Stretch betrifft vor allem bisherige Nutzer von MySQL, sofern die entsprechenden Debianpakete genutzt werden. Während des Upgrades findet dann ein automatischer Umstieg auf MariaDB statt. Mich hat dies nicht betroffen, da ich MySQL separat installiert habe. Die zugehörige MariaDB Library scheint zudem größtenteils MySQL-kompatibel zu sein, sodass sich auch Dovecot und Postfix daran nicht aufhängen. PHP nutzt über mysqlnd sowieso seine eigene MySQL-Library.
Der größte sichtbare Benefit mit dem Umstieg auf Debian Stretch war für mich die Möglichkeit, das HTTP/2 Modul des Apache Webservers zu aktivieren. Unter Debian Jessie war dies ohne Fallstricke nicht möglich, da die dortige OpenSSL Version und nötige libnghttp2 Bibliothek zu alt waren. Beides hat sich nun gelöst, sodass nach der Nachinstallation des libnghttp2-dev Pakets und anschließenden Kompilierung HTTP/2 final aktiviert werden konnte. Damit ist auch dieser letzte große Punkt auf der ToDo Liste verschwunden 🙂
Im Großen und Ganzen ist das Upgrade unter dem Strich also sehr weich verlaufen. Eine Neuinstallation hätte da weitaus mehr Zeit und Planung beansprucht. Auch wenn noch kleinere Nacharbeiten anstehen: der größte Teil ist geschafft und der Server damit für die nächste Zeit wieder auf dem aktuellsten Stand. Danke, liebes Debian Team!