MySQL 5.6 für neue Datenbanken verfügbar

Seit einigen Tagen lässt sich im Kundenmenü für neue Datenbanken die MySQL-Version 5.6 auswählen. Sie wird für manche Content-Management-Systeme oder Online-Shops wie Magento 2 benötigt.

Wenn Sie eine bestehende Datenbank mit MySQL 5.6 nutzen möchten, können Sie diese z.B. über phpMyAdmin exportieren, eine neue Datenbank mit MySQL 5.6 anlegen und die Daten dort importieren.

Hinweis zum Umstieg von MySQL 5.5

Bei MySQL Version 5.6 sind standardmäßig die Optionen STRICT_TRANS_TABLES und NO_ENGINE_SUBSTITUTION gesetzt, die Option STRICT_TRANS_TABLES  kann allerdings manchmal zu Problemen führen. Diese Option kann jedoch in einer MySQL-Session über folgenden Befehl deaktiviert werden:

SET SESSION sql_mode = "NO_ENGINE_SUBSTITUTION";

Weiterhin unterscheidet sich der serverseitige Standard-Zeichensatz: Unsere MySQL-5.5-Datenbanken nutzen aus Gründen der Abwärtskompatibilität zu MySQL 4 standardmäßig den Latin1-Zeichensatz, MySQL 5.6 nutzt UTF-8. Falls Sie eine bestehende MySQL-5.5-Datenbank auf MySQL 5.6 migrieren, kann es dadurch unter Umständen zu Problemen bei der Darstellung von Umlauten und Sonderzeichen kommen. Diese Probleme treten meistens bei selbst entwickelten PHP-Scripten auf, wenn der der gewünschte Datenbank-Zeichensatz nicht ausdrücklich vorgegeben wird. Die meisten bekannten PHP-Anwendungen nutzen seit längerem UTF-8 als Standard-Zeichensatz und sind daher von diesen Problemen nicht betroffen, Sie können bei Problemen den alten Standard-Zeichensatz durch folgenden SQL-Befehl setzen:

SET NAMES 'latin1';

Aktuelle Änderungen an unseren Anti-Spam-Regeln

Wir haben in den letzten Tagen einige Änderungen an unseren Mailservern vorgenommen, um die Zahl der nicht erkannten Spammails (False-Negatives) zu reduzieren. Zusätzlich zum bestehenden Spamfilter Expurgate nutzen wir nun DNS-basierte Blackhole-Listen (DNSBL) und werten SPF– (Sender Policy Framework), DKIM– (DomainKeys Identified Mail) sowie DMARC– (Domain-based Message Authentication, Reporting & Conformance) Einträge aus. Um fälschlicherweise als Spam klassifizierte E-Mails (False Positives) zu vermeiden, lehnen wir betroffene Mails nicht ab, sondern nutzen das Greylisting-Verfahren, um die Zustellung zu verzögern.

Was ist eine DNSBL?

Eine DNSBL ist eine laufend aktualisierte Liste verdächtiger IP-Adressen. Verdächtige IP-Adressen sind beispielsweise solche, über die kürzlich massenhaft Spam versendet wurde, oder dynamische IP-Adressen wie etwa von DSL-Anschlüssen von Privatkunden, die E-Mails ausschließlich über SMTP-Relays (z.B. smtp.variomedia.de) versenden sollten.

Was ist SPF?

Mittels SPF können Domaininhaber über spezielle DNS-Einträge festlegen, welche Mailserver E-Mails für diese Domain versenden dürfen.

Was ist DKIM?

Mittels einer DKIM-Signatur kann geprüft werden, ob eine E-Mail von der angegebenen Absenderadresse versendet und beim Transport nicht verändert wurde. Diese Signatur wird automatisch durch den Mail-Server des Absenders erzeugt.

Was ist DMARC?

DMARC nutzt eine Kombination aus SPF und DKIM, um zu prüfen, ob eine E-Mail von der angegebenen Absenderadresse versendet wurde. Weiterhin wird mittels DMARC festgelegt, ob E-Mails, die keine bzw. ungültige DKIM-Signaturen aufweisen oder die SPF-Regeln verletzen, abgelehnt oder angenommen werden sollen. Ähnlich wie bei SPF werden dazu spezielle DNS-Einträge genutzt, die vom Domaininhaber gesetzt werden können. DMARC wird von vielen bekannten Anbietern wie z.B. Google oder Facebook eingesetzt.

Was ist Greylisting?

Greylisting ist ein Verfahren zur Verzögerung der E-Mail-Zustellung. Verdächtige E-Mails werden dabei nicht sofort angenommen, sondern mit einem temporären Fehler abgelehnt, so dass der absendende Server später einen erneuten Zustellversuch unternimmt. Nach Ablauf der Verzögerung (meistens 5 Minuten) wird diese Mail dann angenommen. Erfolgt ein erneuter Zustellversuch, so wird der betroffene Mailserver permanent freigeschaltet, so dass weitere verdächtige E-Mails von diesem Server nicht mehr verzögert werden. Die Strategie dahinter ist, dass viele Spam-Programme keine erneuten Zustellversuche unternehmen und eine verzögerte E-Mail bei einer späteren Zustellung eventuell von unserem Spamfilter korrekt klassifiziert wird.

Wie funktionieren die neuen Anti-Spam-Regeln?

Falls die IP-Adresse des absendenden Servers auf einer DNSBL eingetragen ist, oder die SPF bzw. DMARC-Prüfung fehlschlägt, wird eine E-Mail gegreylistet (auch wenn die betroffene E-Mail nach SPF bzw. DMARC eigentlich abgelehnt werden sollte).
Eine Ausnahme sind E-Mails von PayPal (paypal.com, paypal.de), die bei fehlgeschlagener DMARC-Prüfung gemäß den Vorgaben von PayPal abgelehnt werden, da es sich mit sehr hoher Wahrscheinlichkeit um Phishing handelt.

Mögliche Probleme

Die SPF-Prüfung schlägt bei E-Mail-Weiterleitungen häufig fehl, da die weiterleitenden Server nicht zum Versenden vom E-Mails der Absenderdomain autorisiert sind. Eine Möglichkeit dieses Problem zu umgehen ist SRS (Sender Rewriting Scheme), das von uns und vielen anderen Anbietern für E-Mail-Weiterleitungen genutzt wird. Dabei wird die Absenderadresse anhand bestimmter Regeln umgeschrieben und die Absenderdomain durch die Empfänger-Domain des weiterleitenden Servers ersetzt.

PHP 7 RC 3 verfügbar

Ab sofort steht auf unseren Webservern der aktuelle Release Candidate 3 von PHP 7 zu Testzwecken zur Verfügung.

Wir haben dabei eine für viele Kunden interessante Neuerung hinzugefügt, und zwar einen Datei-basierten PHP-Beschleuniger.

Hintergründe zu PHP-Beschleunigern

PHP ist eine Script-Sprache, die vor der Ausführung auf unseren Webservern in für Computer verständlichen Mikroprozessor-Code übersetzt werden muss. PHP nutzt dabei (ähnlich wie Java) eine sogenannte Virtuelle Maschine, es wird also nicht direkt Mikroprozessor-Code erzeugt, sondern zunächst sogenannter Bytecode für eine Virtuelle Maschine (Zend Engine), die daraus dann im nächsten Schritt Mikroprozessor-Code erzeugt und diesen ausführt.
Dieser Bytecode wird jedoch nach der Ausführung eines PHP-Scripts verworfen, und muss jedes Mal zeitaufwändig neu generiert werden. Um dies zu vermeiden gibt es diverse PHP-Beschleuniger wie den PHP-eigenen OpCache, die den Bytecode für spätere Script-Aufrufe optimieren und zwischenspeichern. Allerdings wurde dieser Bytecode bisher immer im Arbeitsspeicher abgelegt, was auf unseren Shared-Hosting-Servern aus technischen Gründen nicht funktioniert, und nur in den Pro-Paketen (bzw. auf Dedicated-Servern) mit PHP-FPM möglich ist.

Seit PHP 7 kann der PHP OpCache den Bytecode optional auch in Dateien speichern, damit lässt er sich auf allen Shared-Hosting-Servern nutzen.

Wir haben anhand einer aktuellen WordPress-Installation die möglichen Performance-Verbesserungen durch OpCache getestet (Mittelwert über 100 Aufrufe):

opcache-file-small

Im Vergleich zu PHP 5.6 ohne OpCache verkürzt sich die PHP-Ausführungszeit für die WordPress-Startseite um Faktor 2, der Datei-OpCache lohnt sich also wirklich.

PHP 7 und OpCache aktivieren

Um PHP 7 mit OpCache zu nutzen, erstellen Sie zunächst ein Verzeichnis für die Bytecode-Dateien auf Ihrem Webserver. Dieses Verzeichnis können Sie beliebig benennen (z.B. “opcache”), und an beliebiger Stelle in Ihrem Benutzerverzeichnis anlegen, die Zugriffsrechte sollten jedoch aus Sicherheitsgründen auf Ihren Benutzeraccount beschränkt werden (chmod 700).

Legen Sie dann im gewünschten Webserver-Verzeichnis eine .htaccess-Datei mit folgendem Inhalt an (bzw. fügen Sie folgende Zeile zu einer bestehenden .htaccess-Datei hinzu):

AddHandler application/x-httpd-php70 .php

Anschließend legen Sie in diesem Verzeichnis eine php.ini-Datei mit folgendem Inhalt an (bzw. fügen die folgenden Zeilen zu einer bestehenden php.ini-Datei hinzu):

zend_extension=/vrmd/webserver/php70/lib/opcache.so
opcache.file_cache=/homepages/u12345/opcache
opcache.file_cache_only=1

Ersetzen Sie dabei “/homepages/u12345/opcache” durch den vollständigen Pfad zu Ihrem Bytecode-Verzeichnis. Beachten Sie bitte, dass php.ini-Dateien nur in dem Verzeichnis gelten, wo auch das aufgerufene PHP-Script liegt, eventuell müssen Sie diese Datei daher noch in weitere Unterverzeichnisse kopieren.

Hinweis

Bitte beachten Sie, dass sich PHP 7 noch in der Entwicklungsphase befindet, es können noch diverse kleinere Fehler und Probleme auftreten. Sie sollten PHP 7 daher besser noch nicht für kritische Webseiten einsetzen.

PHP 7 im Performance-Vergleich

Die PHP-Entwickler haben für Version 7 drastische Performance-Verbesserungen um 100% und mehr im Vergleich zu den Vorgängerversionen angekündigt. Um dies zu überprüfen, haben wir die PHP-Ladezeiten einer aktuellen WordPress-Installation (Version 4.3) mit den unterschiedlichen bei uns verfügbaren PHP-Versionen gemessen (Mittelwert über 100 Zugriffe):

barchart

Tatsächlich ist PHP 7 deutlich schneller als die Vorgängerversionen, die angekündigte Verbesserung um 100% tritt unter PHP-FPM in Kombination mit dem PHP Opcode Cache tatsächlich ein.

Weitere Informationen zur Nutzung von PHP 7 auf unseren Webservern finden Sie hier.

Bitte beachten Sie, dass PHP-FPM  gegenwärtig nur in den Pro-Paketen bzw. für Reseller mit Dedicated-Server genutzt werden kann, zur Aktivierung von PHP-FPM wenden Sie sich bitte an unsere Kundenbetreuung.

PHP 7 RC 1 verfügbar

Auf unseren Webservern steht ab sofort der Release Candidate 1 von PHP 7 zu Evaluierungszwecken zur Verfügung.

Bitte beachten Sie, dass es sich noch nicht um die endgültige Release-Version handelt, die voraussichtlich gegen Mitte November erscheinen wird, es können also noch diverse kleinere Fehler und Probleme auftreten. Wir empfehlen daher, PHP 7 noch nicht für den Produktivbetrieb kritischer Webseiten zu nutzen, Sie können jedoch schon prüfen, ob Ihre Webseite mit PHP 7 kompatibel ist, und so rechtzeitig den Umstieg auf die neueste PHP-Version vorbereiten. Beim Umstieg auf PHP 7 ist insbesondere zu beachten, dass einige veraltete Funktionen, die unter PHP 5.6 noch funktioniert haben, unter PHP 7 nicht mehr zur Verfügung stehen.

Um PHP 7 für Ihre Webseite zu nutzen, erstellen Sie im gewünschten Webspace-Verzeichnis eine .htaccess-Datei mit folgendem Inhalt (bzw. fügen Sie folgende Zeile zu einer bestehenden .htaccess-Datei hinzu):

AddHandler application/x-httpd-php70 .php

Wir werden auch die nächsten Release Candidates von PHP 7 zeitnah auf unseren Webservern bereitstellen, bis hin zur Veröffentlichung der endültigen Release-Version von PHP 7.

Mit den Apache-Handler application/x-httpd-php70 kann zukünftig die aktuellste Version von PHP 7.0 auf unseren Webservern genutzt werden.

An der bisherigen Standard-PHP-Version des von Ihnen genutzen Webservers ändert sich nichts, für neue Präsenzen wird aktuell standardmäßig PHP 5.5 genutzt, ältere Webserver nutzen PHP 5.3.

Weitere Informationen zur Auswahl der PHP-Version finden Sie hier.

Apache-Modul “mod_speling” verfügbar

Auf unseren Linux-basierten Webservern wird (im Gegensatz zu normalen Windows-PCs) zwischen Groß- und Kleinschreibung bei Datei- und Verzeichnisnamen unterschieden, wenn Sie z.B. in Ihrem Webspace-Verzeichnis eine Datei “index.php” ablegen, und diese im Web-Browser als “INDEX.PHP” aufrufen, so wird der Aufruf fehlschlagen. Beim Domainnamen hingegen wird nicht zwischen Groß- und Kleinschreibung unterschieden, so macht es z.B. keinen Unterschied, ob Sie “variomedia.de” oder “VARIOMEDIA.DE” in Ihrem Browser aufrufen.
Manchmal ist es auch wünschenswert, dass kleine Tippfehler bei URLs automatisch korrigiert werden. z.B. wenn im Browser statt “.html” als Dateiendung “.htm” eingegeben wird.

Mit dem Apache-Modul mod_speling können diese Fehler in URLs automatisch korrigiert werden, der Webserver leitet dann auf die korrekte URL weiter. Falls es zu einer ungültigen URL mehrere möglicherweise passende Dateien auf dem Server gibt, wird eine Auswahl dieser Dateien angezeigt.

Das Modul wurde gestern auf allen Webservern installiert, ist jedoch aus Sicherheits- und Performancegründen standardmäßig deaktiviert. Um es zu aktivieren, muss eine .htaccess-Datei mit der Option “CheckSpelling on” im gewünschten Webspace-Verzeichnis erstellt werden. Sie können dabei wählen, ob ausschließlich Groß-/Kleinschreibung oder zusätzlich auch (maximal 1) Tippfehler automatisch korrigiert werden sollen:

Tippfehler und Groß-/Kleinschreibung korrigieren
<IfModule mod_speling.c>
  CheckSpelling on
</IfModule>

Nur Groß-/Kleinschreibung korrigieren
<IfModule mod_speling.c>
  CheckSpelling on
  CheckCaseOnly on
</IfModule>

Wie bei .htaccess-Dateien üblich gilt diese Einstellung dann auch für alle Unterverzeichnisse.

PHP 5.5 erschienen

PHP-logoErst kurz vor dem Wochenende von den Entwicklern freigegeben – nach dem Wochenende schon bei uns nutzbar!

Da wir PHP 5.4 übersprungen haben, ist dies die erste Version, in der das aus den Anfangszeiten von PHP bekannte Feature register_globals nicht mehr nutzbar ist, die try/catch Exception-Blöcke haben nun noch finally dazubekommen und außerdem ist bcrypt für das Passwort-Hashing nutzbar.

Unsere übrigen PHP-Versionen 4.4, 5.2 und 5.3 haben wir auch gleich auf den neuesten Stand gebracht und etwaig aktualisierte ionCube-Loader und ZendOptimizer/ZendGuardLoader eingespielt.

Weitere Infos:

TeamViewer ersetzt Netviewer

Um Ihnen bei der Konfiguration Ihres E-Mail Programmes, Einrichten des FTP-Programmes oder Ähnlichem zu helfen, ist es oft ganz hilfreich, einen Blick auf Ihren Bildschirm werfen zu können. Mithilfe eines kleinen Tools, das von uns kostenlos im Hilfebereich zur Verfügung gestellt wird, können unsere Kundenbetreuer schnell und unkompliziert weiterhelfen.

Mit dem Umstieg von Netviewer auf TeamViewer zum Beginn dieses Jahres können wir Sie nun nicht nur unter Windows unterstützen, sondern auch unter Linux, Mac OS X sowie iPhone, iPad und Android.

Neues Feature: Serverbasierte Mailfilter (Sieve)

Wir freuen uns, die Freischaltung eines häufig nachgefragten Features bekannt geben zu können!

Ab sofort ist es möglich, über serverseitige Mailfilter eingehende E-Mails automatisiert weiterzuverarbeiten. E-Mails lassen sich damit zum Beispiel direkt in bestimmte Unterordner verschieben. Newsletter, E-Mails von bestimmten Absendern oder ähnliche E-Mails können damit zielgerichteter sortiert werden.

Zur Konfiguration bieten wir Ihnen die Wahl, direkt das mächtige Sieve-System oder das komfortable Webinterface – das direkt im Webmail integriert ist – zu verwenden. Besonders nützlich ist diese Funktion für Kunden, die E-Mail-Clients verwenden, die über keine eigene Filterfunktion verfügen – zum Beispiel viele Smartphones, das Webmail oder manche E-Mail-Programme.

In unseren FAQ finden Sie die wichtigsten Fragen und Antworten zu unseren serverbasierten Mailfiltern. In einem Artikel beschreiben wir die Konfiguration der Filterregeln über das Webmail und Sieve.

Wir freuen uns auf Ihr Feedback! Für Fragen stehen Ihnen die Mitarbeiter unserer Kundenbetreuung gerne zur Verfügung.

Webmail mit neuem Adressbuch und neuer Oberfläche

Das von uns verwendete Webmail „Roundcube” ist jetzt in einer neuen Version installiert. Sie bietet ein neues, umfangreiches Adressbuch und eine modernere Oberfläche.

Das neue Adressbuch in Roundcube lässt sich mit beliebig vielen Feldern erweitern und bietet eine Such-, Import- und Exportfunktionen. Die neue Oberfläche ist klarer strukturiert, bietet eine Konversationsansicht und erleichtert die Bedienung damit deutlich.

Als nächste Erweiterung arbeiten wir gerade an der Einführung serverseitiger Mailfilter. Mit solchen Filterregeln lassen sich eingehende E-Mails schon auf dem Mailserver sortieren, bevor sie im Webmail oder auf einem Smartphone angezeigt werden.