PHP 8.3 RC1 zum Testen verfügbar

Auf unseren Webservern steht ab heute der erste Release Candidate der kommenden PHP Version 8.3 zum Testen zur Verfügung. Die Release Candidate-Versionen von PHP dienen den PHP-Entwicklern zum Aufspüren von letzten Fehlern und Problemen, bevor die finale Version von PHP 8.3 voraussichtlich gegen Ende November erscheinen wird.

Mit dem Release Candidate können Sie testen, ob die von Ihnen genutzten PHP-Anwendungen bereits mit PHP 8.3 kompatibel sind, für den Produktivbetrieb sollten die Release Candidates jedoch aufgrund eventuell sicherheitsrelevanter Fehler nicht genutzt werden. Bis zur geplanten Veröffentlichung von PHP 8.3 werden noch 5 weitere Release Candidate-Versionen erscheinen, die wir dann zeitnah auf den Webservern installieren werden.

Neuerungen in PHP 8.3

Die für viele Endanwender wichtigste Verbesserung bei neuen PHP-Versionen ist eine höhere Ausführungsgeschwindigkeit, wir konnten in ersten Tests jedoch keine signifikanten Performance-Unterschiede zwischen PHP 8.3 und der Vorgängerversion 8.2 feststellen.

Für JSON-Zeichenketten gibt es nun eine Funktion json_validate(), mit der diese auf syntaktische Gültigkeit geprüft werden kann. Bisher musste dazu die Funktion json_decode() genutzt werden, die jedoch deutlich langsamer ist und wesentlich mehr Speicher benötigt, was bei sehr langen JSON-Zeichenketten zu Problemen führen kann.

Eine weitere Neuerung ist das Attribut #[Override], mit dem eine Methode anzeigen kann, dass sie eine Methode einer übergeordneten Klasse überschreibt. Falls sich der Name oder die Signatur der Methode in der übergeordneten Klasse ändert, würde dies normalerweise unbemerkt bleiben, und könnte zu unerwarteten Problemen führen. Durch das Override-Attribut würde es in diesem Fall eine eindeutige Fehlermeldung geben, und die Anwendungsentwickler können das Problem sofort erkennen und beheben.

Die in PHP-Version 8.2 modernisierte Random-Extension wurde außerdem um einige neue Funktionen erweitert. Besonders interessant ist die Funktion getBytesFromString(), die eine Zeichenkette mit vorgegebener Länge aus vorgegebeben Zeichen erzeugt, damit lassen sich z.B. sehr einfach Passwörter generieren.

Da es in PHP 8.3 kaum schwerwiegende nicht abwärtskompatible Änderungen zur Vorgängerversion 8.2 gibt, sollten viele Web-Anwendungen bereits mit PHP 8.3 kompatibel sein.

PHP 8.3 aktivieren

Sie können PHP 8.3 wie gewohnt über das Kundenmenü oder auf den Webservern per .htaccess-Konfigurationsdatei mittels folgender Direktive auswählen:

AddHandler application/x-httpd-php83 .php

PHP 8.0 End of Life

Mit der gegen Ende November geplanten Veröffentlichung der finalen Version von PHP 8.3 stellen die PHP-Entwickler die Unterstützung der PHP-Version 8.0 vollständig ein, für die PHP Version 8.1 wird es ab dann nur noch Updates bei sicherheitskritischen Fehlern geben. Falls Sie noch eine ältere PHP-Version als 8.1 für Ihre Web-Anwendungen nutzen, sollten Sie diese möglichst bald auf PHP 8.1 oder neuer umstellen.

Probleme mit Leerzeichen in Apache Rewrite Regeln

Wir haben heute früh ein Update der Webserver-Software Apache auf die aktuelle Version 2.4.56 eingespielt. Seit diesem Update gibt es nun vereinzelt Probleme beim Aufruf von URLs mit Leerzeichen.

Fehlermeldung

Falls Sie eine URL mit einem Leerzeichen aufrufen, erhalten Sie unter Umständen seit heute früh die folgende Fehlermeldung:

Forbidden

You don’t have permission to access this resource.

In den Error Logs findet sich dann folgender Fehler:

Rewritten query string contains control characters or spaces

Besonders häufig betroffen sind die Content Management Systeme Drupal und MODX, die problematische Rewrite-Regeln in der automatisch generierten .htaccess-Konfigurationsdatei verwenden.

Fehlerursache

Die Ursache für den Fehler ist ein fehlendes Escaping von Sonderzeichen in den Rewrite Regeln einer .htaccess-Konfigurationsdatei. Das Escaping von Sonderzeichen in Rewrite Strings war bis Apache Version 2.4.55 optional, seit Version 2.4.56 ist es aus Sicherheitsgründen (CVE-2023-25690) verpflichtend.

Sie können das Escaping über die Flags B (bei Umleitung auf Query Strings) bzw. BNP (bei Umleitung auf Pfade) aktivieren. Weitere Informationen finden Sie in der Apache-Dokumentation.

Beispiel

Die folgende Rewrite Regel des MODX Content Management Systems erzeugt bei Leerzeichen in der URL eine Fehlermeldung:

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Um die Fehlermeldung zu beheben, muss die Regel wie folgt geändert werden:

RewriteRule ^(.*)$ index.php?q=$1 [B,L,QSA]

PHP 8.2 ist verfügbar

Das Entwicklerteam der für Web-Anwendungen häufig genutzten Programmiersprache PHP stellt traditionell gegen Ende des Jahres eine neue Version der Programmiersprache bereit. Heute ist die neue Version 8.2 veröffentlicht worden, die wir gerade auf allen Webservern installiert haben.

Da es sich um ein sogenanntes Minor-Release handelt, halten sich die nicht abwärtskompatiblen Änderungen zur Vorgängerversion in Grenzen, viele bekannte PHP-Anwendungen wie WordPress sind daher bereits mit der neuen PHP-Version nutzbar.

Neuerungen und Änderungen in PHP 8.2

Die für die meisten Nutzer:innen wichtigste Verbesserung bei neuen PHP-Versionen ist eine höhere Ausführungsgeschwindigkeit, wodurch sich die Seitenladezeit von Web-Anwendungen wie WordPress reduziert. Wir konnten in ersten Tests Verbesserungen von bis zu 5% feststellen.

Eine für viele PHP-Entwickler nützliche neue Funktion ist mysqli_execute_query(), die mysqli_prepare(), mysqli_execute() und mysqli_stmt_get_result() in einem einzigen Aufruf verbindet. Diese Funktion kann ähnlich einfach wie mysqli_query() genutzt werden, ist aber nicht für sogenannte SQL Injection Angriffe anfällig. Parameterwerte werden wie bei Prepared Statements mit den Platzhalter ? übergeben, z.B.:

foreach ($db->execute_query('SELECT * FROM user WHERE name LIKE ? AND type_id IN (?, ?)', [$name, $type1, $type2]) as $row) {
    print_r($row);
}

Eine weitere sinnvolle Verbesserung betrifft den Schutz von vertraulichen Daten. Bei unerwarteten Fehlern während der Ausführung eines PHP-Scripts werden häufig sogenannte Stack Traces ausgegeben, um die Fehleranalyse zu erleichtern. Dabei können unter Umständen jedoch auch vertrauliche Parameter wie Datenbankpasswörter ausgegeben werden, z.B:

PDOException: SQLSTATE[HY000] [2002] No such file or directory in /homepages/u123456/test.php:3
Stack trace:
#0 /homepages/u123456/test.php(3): PDO->__construct('mysql:host=db1', 'u123456', 'Geheimes Passwort')
#1 {main}

Um dies zu verhindern, können solche vertraulichen Parameter nun durch das Attribut \SensitiveParameter geschützt werden, z .B.:

<?php
 
function test(
    $foo,
    #[\SensitiveParameter] $bar,
) {
    throw new \Exception('Error');
}
 
test('foo', 'bar');
 
/*
Fatal error: Uncaught Exception: Error in test.php:8
Stack trace:
#0 test.php(11): test('foo', Object(SensitiveParameterValue))
#1 {main}
  thrown in test.php on line 8
*/

Eine für die Zukunft wichtige Änderung ist die Abkündigung der Unterstützung von sogenannten dynamischen Properties. Bisher konnten in PHP beliebige Properties zu Objekten hinzugefügt werden, auch wenn diese gar nicht in der Klasse definiert waren, z.B.:

class User{
  public string $name;
}

$user = new User();
$user->email = 'dynamic@property.com';

Diese dynamischen Properties gelten nun als veraltet und werden in einem späteren PHP Major Release gestrichen.

Eine Übersicht über alle Änderungen und Neuerungen in PHP 8.2 sowie Hinweise zum Wechsel von älteren PHP-Versionen finden Sie hier.

PHP 8.2 aktivieren

Sie können PHP 8.2 wie gewohnt über das Kundenmenü oder auf den Webservern per .htaccess-Konfigurationsdatei mittels folgender Direktiven auswählen:

AddHandler application/x-httpd-php82 .php

PHP 7.4 End of Life

Mit der Veröffentlichung von PHP 8.2 stellen die PHP-Entwickler die Unterstützung der PHP-Version 7.4 vollständig ein, für die PHP Version 8.0 wird es ab dann nur noch Updates bei sicherheitskritischen Fehlern geben.

Sie können PHP 7.4 weiterhin auf unseren Webservern nutzen, wir werden für PHP 7.4 und für alle anderen veralteten PHP-Versionen regelmäßig zurückportierte Sicherheitsupdates von neueren PHP-Versionen bereitstellen. Diese Updates werden jedoch nur bei schwerwiegenden Sicherheitsproblemen bereitgestellt, kleinere Fehler werden nicht mehr behoben.

Falls Sie noch eine ältere PHP-Version als 8.0 für Ihre Web-Anwendungen nutzen, sollten Sie diese möglichst bald auf PHP 8.0 oder neuer umstellen.

PHP 8.2 RC1 zum Testen verfügbar

Wir haben auf unseren Webservern den ersten Release Candidate der kommenden PHP Version 8.2 installiert. Die Release Candidate-Versionen dienen zum Aufspüren von letzten Fehlern und Problemen, bevor die finale Version von PHP 8.2 voraussichtlich gegen Mitte November veröffentlicht wird.

Sie können damit testen, ob die von Ihnen genutzten PHP-Anwendungen mit PHP 8.2 kompatibel sind, für den dauerhaften Produktivbetrieb sollten die Release Candidates jedoch nicht genutzt werden. Sobald weitere Release Candidates erscheinen, aktualisieren wir diese umgehend auf unseren Servern.

Neuerungen in PHP 8.2

Die für die meisten Nutzer:innen wichtigste Verbesserung bei neuen PHP-Versionen ist eine höhere Ausführungsgeschwindigkeit, wodurch sich die Seitenladezeit von Web-Anwendungen wie WordPress reduziert. Wir konnten in ersten Tests Verbesserungen von bis zu 5% feststellen.

Eine für viele PHP-Entwickler nützliche neue Funktion ist mysqli_execute_query(), die mysqli_prepare(), mysqli_execute() und mysqli_stmt_get_result() in einem einzigen Aufruf verbindet. Diese Funktion kann ähnlich einfach wie mysqli_query() genutzt werden, ist aber nicht für sogenannte SQL Injection Angriffe anfällig.

Bei unerwarteten Fehlern während der Ausführung eines PHP-Scripts werden häufig sogenannte Stack Traces ausgegeben, um die Fehleranalyse zu erleichtern. Dabei können unter Umständen jedoch auch vertrauliche Parameter wie Datenbankpasswörter ausgegeben werden. Um dies zu verhindern, können solche vertraulichen Parameter nun durch das Attribut \SensitiveParameter geschützt werden.

Eine Übersicht über alle Änderungen und Neuerungen in PHP 8.2 sowie Hinweise zum Wechsel von älteren PHP-Versionen finden Sie hier.

PHP 8.2 aktivieren

Sie können PHP 8.2 wie gewohnt über das Kundenmenü oder auf den Webservern per .htaccess-Konfigurationsdatei mittels folgender Direktiven auswählen:

AddHandler application/x-httpd-php82 .php

PHP 7.4 End of Life

Mit der gegen Mitte November geplanten Veröffentlichung der finalen Version von PHP 8.2 stellen die PHP-Entwickler die Unterstützung der PHP-Version 7.4 vollständig ein, für die PHP Version 8.0 wird es ab dann nur noch Updates bei sicherheitskritischen Fehlern geben. Falls Sie noch eine ältere PHP-Version als 8.0 für Ihre Web-Anwendungen nutzen, sollten Sie diese möglichst bald auf PHP 8.0 oder neuer umstellen.

PHP 8.1 verfügbar

Das Entwicklerteam der von Web-Anwendungen am häufigsten genutzten Programmiersprache PHP stellt jedes Jahr gegen Ende November eine neue Version der Programmiersprache bereit.

Heute (25.11.2021) wurde die PHP-Version 8.1 veröffentlicht. Wir haben diese neue PHP-Version bereits auf allen Webservern installiert, so dass Sie sie ab sofort nutzen können.

Änderungen in PHP 8.1

Da es sich bei PHP 8.1 um ein Minor-Release handelt, fallen die nicht zu den Vorgängerversionen abwärtskompatiblen Änderungen eher geringfügig aus. Dennoch kann es bei einigen Web-Anwendungen zu Fehlern bei der Nutzung von PHP 8.1 kommen, die jedoch in den kommenden Wochen und Monaten durch Updates dieser Anwendungen behoben werden sollten.

Eine Änderung, die zu Problemen führen kann, ist die Änderung der Standardeinstellung für die MySQLi-Fehlerbehandlung. Bisher war die Standardeinstellung MYSQLI_REPORT_OFF, damit wurden eventuelle Fehler nicht abgefangen, und die Programmausführung im Fehlerfall einfach fortgesetzt. In PHP 8.1 ändert sich die Standardeinstellung auf MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT, damit wird im Fehlerfall eine Exception generiert. Falls diese Exception nicht behandelt wird, können Programme jetzt Fehler anzeigen.

Eine Übersicht über alle Änderungen und Neuerung in PHP 8.1 finden Sie hier.

Neuerungen in PHP 8.1

In PHP 8.1 wurde ein neuer Datentyp für sogenannte Enumerations (enum) hinzugefügt. Eine Enumeration kann eine feste Anzahl an beliebig vorgegebenen Werten annehmen. Eine Enumeration könnte beispielsweise genutzt werden, um die verschiedenen Farben eins Kartenspiels abzubilden:

enum Suit {
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}

Eine wichtige Neuerung sind die sogenannten Fibers, damit können in PHP mehrere Aufgaben nebenläufig ausgeführt werden. Es handelt sich jedoch nicht um echte Parallelität; wird ein Fiber gestartet, so wird das Hauptprogramm angehalten, bis der Fiber unterbrochen oder beendet wird . Dieses Feature richtet sich hauptsächlich an Entwickler von PHP-Frameworks, die damit beispielsweise Event Loops implementieren können.

Eine weitere Neuerung ist der sogenannte Inheritance Cache für OpCache. Bisher wurden Vererbungsbeziehungen zwischen Klassen in OpCache nicht vollständig aufgelöst zwischengespeichert, so dass dies immer zur Laufzeit geschehen musste (Linking). Dieser Vorgang ist relativ aufwändig und verlangsamt den Programmstart. In PHP 8.1 werden Klassen jetzt vollständig gelinkt im OpCache zwischengespeichert, dies führt zu einer Performance-Verbesserung von bis zu 8%.

Verbesserungen in PHP 8.1

Wir konnten in ersten Tests eine Verbesserung der Ausführungsgeschwindigkeit von bis zu 10% im Vergleich zur Vorgängerversion PHP 8.0 feststellen. Durch die Umstellung auf PHP 8.1 kann sich die Seitenladezeit von Web-Anwendungen wie WordPress also etwas verbessern.

PHP 8.1 aktivieren

Sie können PHP 8.1 wie gewohnt entweder über unser Kundenmenü aktivieren, oder per .htaccess-Konfgurationsdatei im gewünschten Anwendungsverzeichnis mittels folgender Direktiven:

AddHandler application/x-httpd-php81 .php

Einschränkungen auf Legacy-Webservern

Beachten Sie bitte, dass Sie PHP 8.1 auf unseren Legacy-Webservern mit Unterstützung für PHP-Versionen älter als PHP 5.6 nicht im vollen Funktionsumfang nutzen können.

Da in PHP 8.1 die Unterstützung für ältere Versionen der Verschlüsselungsbibliothek OpenSSL entfernt wurde, kann dort die OpenSSL-Extension nicht genutzt werden, und es fehlt die Wrapper-Unterstützung für HTTPS und andere verschlüsselte Protokolle.

Von dieser Einschränkung sind nur Kunden und Reseller betroffen, die Hosting-Pakete auf einem Legacy-Webserver gebucht haben, da sie eine ältere PHP-Version als PHP 5.6 benötigen.

PHP 7.4 Security-only-Support

Ab dem 28. November 2021 werden die regulären Entwicklungsarbeiten an der PHP-Version 7.4 eingestellt. Es wird ab dann dann noch für ein weiteres Jahr regelmäßige Updates durch das PHP-Entwicklerteam bei sicherheitsrelevanten Problemen geben, kleinere Fehler werden jedoch nicht mehr behoben.

PHP 7.3 End-of-Life

Ab dem 6. Dezember 2021 wird die Unterstützung der PHP Version 7.3 eingestellt, es wird dann keine weiteren Updates für diese PHP-Version durch das PHP-Entwicklerteam mehr geben. Sie sollten diese PHP-Version daher nach Möglichkeit nicht mehr nutzen. Wir werden jedoch bei schweren sicherheitsrelevanten Problemen zurückportierte Updates aus neueren PHP-Versionen bereitstellen.

PHP 8.1 RC3 zum Testen verfügbar

Auf unseren Webservern steht ab sofort der dritte Release Candidate der kommenden PHP-Version 8.1 zu Testzwecken zur Verfügung.

Beachten Sie dabei bitte, dass es sich noch nicht um die endgültige Release-Version handelt, die planmäßig gegen Ende November erscheinen soll. Bis dahin werden insgesamt 6 Release Candidate Versionen erscheinen, die nur zu Testzwecken genutzt werden sollten.

Mit dem Testen der Release Candidate Versionen können Sie die PHP Entwickler bei der Suche nach letzten Fehlern und Problemen unterstützen und die Kompatibilität Ihrer Web-Anwendungen mit der neuen PHP-Version testen.

Änderungen in PHP 8.1

Da es sich um ein neues Minor-Release handelt, fallen die nicht abwärtskompatiblen Änderungen zur Vorgängerversion 8.0 nur geringfügig aus.

Eine Änderung, die zu Problemen führen kann, ist die Änderung der Standardeinstellung für die MySQLi-Fehlerbehandlung. Bisher war die Standardeinstellung MYSQLI_REPORT_OFF, damit wurden eventuelle Fehler nicht abgefangen, und die Programmausführung im Fehlerfall einfach fortgesetzt. In PHP 8.1 ändert sich die Standardeinstellung auf MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT, damit wird im Fehlerfall eine Exception generiert. Falls diese Exception nicht behandelt wird, können Programme jetzt Fehler anzeigen.

Eine Übersicht über alle Änderungen und Neuerung in PHP 8.1 finden Sie hier.

Neuerungen in PHP 8.1

Eine wichtige Neuerung sind die sogenannten Fibers, damit können in PHP mehrere Aufgaben nebenläufig ausgeführt werden. Es handelt sich jedoch nicht um echte Parallelität; wird ein Fiber gestartet, so wird das Hauptprogramm angehalten, bis der Fiber unterbrochen oder beendet wird . Dieses Feature richtet sich hauptsächlich an Entwickler von PHP-Frameworks, die damit beispielsweise Event Loops implementieren können.

Eine weitere Neuerung ist die Unterstützung von Enumerations, damit können einfache Datentypen mit mehren vordefinierten Werten umgesetzt werden.

Verbesserungen in PHP 8.1

Wir konnten in ersten Tests eine Verbesserung der Ausführungsgeschwindigkeit im Vergleich zur Vorgängerversion 8.0 um bis zu 10% feststellen.

PHP 8.1 aktivieren

Sie können PHP 8.1 wie gewohnt entweder über das Kundenmenü aktivieren, oder über eine .htaccess-Konfigurationsdatei im Anwendungsverzeichnis auf dem Webserver mittels folgender Direktive:
AddHandler application/x-httpd-php81 .php


Datenbankserver nicht mehr über öffentliche IP-Adressen erreichbar

Die meisten unserer Datenbankserver (MySQL und MariaDB) waren bisher über öffentliche IP-Adressen auch außerhalb unseres Rechenzentrums erreichbar. Dies ist aus Sicherheitsgründen nicht ideal, weshalb wir für neue Datenbankserver seit Anfang 2020 nur noch interne IP-Adressen nutzen.

Für ältere Datenbankserver werden wir nun zum 04.10.2021 ebenfalls eine Umstellung auf interne IP-Adressen vornehmen, damit alle Datenbankserver nur noch innerhalb des Rechenzentrums von unseren Webservern aus erreichbar sind. Für Zugriffe außerhalb unseres Rechenzentrums ist dann der Aufbau eines SSH-Tunnels zu einem unserer Webserver erforderlich.

Wen betrifft diese Änderung?

Diese Änderung ist nur für wenige Kunden relevant, die von ihrem Rechner über lokal installierte Clientsoftware wie HeidiSQL oder Warenwirtschaftssysteme direkt auf unsere Datenbanken zugreifen. Falls Sie unsere Datenbanken nur für Web-Anwendungen wie WordPress nutzen, und nicht von außerhalb auf die Datenbankserver zugreifen, ändert sich für Sie nichts.

Welche Datenbankserver sind betroffen?

Die Änderung betrifft folgende Datenbankserver (MySQL 5.5, 5.6, 5.7, 8.0, MariaDB 10.1 bis 10.5):

  • db1
  • db2
  • db3
  • db4
  • db5
  • db6
  • db7
  • db8
  • db9
  • db10
  • db12
  • db13
  • db15
  • db19
  • db21
  • db22
  • db26
  • db27

Alle anderen Datenbankserver sind schon von Anfang an nur über interne IP-Adressen erreichbar.

Wie funktioniert ein SSH-Tunnel?


Ein SSH-Tunnel stellt eine verschlüsselte VPN-Verbindung zu einem unserer Webserver her. Über diesen Tunnel können Sie sich dann mit unseren Datenbankservern verbinden, als würde es sich um lokale Datenbankserver handeln.

In unserem FAQ-Artikel “Wie kann ich mich verschlüsselt mit einem MySQL-Server verbinden?” beschreiben wir den Verbindungsaufbau über einen SSH-Tunnel für verschiedene Software-Clients und Betriebssysteme.

Wir haben festgestellt, dass nur auf etwa 0,6% aller Datenbanken ohne einen SSH-Tunnel zugegriffen wird. Nutzer, die mit einem lokalen SQL-Client auf die Datenbankserver zugreifen, haben hier nur einen überschaubaren Umstellungsaufwand. Aufwendiger könnte die Umstellung z.B. von Warenwirtschaftssystemen werden. Wir beraten Sie hier gern und helfen, eine pragmatische Lösung zu finden.

Wichtig ist: Nutzer, die weiterhin von außerhalb unserer Webserver auf unsere MySQL- und MariaDB-Datenbanken zugreifen möchten, müssen vor dem 04.10.2021 aktiv werden, damit dieser Zugriff auch nach der Umstellung noch funktioniert.

Wir werden alle Kunden, von denen wir aus Logdateien wissen, dass sie in den letzten Wochen entsprechende Zugriffe auf Datenbanken hatten, explizit anschreiben. Hören Sie nichts von uns, besteht mit großer Wahrscheinlichkeit auch kein Anpassungsbedarf.

Aktualisierung vom 30.09.2021: Ursprünglich sollte die Änderung am Freitag, den 01.10.2021 durchgeführt werden. Um bei eventuellen Problemen für Kunden besser erreichbar zu sein, haben wir die Umstellung auf Montag, den 04.10.2021 verschoben.

Update auf Node.js 14

Node.jsAuf unseren Webservern ist aktuell noch Node.js in Version 10 installiert. Dies war die zum Zeitpunkt der Erstellung unseres Webserver-Grundsystems aktuelle Long-Term-Support-Version (LTS).

Node.js wird auf unseren Webservern normalerweise nur in der Shell (SSH) genutzt; eine häufig genutzte Node.js-Anwendung ist Less.js.

Die Node.js-Version 10 wird ab dem 30.04.2021 nicht mehr weiter von den Node.js-Entwicklern unterstützt. Wir werden daher alle Webserver am 03.05.2021 auf die aktuelle LTS-Version 14 umstellen. Dieses Update kann unter Umständen zu Kompatibilitätsproblemen mit älteren Node.js-Anwendungen führen. Bei mittels npm installierten Node.js-Paketen sollten Sie ggf. ein Update durchführen.

Neu: Browserbasierter Dateimanager (WebFTP)

Auf vielfachen Kundenwunsch haben wir einen browserbasierten Dateimanager installiert, mit dem Sie Dateien auf dem Webserver über Ihren gewohnten Web-Browser hochladen und bearbeiten können.

Sie müssen so kein zusätzliches FTP-Programm installieren, um eine Webseite oder eine Webanwendung auf den Webserver hochzuladen. Besonders praktisch ist WebFTP auch, wenn Sie z.B. eine Konfigurationsdatei wie php.ini oder .htaccess bearbeiten wollen – dies ist nun direkt im Browser möglich. Die URL des Dateimanagers lautet webftp.variomedia.de.

Die Verbindung zum Webserver erfolgt verschlüsselt mittels SFTP. Auch die Datenübertragung zwischen Browser und WebFTP-Server erfolgt verschlüsselt (https://…). Wir nutzen als Software das beliebte WebFTP-Programm MonstaFTP.

Sie können sich bei MonstaFTP mit Ihren FTP-Zugangsdaten anmelden, die Sie im Kundenmenü einsehen können. Als Hostnamen wählen Sie eine beliebige Domain aus Ihrem Webhosting-Paket:

MonstaFTP

Wenn Sie auf eine Domain zugreifen möchten, die zwar schon bei uns eingerichtet ist, aber noch nicht bei uns registriert ist, können Sie an den Domainnamen das Suffix “domainpreview.eu” anfügen, also “meine-domain.de.domainpreview.eu”.

Beachten Sie bitte folgende Einschränkungen gegenüber einem lokalen FTP-Programm:

  • Die maximale Dateigröße für einen Upload beträgt 250 MB pro Datei.
  • Es kann nur auf Variomedia Webserver zugegriffen werden
  • Bei der Nutzung von virtuellen FTP-Benutzern muss der Port auf 2222 geändert werden

Wie sicher sind meine Daten bei Variomedia?

Der Brand eines Rechenzentrums unseres Mitbewerbers OVH und die damit verbundenen Datenverluste haben bei einigen unserer Kunden Fragen zur Sicherheit ihrer Daten bei Variomedia aufgeworfen. Wir nutzen diesen Anlass, um hier unsere Backup-Strategien zu beschreiben und die Brandschutzmaßnahmen im Rechenzentrum zu erläutern.

Was wird gesichert?

Wir führen tägliche (bzw. nächtliche) Sicherungen aller Webspace-Inhalte, MySQL-Datenbanken und E-Mail-Postfächer durch. Gesichert werden zudem alle Informationen, die in speziellen Datenbanken vorliegen, z.B. DNS-Einträge, Kalender und Kontakte in Open-Xchange und Webmail-Profile.

Eine besondere Maßnahme gibt es im besonders ausfallkritischen Bereich des E-Mail-Hostings: Alle Inhalte von Postfächern werden in Echtzeit auf einen zweiten Server synchronisiert. Dieser dient als “Hot Standby”. Fällt ein E-Mail-Backend aus, kann der zweite Server die Arbeit sofort übernehmen und es gehen keine E-Mails verloren.

Wie lange werden die Backups gespeichert?

Alle täglichen Backups stehen 30 Tage lang zur Verfügung. Zusätzlich bewahren wir ein Backup von jedem Sonntag für 6 Monate auf. Monatliche Backups von jedem ersten Sonntag im Monat halten wir für weitere 5 Monate vor. Insgesamt ist das älteste Backup daher in der Regel etwa ein Jahr alt.

Wie lassen sich Daten aus einem Backup wiederherstellen?

Auf Webspace- und MySQL-Backups können Sie selbst zugreifen. Eine Anleitung dazu finden Sie im FAQ-Artikel “Wie spiele ich ein Backup auf dem Server ein?”. Die Wiederherstellung ist auch durch uns möglich (kostenpflichtig).

Postfach-Inhalte können nur durch unsere Systemadministratoren wiederhergestellt werden. Nähere Informationen dazu finden Sie im FAQ-Artikel “Gibt es Backups meiner E-Mail-Postfächer?”.

Wohin wird gesichert?

Die täglichen Backups werden auf Servern gesichert, die im gleichen Rechenzentrum stehen, wie die Quellserver, von denen gesichert wird. Diese Backups helfen also nur bei Hardware-Fehlern oder bei selbst verursachten Datenverlusten, würden bei einem Brand im Rechenzentrum aber nichts nützen.

Aus diesem Grund betreiben wir in einem zweiten Rechenzentrum (ebenfalls in Berlin, aber geografisch getrennt) weitere Server, die als “Off-Site-Backup” dienen. Sobald die regulären, täglichen Backups erledigt sind, werden diese vom lokalen Backup-Server zum Off-Site-Backup-Server übertragen und dort für 30 Tage aufbewahrt.

Falls es also einen Brand in unserem primären Rechenzentrum geben sollte, stehen alle Daten vom Vortag im zweiten Rechenzentrum zur Verfügung und könnten von dort auf produktiv genutzte Server übertragen werden. Dieses Off-Site-Backup findet bei uns für alle auf unseren Servern gehosteten Daten statt und muss nicht kostenpflichtig gebucht werden.

Welche Brandschutzmaßnahmen werden im Rechenzentrum getroffen?

Die Server für unsere Webhosting-, Datenbanken- und E-Mail-Dienste sind in einem Rechenzentrum in Berlin untergebracht. Da es sich um ein sehr großes Rechenzentrum handelt, ist es in mehrere Gebäudebrandabschnitte mit hoher Feuerwiderstandsklasse (F 90 A) unterteilt. Die einzelnen Serverräume innerhalb des Rechenzentrums sind ebenso als Brandbekämpfungsabschnitte (F 90 A) ausgeführt. Dadurch wird verhindert, dass sich ein Brand innerhalb eines Serverraums innerhalb kurzer Zeit auf weitere Serverräume ausbreiten kann.

Um die Ausbreitung eines Brandes innerhalb der Serverräume zu erschweren, wurden für den Innenausbau ausschließlich spezielle, nicht-brennbare oder schwer entflammbare Materialien verwendet.

Die Serverräume sind mit Brandmeldern und einer automatischen Gaslöschanlage ausgerüstet: Im Falle eines Brandes wird der betroffene Serverraum automatisch mit einem speziellen Löschgas geflutet, das den Brand erstickt. Durch das Löschgas entstehen keine zusätzlichen Schäden an den Servern, wie sie etwa beim Löschen mit Wasser entstehen würden.

Zusätzlich zu konventionellen Brandmeldern sind die Serverräume mit einem Brandfrüherkennungssystem ausgestattet: Werden erste Anzeichen eines möglichen Brandes erkannt, so erfolgt eine umgehende Kontrolle durch Mitarbeiter des Rechenzentrums, die permanent vor Ort sind.

Durch diese Maßnahmen ist ein Brand des Rechenzentrums mit totalem Datenverlust sehr unwahrscheinlich.