Eine neue Woche, neue Probleme Chancen, etwas zu verbessern. Am letzten Samstag hatten wir einen Ausfall eines Webhosting-Servers, bei dem die /tmp-Partition des Webhosting-Namespace vollgelaufen ist, PHP-FPM hat den Start verweigert. Dazu wurde am Sonntag ein Postmortem auf der Status-Seite veröffentlicht.
Daneben gab es noch weitere Änderungen. Wesentlich verbessert wurden die Shell-Cronjobs. Der PATH wird nun automatisch so angepasst, dass „php“ immer auf die in der Verwaltung ausgewählte PHP-Version zeigt (von z.B. cd wordpress && php wp-cron.php). PHP ist zudem auch – meine Oma würde sagen von hinten durch die Brust in’s Auge – ausführbar, wenn ein Cronjob ein PHP-Script ausführt, was dann wiederum per shell_exec o.ä. wiederum php ausführt. Das scheiterte vorher an einer AppArmor-Regel. Zudem ist als Standard-Shell nun nicht mehr /bin/sh sondern /bin/bash eingestellt.
Auch in der Webserver-Umgebung unter PHP-FPM wird der PATH nun wie unter der Cronjob-Umgebung so eingestellt, dass das php-Binary immer auf die Version der Web-Version zeigt, wenn der absolute Pfad nicht angegeben ist. Das sind kleine Änderungen, aber gerade bei den Cronjobs sind damit einige Problemchen, die häufiger in Support-Tickets auftauchten, behoben und die Cronjobs sind viel einfacher zu „bedienen“.
Die meisten sonstigen Änderungen sind am Admin-Panel, einem internen Dienst und Management-Scripts passiert, aber es gibt noch ein paar weitere erwähnenswerte Änderungen, die wir durchgeführt haben:
Verwaltung:
- Bugfix: im Domain-Check wurden bei Domains, welche nicht registrierbar sind und die deshalb keinen Preis haben, teilweise ein „500 Internal Server Error“ erzeugt, nun wird ein „Fehler bei der Prüfung“ angezeigt
- Bugfix: kaputte Symlinks haben dazu geführt, dass im Datei-Browser beim Erstellen von Subdomains und Webseiten ein Fehler angezeigt wurde, das Problem ist nun gelöst
Webhosting:
- Verbesserung: setze PATH für Cronjobs so, dass das bin-Verzeichnis der gewählten PHP-Version immer der erste Pfad mit php-Kommando im PATH ist
- Verbesserung: setze SHELL für Cronjobs auf /bin/bash
- Verbesserung: setze PATH für PHP-FPM so, dass das bin-Verzeichnis der gewählten PHP-Version immer der erste Pfad mit php-Kommando
im PATH ist - Verbesserung: erlaube max. 150.000 temporäre Dateien unter /tmp pro Kunde, bevor eine Bereinigung durchgeführt wird, damit nicht alle Inodes aufgebraucht werden
- Bugfix: behebe ein Problem, bei dem an das Zeilenende von Crontab-Einträgen ein Sonderzeichen geschrieben wurde
Das war’s dann für diese Woche. Das Wochenende wird nicht weniger warm, also wünsche ich ein schönes Wochenende!