Lange ist's her seit dem letzten Blogpost – aber wir sind nun mal keine Marketing-Leute, sondern Herzblut-Techies. Also, was geht ab hinter den Kulissen von Onlime? Als Kunde merkst du kaum etwas von unseren Weiterentwicklungen, bleiben sie dir doch grösstenteils verborgen. Ausser dass unsere Services jedes Jahr noch zuverlässiger funktionieren und alles noch reibungsloser läuft. Haben wir nicht schon vor 10 Jahren von «höchster Redundanz», «bester Performance» und «höchster Ausfallsicherheit» gepredigt? Mag sein. Wir geben uns aber nie zufrieden, sondern sind laufend bestrebt, unsere Services zu verbessern: Wir vergolden, polieren, finetunen und pimpen. Die Ideen gehen uns nie aus und es steht auch ganz viel auf der Pipeline für die Zukunft.
Beachtet man unsere Statusmeldungen oder diesen Blog, könnte man meinen, Onlime befinde sich im Winterschlaf. Es werden nicht mehr so viele Wartungsarbeiten angekündigt wie vor einigen Jahren. Auch die Störungsmeldungen haben stark abgenommen. Die Anzahl Wartungsarbeiten/Migrationen haben aber keinesfalls abgenommen. Dies ist damit zu erklären, dass wir unser Monitoring laufend ausbauen und allfällige Probleme schon frühzeitig erkennen. So können wir meist proaktiv reagieren und ein Engpass oder eine Störung abwenden, bevor du als Kunde etwas davon bemerkst. Auch können wir grössere Server-Migrationen mittlerweile so gut vorgängig testen, dass die effektive Migration für uns gar kein Risiko mehr darstellt.
Das Jahr geht dem Ende zu. Ich möchte euch hier einen kleinen Einblick geben, was sich im 2023 getan hat, auf was wir stolz sind. Und die Vorfreude auf das, was sich in den nächsten Monaten tun wird, mit euch teilen.
Ende 2022 haben wir unsere Infrastruktur im Datacenter komplett neu durchdacht. Ziel war es, die Redundanz weiter zu erhöhen, insbesondere auf Netzwerk-Ebene.
Auf dem Plan stand (und mittlerweile komplett umgesetzt):
Unsere bisherigen Switches (HPE/Aruba 2530 Series) waren in die Jahre geraten und mussten durch kostspielige neuere Modelle (HPE/Aruba 6300 Series) abgelöst werden, welche all diese geforderten Features unterstützen. Wir haben nun 2x Aruba 6300F 48G Switches im Einsatz als VSF-Stack, wobei jeder Server jeweils via beide Switches physisch getrennt angeschlossen ist. Auch die Switches sind redundant an unsere Firewall-Appliances angebunden, ebenfalls via LAGG auf 10Gbps-Ports. Sollte es je zu einem Komplett-Ausfall einer dieser Switches kommen, würden wir durch unser Monitoring sofort alarmiert und der Switch könnte zu Laufzeit ausgewechselt werden, ohne dass es zu einem Unterbruch kommt. Aruba VSF (Virtual Stacking Framework) bietet uns ein «hot-swapping» der Switches. Dieses Szenario wurde durch uns auch mehrfach durchgespielt und wir haben einen zusätzlichen identischen Switch als Backup bereit gestellt.
Und warum der Wechsel von pfSense auf OPNsense auf unseren Firewall-appliances? OPNsense ist schon seit vielen Jahren das fortschrittlichere und uns sympathischere System. Sowohl pfSense als auch OPNsense basieren beide auf FreeBSD und bieten ein ähnliches Feature Set. Die Weiterentwicklung von pfSense stagniert jedoch seit längerem und die dahinter stehende Firma (Netgate) ist uns ein Dorn im Auge, da diese scheinbar absichtlich die Community Edition von pfSense vernachlässigt und alle Kunden auf die kostenpflichtige pfSense Plus Lizenz drängt. OPNsense und die dahinter stehende Firma Deciso hat unsere volle Sympathie gewonnen und hat in den letzten Jahren enorm aufgeholt, pfSense in der Weiterentwicklung mittlerweile sogar mit Vollgas überholt. Wir fahren auf unseren neuen Appliances die OPNsense Business Lizenz und haben auch eine Support Subscription abgeschlossen. Damit wandert unser Geld in ein tolles Opensource-Projekt, das wir auch ohne solche Lizenzgebühren gerne durch Spenden unterstützen würden. In den letzten Jahren haben wir viele Erfahrung in OPNsense gesammelt, da wir bereits vor dieser Migration einige Firewall-Appliances unserer Kunden und die Firewall-Appliance unseres Backup-Datacenters auf OPNsense umgestellt haben. Mit grosser Erleichterung konnten wir uns also endgültig von pfSense verabschieden.
Auch die gesamte Stromzufuhr haben wir rundum erneuert und im Frühling 2023 sämtliche APC PDUs durch Raritan PX3 Rack PDUs abgelöst. Die bisherigen APC PDUs erhielten keine Firmware-Upgrades mehr und eine individuelle Strommessung der einzelnen Server/Switches/Firewall-Appliances war damit nicht möglich. Ausserdem ist Raritan viel innovativer als die von Schneider Electric übernommene APC.
Sämtliche Strom-Anschlusskabel wurden durch neue Kabel mit IEC-Lock resp. SecureLock ersetzt. Damit ist das Risiko ausgeschlossen, dass sich ein Stromkabel während Wartungsarbeiten am Rack aus Versehen löst. Im Laufe dieser Migration konnten wir auch unsere redundante Stromanbindung ausführlich testen. Die ganze Neuverkabelung führte zu keinerlei Unterbrüchen.
Das komplette Netzwerk-/Power-Diagramm erspare ich euch hier. Es sieht sehr hübsch aus, sprengt aber den Rahmen dieses Blog-Artikels. Bist du daran interessiert, frag einfach danach via info@onlime.ch und wir präsentieren es dir gerne.
Wir sind laufend bestrebt, die Energieeffizienz unserer Infrastruktur zu steigern. Dank den neuen Raritan PDUs mit outlet metering können wir nun den Stromverbrauch jedes einzelnen Servers und jeder Netzwerk-Komponente überwachen. Die Strommessung wird via unser Zabbix Monitoring überwacht und in unserem Grafana-Dashboard visualisiert.
Bereits im Winter 2022/23 haben wir uns dazu entschieden, einen Server abzuschalten, welcher nur als Backup für Testzwecke (GitLab CI/CD) verwendet wurde. Dies bereitet uns zwar einen Mehraufwand (regelmässiges Hochfahren des Servers für System-Upgrades und zur Replikation), den wir aber gerne in Kauf nehmen, da wir damit konstant Energie einsparen.
Im Dezember 2023 haben wir zwei weitere Server auf "standby" gesetzt, d.h. komplett ausgeschaltet. Diese Server stehen für allfällige zukünftige Projekte frei, weil sie vom bisherigen Kunden nicht mehr benötigt werden.
Bereits vor 2 Jahren sind wir bei Neuanschaffungen von Intel Dual-Core auf AMD Single-Core Server umgestiegen. Diese bieten eine bessere Performance bei geringerem Stromverbrauch. Die Einsparungen sind aber noch nicht sehr gross. Onlime plant seit längerem, auf ARM-Systeme umzusteigen. Diese bieten eine massiv bessere Energieeffizienz. Du kennst ARM bestimmt von Apple Silicon, die neueren M1/M2/M3 Prozessoren, welche einen gigantischen Performance-Sprung bieten bei einem viel geringeren Stromverbrauch. Die Hardware im Server-Bereich wäre längst da, sowohl HPE als auch Supermicro haben ARM-basierte Server mit Ampere Altra CPUs im Angebot. Wir müssen uns aber noch gedulden, bis folgende zwei Produkte ARM-ready sind: Proxmox VE, Percona Server for MySQL – Hoffen wir das Beste für's 2024, dass diese zwei Projekte auch endlich nachziehen und ARM builds liefern!
Im Januar sollte der nächste AMD Server mit NVMe SSDs geliefert werden, der für unser Shared Hosting eingesetzt wird. Dieser wird uns einen weiteren Performance-Boost bringen, bei ähnlichem Energieverbrauch. Wir bemühen uns, unsere Server stets gleichmässig auszulasten durch eine intelligente Verteilung der Virtuellen Server.
Abgesehen von diesen technischen Bemühungen, unseren Stromverbrauch zu reduzieren resp. optimieren, hat Onlime auch im 2023 wieder seinen CO2-Fussabdruck über's ganze Jahr berechnet und kompensiert diesen zu 1000% (10-fach) via myclimate. 10-fach, weil es andere nicht tun und dies einfach ins Budget passen muss (... selbst wenn dieses im 2023 übermässig strapaziert wurde).
Via myclimate's CO2-Rechner berechnen wir den jährlichen CO2-Fussabdruck unter Berücksichtigung folgender Faktoren: Arbeitsplatz (beheizte Fläche), Stromverbrauch (gesamte Server-Infrastruktur und Arbeitsplatz, Traffic, Nutzung Cloud-Dienste), Arbeitsweg der Mitarbeitenden, Geschäftsreisen, Verpflegung, Kaffee/Tee, Material und Abfall.
Unsere gesamte Infrastruktur hat dieses Jahr 15'755 kWh verbraucht. Das sind 3'000 kWh weniger als im Vorjahr. Insgesamt hat sich aber unser CO2-Fussabdruck von 3.5t auf 4.5t erhöht. Der Verbrauch war nicht wesentlich höher als im Vorjahr, jedoch haben wir bei der Berechnung dieses Jahr noch mehr Faktoren berücksichtigt (insbesondere der Traffic zwischen unseren Datencentern, und die 2 Geschäfts-Reislis via Nachtzug nach Amsterdam – Flüge sind für uns definitiv ein Tabu!).
CO2-Kompensation: Sinnvoll oder nicht? Wir wollen dies nicht an die grosse Glocke hängen, da wir definitiv kein Greenwashing betreiben möchten! Für uns steht klar, dass es ohne Reduktion nicht geht, die Qualität unserer Dienstleistungen aber auch nicht darunter leiden darf.
Auch dieses Jahr unterstützt Onlime wieder folgende NGOs/Organisationen durch eine jährliche Spende: ROKPA International, Afghanistanhilfe Schweiz, CARITAS, PublicEye, myclimate, Greenpeace, ewz.solarzüri, Solarspar.
Weitere Details und die Präsentation dieser Projekte findest du unter Nachhaltigkeit / Soziales & Unwelt.
Die Weiterentwicklung unseres Controlpanels stand dieses Jahr im Mittelpunkt. Bereits seit über 4 Jahren sind wir mit dem Komplett-Rewrite unseres Controlpanel/CRM mit Codename «Airpane» beschäftigt. Das Projekt hat sich als viel grösser herausgestellt als ursprünglich angenommen.
Airpane besteht aus folgenden 3 Komponenten: Airpane-agent (Microservice zur Webserver-Konfiguration), Controlpanel/Kunden-Dashboard, CRM (Kundenverwaltung und Billing). Airpane-agent wurde bereits im 2019/20 als Microservice in Python/Flask umgesetzt und konfiguriert seither unsere Webserver. Seither ist Onlime in der Lage, Dedizierte Managed Webservers limeDEDICATED anzubieten, d.h. das gesamte Controlpanel ist losgekoppelt von der Konfiguration der Dienste auf den jeweiligen Webservern.
Mit der Neuentwicklung unseres Controlpanel und CRM haben wir uns ein hohes Ziel gesteckt und mussten während dieses Projektes auch bereits die Technologie wechseln. Gestartet haben wir mit Vuetify als Frontend-Komponenten und einer API-Architektur, um das frontend mit dem backend zu verknüpfen. Mittlerweile setzen wir auf folgende Technologien (VILT Stack):
Dies gibt uns die nötige Flexibilität und weniger Abhängigkeiten, insgesamt ein sehr zukunftsfähiger Tech-stack.
Seit Mai 2023 ist Pascal Baljet (Protone Media) aus Amsterdam mit im Boot und unterstützt uns bei der Weiterentwicklung während jeweils 2 Arbeitstagen/Woche. Pascal bringt ein riesiges Knowhow sowohl im Backend- (Laravel) als auch im Frontend-Bereich (VueJS) mit. Auch Jonas von unserer Partner-Webagentur RACERFISH unterstützt uns tatkräftig. Eine top Zusammenarbeit! Das Projekt ist so richtig in Fahrt und wir gehen von einen Launch Mitte 2024 aus. Airpane-next wird also endlich spruchreif!
Was kann das neue Controlpanel/Kunden-Dashboard?
Dieses Jahr haben wir uns vermehrt an der Weiterentwicklung von Open-Source-Projekten beteiligt. Wir haben einige PRs submitted, insbesondere für Laravel und Saloon. Zudem haben wir im August 2023 folgendes Projekt veröffentlich:
Finanziell unterstützen wir folgende Projekte: Proxmox VE (Community Subscription), OPNsense (Business licenses), DEB.SURY.ORG (PHP Debian packages by Ondřej Surý), div. Sponsoring von GitHub-Projekten.
Onlime's Server-Infrastruktur fährt beinahe zu 100% auf Debian Linux. Aktuell sind 10-12 physische Proxmox VE (Debian basierend) Server im Einsatz, auf denen wir insgesamt 50 virtuelle Server betreiben. Im Juni 2023 ist das neue major release Debian 12 «Bookworm» erschienen. Im Herbst haben wir praktisch alle Server auf den aktuellsten Stand gebracht. Bei einigen physischen Servern war auch eine komplette Neuinstallation notwendig, um die veraltete Partitionierung abzulösen (vgl. ZFS: Switch Legacy-Boot to Proxmox Boot Tool).
All diese Upgrades konnten wir ohne nennenswerte Unterbrüche durchführen. Bei den grösseren Servern und den limeDEDICATED gab's jeweils eine Vorankündigung und es kam zu einer Downtime von unter 15min.
Insgesamt verlief die Migration auf Debian «Bookworm» absolut schmerzlos und du hast als Kunde wohl kaum etwas davon bemerkt.
Auch nächstes Jahr widmen wir voll und ganz der Weiterentwicklung unseres Controlpanels/Dashboards «Airpane-next», mit dem wir hoffentlich Mitte 2024 live gehen können.
Abgesehen davon soll das veraltete AWStats durch GoAccess abgelöst werden. Für die Domains planen wir die Einführung von DNSSEC. Weitere Pläne möchten wir euch heute noch nicht verraten.
Das wäre nun beinahe vergessen gegangen: Onlime feiert sein 20-jähriges Bestehen! Am 11. Dezember 2003 ging das damalige «Onlime Webhosting» mit dem ersten Server live und hat sein Hosting-Angebot am 1. Januar 2004 veröffentlicht. Alles lief auf einem einzigen Mietserver – das waren noch Zeiten!
Stosse mit uns an! Happy New Year und auf ein weiteres Jahrzehnt!
]]>Das neuste major release PHP 8.3 ist erschienen und wir konnten die finale Version inkl. sämtlicher Erweiterungen bereits letzten Dienstag 28. Dezember 2023 für alle Kunden freigeben – wenige Tage nach dem offiziellen Launch-day. Ein grosser Dank geht hier an Ondřej Surý, welcher unter DEB.SURY.ORG stets die aktuellsten PHP-Packages für Debian Linux zur Verfügung stellt.
Sämtliche Erweiterungen, welche bisher unter PHP 8.2 verfügbar waren, stehen euch auch bereit unter PHP 8.3.
Die neue Version ist in unserem Controlpanel unter «PHP-Manager» zu finden und lässt sich sowohl für die Hauptdomain als auch für sämtliche Subdomains individuell aktivieren.
Diese PHP Version bringt zahlreiche neue Funktionen und Verbesserungen mit sich, die die Entwicklung von Webanwendungen mit PHP noch effizienter und leistungsfähiger machen. Deep-Cloning von schreibgeschützten Eigenschaften und eine neue Funktion zur Überprüfung von JSON-Strings. Die Randomizer-Klasse wurde ebenfalls erweitert, um die Generierung von Zufallszahlen und -strings zu erleichtern.
Dies sind die wichtigsten Neuerungen und Änderungen:
Typisierte Klassenkonstanten – In früheren Versionen von PHP waren Klassenkonstanten nicht typisiert, was zu Problemen führen konnte, wenn Schnittstellen oder implementierende Klassen unterschiedliche Typen für die gleiche Konstante verwendeten. Dies konnte zu unerwartetem Verhalten und potenziellen Fehlern führen.
Mit PHP 8.3 wurde die Einführung von typisierten Klassenkonstanten vorgenommen. Dies bedeutet, dass nun explizit der Typ einer Klassenkonstante angeben werden kann, um sicherzustellen, dass der gleiche Typ in der gesamten Vererbungshierarchie beibehalten wird.
Dynamisches Abrufen von Klassenkonstanten – In der Vergangenheit war es in PHP nicht möglich, Klassenkonstanten dynamisch abzurufen. Man musste den Namen der Konstanten als Zeichenkette kennen und diese dann mit der constant()
-Funktion abrufen.
Durch die Verwendung der geschweiften Klammern {}
kann nun den Wert einer Klassenkonstante basierend auf einer dynamisch generierten Zeichenkette abgerufen werden. Dies erhöht die Lesbarkeit und verhindert potenzielle Rechtschreibfehler bei der Verwendung von constant()
.
Beispiel: Foo::{$myConstant};
Neues #[Override]
-Attribute – Bei der Überschreibung von Methoden in Klassen kann es zu Problemen kommen, insbesondere wenn es zu Tippfehlern oder Namensänderungen kommt. Dies kann dazu führen, dass unbeabsichtigte neue Methoden erstellt werden und die beabsichtigte Überschreibung nicht wie erwartet funktioniert.
Um diese Problematik zu lösen, wurde in PHP 8.3 das neue #[Override]
-Attribute eingeführt. Dieses Attribute kennzeichnet eine Methode in einer Klasse explizit als Absicht zur Überschreibung einer Methode in der übergeordneten Klasse oder in einem implementierten Interface. Dadurch wird vermieden, dass unbeabsichtigte neue Methoden erstellt werden und die Konsistenz des Codes verbessert sich.
Deep-Cloning von schreibgeschützten Eigenschaften – In PHP gibt es die Möglichkeit, Eigenschaften als schreibgeschützt zu markieren, indem das readonly
-Attribut verwendet wird. Diese schreibgeschützten Eigenschaften können nur im Konstruktor festgelegt werden und sind anschließend nicht mehr veränderbar. Sie bieten eine sichere Möglichkeit, Daten zu speichern und vor ungewollter Modifikation zu schützen.
In früheren Versionen von PHP gab es jedoch Einschränkungen. Wenn ein Objekt mit schreibgeschützten Eigenschaften geklont wurde, wurde lediglich eine flache Kopie der Eigenschaften erstellt. Dies bedeutete, dass die schreibgeschützten Eigenschaften weiterhin auf das Originalobjekt verwiesen und somit nicht wirklich geklont wurden.
Mit PHP 8.3 gibt es nun eine neue Möglichkeit des Deep-Cloning von schreibgeschützten Eigenschaften. Beim Klonen eines Objekts mit schreibgeschützten Eigenschaften wird nicht nur eine flache Kopie der Eigenschaften erstellt, sondern es erfolgt ein vollständige Klonen der referenzierten Objekte. Dadurch werden die schreibgeschützten Eigenschaften vollständig geklont und können unabhängig vom Originalobjekt verwendet werden.
Die Möglichkeit des Deep-Cloning von schreibgeschützten Eigenschaften in PHP 8.3 erleichtert die Handhabung und Manipulation von Objekten mit solchen Eigenschaften erheblich. Es kann nun sichergestellt werden, dass schreibgeschützte Daten vollständig geklont und unabhängig vom Originalobjekt verwendet werden können.
Neue Funktion json_validate()
– Die Überprüfung der Syntax und Gültigkeit von JSON-Strings war in früheren Versionen von PHP mit einigen Herausforderungen verbunden. Die Verwendung der json_decode()
-Funktion allein bietet keine explizite Möglichkeit, festzustellen, ob ein JSON-String syntaktisch korrekt ist oder nicht. Dies kann zu Fehlern und unerwartetem Verhalten führen, insbesondere wenn die Integrität von JSON-Daten wichtig ist.
In PHP 8.3 wurde die Funktion json_validate()
eingeführt, um dieses Problem zu lösen. Diese Funktion ermöglicht es, die Syntax und Gültigkeit eines JSON-Strings zu überprüfen, ohne die Daten vollständig zu decodieren.
Neue Methoden in der Randomizer-Klasse – Die Randomizer-Klasse in PHP bietet eine Vielzahl von Funktionen zur Generierung von Zufallszahlen und -strings. Diese Klasse wurde in PHP 8.3 um einige neue Methoden erweitert, die weitere Möglichkeiten zur Generierung von Zufallswerten bieten.
Die Randomizer-Klasse ist Teil der Random-Erweiterung in PHP und ermöglicht die Generierung von Zufallswerten basierend auf verschiedenen Algorithmen. Sie bietet eine Reihe von Methoden wie getRandomBytes()
, getInt()
, getIntRange()
und andere. Mit diesen Methoden können Zufallszahlen, Binärdaten und zufällige Zeichenketten generiert werden.
In PHP 8.3 wurden der Randomizer-Klasse zwei neue Methoden hinzugefügt:
getBytesFromString($allowedCharacters, $length)
ermöglicht die Generierung einer zufälligen Zeichenkette mit benutzerdefinierten erlaubten Zeichen und einer bestimmten Länge.getFloat($min, $max, $boundary)
ermöglicht die Generierung einer zufälligen Gleitkommazahl innerhalb eines bestimmten Bereichs.Verbesserungen im Kommandozeilen-Linter – Der Kommandozeilen-Linter ist ein nützliches Tool in PHP, das entwickelt wurde, um den Code auf potenzielle Syntaxfehler und Probleme zu überprüfen, bevor er ausgeführt wird. Mit dem Kommandozeilen-Linter können Entwickler schnell und einfach Code-Fehler identifizieren und beheben, was dazu beiträgt, robustere und fehlerfreie Anwendungen zu erstellen.
In PHP 8.3 gab es Verbesserungen im Kommandozeilen-Linter, die die Verarbeitung mehrerer Dateien unterstützen. Das bedeutet, dass nun mehrere Dateien gleichzeitig mit dem Kommandozeilen-Linter überprüft werden können, um potenzielle Fehler im Code zu finden.
und einiges mehr...
Unter PHP 8.3 Released! findet ihr sämtliche neuen Features mit den entsprechenden Links zur Doku resp. RFCs aufgelistet.
Für weitere Infos beachte bitte auch das offizielle Release Announcement und unser Support-Wiki:
Weitere sehr empfehlenswerte Artikel:
#[Override]
in PHP 8.3PHP 8.3 ist eine neue Major-Version. Das bedeutet, dass einige Änderungen enthalten sind, die mit älterem Code nicht mehr kompatibel sind. Viele der Änderungen sind jedoch bereits seit PHP 8.2 als veraltet markiert, weshalb du mit dem Wechsel auf PHP 8.3 generell keine Probleme haben solltest, wenn du mit den Anpassungen in den vergangenen Versionen vertraut bist. Eine Liste mit allen Breaking Changes findest Du wie gehabt auf der Upgrade-Seite der PHP Group.
Aus unserer Sicht spricht absolut nichts gegen den Wechsel auf PHP 8.3. Bisher sind uns keine negativen Effekte aufgefallen und sämtliche grossen CMS und Web-Frameworks sollten problemlos laufen unter PHP 8.3. Einzig die Projekte, welche den Schritt auf PHP 8.2 bis heute verschlafen haben, werden wohl auch nicht ganz so rasch nachziehen und es ist zumindest mit E_DEPRECATED
Warnungen zu rechnen.
Du kannst ganz einfach testen, ob deine Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter «PHP-Manager» kannst du die PHP-Version jederzeit up- resp. downgraden.
]]>Der neuste major release PHP 8.2 ist erschienen und wir konnten die finale Version inkl. sämtlicher Erweiterungen bereits letzten Samstag 10. Dezember 2022 für alle Kunden freigeben – 2 Tage nach dem offiziellen Launch-day. Ein grosser Dank geht hier an Ondřej Surý, welcher unter DEB.SURY.ORG stets die aktuellsten PHP-Packages für Debian zur Verfügung stellt.
Sämtliche Erweiterungen, welche bisher unter PHP 8.1 verfügbar waren, stehen euch auch bereit unter PHP 8.2.
Die neue Version ist in unserem Controlpanel unter «PHP-Manager» zu finden und lässt sich sowohl für die Hauptdomain als auch für sämtliche Subdomains individuell aktivieren.
PHP 8.2 baut auf der erneuerten Basis von PHP 8.0 und PHP 8.1 auf. Die neuste PHP-Version bietet nicht ganz so viel Neues wie der grosse Sprung auf PHP 8, aber doch einige Funktionalität, die das Webentwickler-Leben vereinfacht. Dies sind die wichtigsten Neuerungen und Änderungen:
readonly
Klassen – Mit PHP 8.1 wurde die Funktionreadonly
für Klasseneigenschaften eingeführt. Mit PHP 8.2 wird nun die Möglichkeit hinzugefügt, die gesamte Klasse als readonly
zu deklarieren.
Wenn du eine Klasse als readonly
deklarierst, erben alle ihre Eigenschaften automatisch das readonly
Merkmal. Wenn du also eine Klasse readonly
deklarierst, ist es dasselbe, als wenn du jede Klasseneigenschaft als readonly
deklarierst.true
, false
, und null
als eigenständige Typen – PHP enthält bereits skalare Typen wie int
, string
und bool
. Diese wurden in PHP 8.0 um Union-Typen erweitert, die es ermöglichen, dass Werte von verschiedenen Typen sein können. Der gleiche RFC erlaubte auch die Verwendung von false
und null
als Teil eines Union-Typs – als eigenständige Typen waren sie jedoch nicht erlaubt.function bar((A&B)|null $entity) { ... }
Die Anwendung von DNF auf Typendeklarationen ermöglicht eine standardisierte Art und Weise, kombinierte Union- und Intersection-Typen zu schreiben, die der Parser verarbeiten kann. Die neue DNF-Typenfunktion von PHP 8.2 ist einfach, aber mächtig, wenn sie richtig eingesetzt wird.\SensitiveParameter
kennzeichnen. Jeder Parameter, der als sensibel gekennzeichnet ist, wird in deinen Backtraces nicht aufgeführt.Random
Erweiterung – Im Laufe der Geschichte von PHP wurden verschiedene Zufallszahlengeneratoren (Random Number Generators, RNG) mit unterschiedlichem Grad an Leistung, Anwendungsfällen und Eignung für sichere Anwendungen unterstützt. PHP 8.2 geht einen Schritt weiter, indem es die gesamte RNG-bezogene Funktionalität in eine neue Erweiterung namens Random
überführt.Unter PHP 8.2 Released! findet ihr sämtliche neuen Features mit den entsprechenden Links zur Doku resp. RFCs aufgelistet.
Für weitere Infos beachte bitte auch das offizielle Release Announcement und unser Support-Wiki:
Weitere sehr empfehlenswerte Artikel:
PHP 8.2 ist eine neue Major-Version. Das bedeutet, dass einige Änderungen enthalten sind, die mit älterem Code nicht mehr kompatibel sind. Viele der Änderungen sind jedoch bereits seit PHP 8.1 als veraltet markiert, weshalb du mit dem Wechsel auf PHP 8.2 generell keine Probleme haben solltest, wenn du mit den Anpassungen in den vergangenen Versionen vertraut bist. Eine Liste mit allen Breaking Changes findest Du wie gehabt auf der Upgrade-Seite der PHP Group.
Aus unserer Sicht spricht absolut nichts gegen den Wechsel auf PHP 8.2. Bisher sind uns keine negativen Effekte aufgefallen und sämtliche grossen CMS und Web-Frameworks sollten problemlos laufen unter PHP 8.2. Einzig die Projekte, welche den grossen Schritt auf PHP 8.1 bis heute verschlafen haben, werden wohl auch nicht ganz so rasch nachziehen und es ist zumindest mit E_DEPRECATED
Warnungen zu rechnen.
Du kannst ganz einfach testen, ob deine Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter «PHP-Manager» kannst du die PHP-Version jederzeit up- resp. downgraden.
]]>Der neuste major release PHP 8.1 ist erschienen und wir konnten die finale Version bereits am 26. November 2021 für alle Kunden freigeben. Mit der offiziellen Ankündigung liessen wir etwas auf uns warten, sofern du unseren Tweet verpasst hast. Aber wenn es um's Technische geht, dann geben wir Vollgas!
Sämtliche Erweiterungen, welche unter PHP 8.0 verfügbar waren, stehen euch auch bereit unter PHP 8.1.
Die neue Version ist in unserem Controlpanel unter «PHP-Manager» zu finden und lässt sich sowohl für Ihre Hauptdomain als auch für sämtliche Subdomains individuell aktivieren.
Die neueste PHP-Version bietet nicht ganz so viel Neues wie der grosse Sprung auf PHP 8 letztes Jahr, aber doch einige Funktionalität, die das Webentwickler-Leben vereinfacht. Dies sind die wichtigsten Neuerungen und Änderungen:
enum Status {
case Pending;
case Active;
case Archived;
}
public readonly string $title
function foo(int $a, int $b) { /* … */ }
$foo = foo(...);
$foo(a: 1, b: 2);
new
in Initialisierungen – Objekte können nun als Default-Wert für Parameter, statische Variablen, Konstanten, so wie als Argument für Attribute genutzt werden. Dies ermöglicht nun auch die Nutzung von verschachtelten Attributen.
public function __construct(
private Logger $logger = new NullLogger(),
) {}
function generateSlug(HasTitle&HasId $post) {
return strtolower($post->getTitle()) . $post->getId();
}
never
– Eine Funktion mit dem Rückgabetyp never
gibt an, dass sie keinen Rückgabewert besitzt und die Funktion entweder eine Exception wirft oder das Script durch die()
, exit()
, trigger_error()
, oder einer ähnlichen Funktion terminiert wird.final
Klassen Konstanten – Es ist nun möglich Klassen Konstanten als final
zu definieren, sodass diese in einer Vererbung nicht überschrieben werden können.int
-basiertem Key in andere Arrays. Jetzt ist es auch möglich Arrays mit einem string
-basiertem Key oder auch einer Kombination aus beiden Varianten zu entpacken.
$array1 = ["a" => 1];
$array2 = ["b" => 2];
$array = ["a" => 0, ...$array1, ...$array2];
var_dump($array); // ["a" => 1, "b" => 2]
Unter PHP 8 Released! findet ihr sämtliche neuen Features mit den entsprechenden Links zur Doku resp. RFCs aufgelistet.
Für weitere Infos beachte bitte auch das offizielle Release Announcement und unser Support-Wiki:
Weitere sehr empfehlenswerte Artikel:
PHP 8.1 ist eine neue Major-Version. Das bedeutet, dass einige Änderungen enthalten sind, die mit älterem Code nicht mehr kompatibel sind. Viele der Änderungen sind jedoch bereits seit PHP 8.0 als veraltet markiert, weshalb du mit dem Wechsel auf PHP 8.1 generell keine Probleme haben solltest, wenn du mit den Anpassungen in den vergangenen Versionen vertraut bist. Eine Liste mit allen Breaking Changes findest Du wie gehabt auf der Upgrade-Seite der PHP Group.
Aus unserer Sicht spricht nichts gegen den Wechsel auf PHP 8.1. Bisher sind uns keine negativen Effekte aufgefallen und sämtliche grossen CMS und Web-Frameworks sollten problemlos laufen unter PHP 8.1. Einzig die Projekte, welche den grossen Schritt auf PHP 8.0 bis heute verschlafen haben, werden wohl auch nicht ganz so rasch nachziehen und es ist zumindest mit E_DEPRECATED
Warnungen zu rechnen.
Du kannst ganz einfach testen, ob deine Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter «PHP-Manager» kannst du die PHP-Version jederzeit up- resp. downgraden.
]]>Ist dir je aufgefallen, dass dir unsere Website keinen nervigen Cookie-Banner präsentiert? Oder klickst du die eh immer gleich weg, ohne sie überhaupt noch halbwegs wahrzunehmen? Hält sich Onlime womöglich nicht an die GDPR / DSVGO (Datenschutz-Grundverordnung)?
Nein, die DSVGO mit all ihren Regelungen zur Verarbeitung von personenbezogenen Daten war uns schon immer ein Herzensanliegen, schon längst, bevor sie von irgendwelchen Juristen ins Leben gerufen wurde. Uns persönlich stören all die Cookie-Banner, die teils recht penetrant über dem eigentlichen Content der Websites platziert sind und uns die Annahme der Cookies aufdrängen. Insbesondere dann, wenn die Tracking-Daten noch x-beliebigen externen Firmen weitergereicht werden. Das alles muss nicht sein. Wir haben uns entschlossen, dieses Spiel nicht mitzumachen.
Die Frage war ganz einfach: Muss Onlime wissen, wer unsere Website aufruft und wie hoch das Besucher-Aufkommen ist? Benötigen wir diese Statistiken wirklich? Haben sie irgendwelche Relevanz für unser Geschäftsmodell?
Bis Anfang 2020 hatten wir Google Analytics im Einsatz. Die Website-Statistiken blieben aber bei Google liegen, ohne dass wir diesen je Beachtung geschenkt hätten. Auch betreibt Onlime GmbH so gut wie keine Werbung. Wir sind schlicht nicht drauf angewiesen, einerseits weil die persönliche Weiterempfehlung von bestehenden Kunden viel wichtiger ist und auch ganz gut funktioniert, andererseits, weil wir grundsätzlich nichts halten von Werbung. Werbung war uns schon immer ein Dorn im Auge und das wird sich auch in Zukunft nicht ändern. Keine Sorge, Onlime wird definitiv nie in ein Geschäftsmodell à la Facebook/Amazon/Google abdriften!
Die Antwort war also sonnenklar: Nein, wir benötigen kein Tracking unserer Kunden resp. Website-Besucher. Seit dem 27. Februar 2020 haben wir der Sache ein Ende gesetzt und Google Analytics komplett entfernt. Eine andere Form von Tracking gab es nie auf onlime.ch, folglich benötigen wir auch keinen Cookie-Banner.
Folgender wunderbare Artikel hat uns damals zum Handeln bewogen:
Thanks Mattias!
]]>NEU:
Frohe Ostern wünscht Onlime!
]]>Endlich ist es so weit! Wir konnten gestern Abend PHP 8.0 für alle Kunden freigeben. Die neue Major-Version war für uns eine echte Herausforderung. Der offizielle Release von PHP 8.0.0 erfolgte bereits am 26. November 2020. Wir mussten uns aber noch darauf gedulden, bis alle Entwickler der für uns relevanten Extensions nachgezogen haben. Es geht hier insbesondere um diese Extensions, welche Onlime auch unter PHP 8 weiterhin im Angebot hat: APCu, mailparse, mcrypt, imagick
Mittlerweile sind sämtliche Erweiterungen bereit für PHP 8.0. Einzig bei imagick velief es besonders harzig, da der Maintainer dieser wrapper library für ImageMagick aktuell nicht mehr bereit scheint, das Projekt weiterzupflegen, vgl. Imagick/imagick#358 – Dies der Hauptgrund der Verzögerung.
Wir konnten nicht länger warten und mussten also die aktuelle master
Branch von Imagick selbst kompilieren. Gemäss unseren Tests funktioniert soweit alles wie erwartet unter PHP 8.0. Mit Ausnahme von Imagick sollten PHP 8.0.0 und sämtliche von uns mitgelieferten Extensions stabil und bereit für den produktiven Einsatz sein.
Die neue Version ist in unserem Controlpanel unter «PHP-Manager» zu finden und lässt sich sowohl für Ihre Hauptdomain als auch für sämtliche Subdomains individuell aktivieren.
Die neueste PHP-Version bietet einige Funktionalität, die das Webentwickler-Leben vereinfacht. Dies sind die wichtigsten Neuerungen und Änderungen:
int|float
nur in Form von phpdoc-Annotationen möglich. Neu werden in PHP 8 Union types direkt in den Funktionssignaturen unterstützt.$->
mit vollständiger Kurzschlussauswertung ein. Bei der Kurzschlussbewertung wird der zweite Operator nur dann bewertet, wenn der erste Operator nicht auf null bewertet. Wenn ein Operator in einer Kette auf null
auswertet, stoppt die Ausführung der gesamten Kette und wertet auf null
aus. Sehr elegant! Dies wird uns einige Zeilen an schwer verständlichem Code mit tiefer Verschachtelung ersparen.match
-Ausdruck ist dem switch
ziemlich ähnlich, aber mit einer sichereren Semantik und der Möglichkeit, Werte zurückzugeben.0 == 'foo'
resultiert in false
, so wie's schon immer hätte sein sollen!Unter PHP 8 Released! findet ihr sämtliche neuen Features mit den entsprechenden Links zur Doku resp. RFCs aufgelistet.
Für weitere Infos beachten Sie bitte auch das offizielle Release Announcement und unser Support-Wiki:
PHP 8 ist eine neue Major-Version. Das bedeutet, dass einige Änderungen enthalten sind, die mit älterem Code nicht mehr kompatibel sind. Viele der Änderungen sind bereits seit einer der Minor-Versionen von PHP 7 als veraltet markiert, weshalb Du mit dem Wechsel auf PHP 8 generell keine Probleme haben solltest, wenn Du mit den Anpassungen in den vergangenen Versionen vertraut bist. Eine Liste mit allen Breaking Changes findest Du wie gehabt auf der Upgrade-Seite der PHP Group.
Dies ist die erste stabile Version von PHP 8.0 und bei solchen Versionen ist immer Vorsicht geboten. Bisher sind uns aber keine negativen Effekte aufgefallen und sämtliche grossen CMS und Web-Frameworks sollten problemlos laufen unter PHP 8.0.
Sie können ganz einfach testen, ob Ihre Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter PHP-Manager können Sie die PHP-Version ganz einfach up- resp. downgraden.
]]>Während SPF bereits längst im Einsatz ist und der SPF-Eintrag für alle Domains von Onlime-Kunden automatisch hinterlegt wird, haben wir am 30. März 2020 als Ergänzung auch noch DKIM/DMARC eingeführt.
SPF steht für «Sender Policy Framework» und bezeichnet einen Abwehrmechanismus gegen Spam-Nachrichten.
DKIM kürzt den Begriff «DomainKeys Identified Mail» ab und steht für einen Standard, mit dem das Fälschen von Absenderdaten in E-Mails – das sogenannte Spoofing – verhindert werden soll. Gleichzeitig soll sichergestellt werden, dass die wesentlichen Teile der E-Mail nicht verändert wurden.
DMARC steht für «Domain-based Message Authentication, Reporting and Conformance». DMARC baut auf den beiden Techniken SPF und DKIM auf, indem es für eine Absender-Domain festlegt, wie der Empfänger die Authentifizierung von E-Mails durchführen soll und wie im Falle eines Fehlers zu verfahren ist. Es handelt sich hier also um eine weitere Spezifikation, die entwickelt wurde, um den Missbrauch von E-Mails zu reduzieren.
Mithilfe von SPF definiert die Inhaberin einer Domain, welche Server E-Mails für diese Domain verschicken dürfen und was mit E-Mails geschehen soll, die von einem nicht autorisierten Server stammen. Diese SPF-Regeln werden mittels eines DNS-Eintrags definiert, den die Mailserver des Empfängers beim Entgegennehmen der E-Mail prüfen können. Damit ist sichergestellt, dass E-Mails für die gewünschte Domain nur dann angenommen werden, wenn sie von einem «freigeschalteten» Server stammen. Natürlich vorausgesetzt, der empfangende Server prüft den SPF-Eintrag, was nicht zwingend der Fall sein muss.
Die grossen Anbieter wie Google, Yahoo, GMX prüfen den SPF-Eintrag und berücksichtigen das Resultat bei der Berechnung des Spam-scores, also der Wahrscheinlichkeit, ob eine E-Mail als Spam oder Ham eingestuft wird.
Der für SPF nötige DNS-Eintrag ist für Domains von Onlime-Kunden automatisch hinterlegt und kann bei Bedarf bequem über den DNS-Manager in unserem Controlpanel überschrieben werden. Ausserdem prüfen die Mailserver von Onlime GmbH alle eingehenden E-Mails mittels SPF und sorgen so dafür, dass weniger Spam in den Postfächern landet.
Der Standard SPF-Eintrag sieht so aus:
@ 300 IN TXT "v=spf1 mx include:spf.onlime.ch ~all"
Wir empfehlen den Kunden, die definitiv nur E-Mail via unsere Mailserver versenden, diesen Eintrag von «SoftFail» ~all
auf das radikalere «Fail» -all
anzupassen. Hinweise zur Syntax finden Sie hier: SPF Record Syntax.
Neben SPF lässt sich mit DKIM die Vertrauenswürdigkeit von E-Mails weiter verbessern. Unterstützt der Mailserver der Empfängerin nämlich DKIM, kann dieser feststellen, ob die E-Mail von einem Server stammt, den die Absenderin als legitime Quelle definiert hat und ob der Inhalt der E-Mail unterwegs verändert wurde. Ziel dieses Verfahrens ist es, Spammern und Phishern ihre kriminellen Vorhaben zu erschweren.
Damit die Empfängerin zweifelsfrei feststellen kann, ob die E-Mail aus legitimer Quelle stammt, wird vom sendenden Mailserver für jede ausgehenden E-Mail eine digitale Signatur («Hash») erstellt. Diese Signatur wird aus einem privaten Schlüssel sowie dem Inhaltstext der E-Mail generiert und im Header der E-Mail abgelegt. Mit dem öffentlichen Schlüssel, der als DNS-Eintrag des Domainnamens abgelegt ist, kann der empfangende Mailserver daraufhin diesen «Hash» verifizieren.
Ist die Signatur gültig, stammt die E-Mail tatsächlich von der behaupteten Domain. Ist die Signatur ungültig, wurde die Absenderadresse oder der Inhalt der E-Mail manipuliert. Die Empfängerin kann diese Informationen verwenden, um die Bewertungssysteme und Filtertechniken ihrer Spamfilter wirkungsvoller zu gestalten.
E-Mails, die über Onlime-Server verschickt werden, werden automatisch mit dem passenden DKIM-Schlüssel signiert. Der passende DNS-Eintrag ist auf den Nameservern von Onlime GmbH ebenfalls automatisch hinterlegt und kann bei Bedarf bequem über den DNS-Manager in unserem Controlpanel überschrieben werden.
Ein Standard DKIM- und der zugehörige DMARC-Eintrag sehen so aus:
onlime-20200330._domainkey 300 IN TXT "v=DKIM1; k=rsa; p=MIIBIjA..."
_dmarc 300 IN TXT "v=DMARC1; p=none;"
Um den DKIM-Eintrag brauchen Sie sich nie zu kümmern. Onlime ersetzt die keys regelmässig und passt dabei jeweils den DKIM-Eintrag im DNS an. Wenn Sie aber die DMARC-Richtlinie verschärfen möchten, empfehlen wir Ihnen, den _dmarc
Eintrag wie folgt zu überschreiben:
_dmarc 300 IN TXT "v=DMARC1; p=quarantine; adkim=s; aspf=s;"
Verwenden Sie dazu am besten den DMARC Record Wizard von Dmarcian, falls Sie in der Syntax von DMARC nicht geübt sind.
]]>Ende 2019 haben wir unseren Primären Mailserver (IMAP/POP3) durch Dovecot abgelöst und sämtliche Kunden auf den neuen Mailserver migriert. Auch das Spam-Filtering wurde komplett überarbeitet und wir sind auf Rspamd umgestiegen, wodurch wir viel bessere Treffer-Quoten erreichen. Aufseiten Webmail gab es auch eine erfreuliche Neuerung: Roundcube hat mit dem neuen "Elastic" Skin eine komplett neue Oberfläche eingeführt, die sich auch für mobile devices eignet und eine sehr komfortable Bedienung mitbringt.
Unsere Arbeit an einer verbesserten E-Mail-Infrastruktur ist damit noch nicht abgeschlossen. Als nächstes planen wir die Einführung von DKIM/DMARC, voraussichtlich noch in ersten Halbjahr 2020.
Ebenfalls Ende 2019 haben wir PHP 7.4 eingeführt. Aktuell stehen folgende PHP-Versionen zur Auswahl: 7.1/7.2/7.3/7.4, wobei PHP 7.1 end-of-life Status erreicht hat und Ende März 2020 abgeschaltet wird.
Neu hat Onlime auch sein Produkt-Portfolio ausgebaut und bietet neben herkömmlichem Shared Hosting unter dem Namen limeDEDICATED dedizierte virtuelle Managed Webserver an. Diese Server eignen sich für Kunden mit höchsten Performance-Ansprüchen, da wir bei limeDEDICATED fix zugeordnete Server-Resourcen (RAM/vCPU) garantieren können.
Auch aufseiten Nachhaltigkeit hat Onlime 2019 ausgebaut. Mittlerweile zählen wir 9 NGOs /gemeinnützige Organisationen, welche wir aktiv durch eine jährliche Spende unterstützen. Insbesondere die Umwelt liegt uns am Herzen, weshalb wir zusätzlich zum Engagement in Ökostrom nun auch 1000% CO2-Kompensation an myclimate leisten. Damit kompensieren wir unseren CO2-Fussabdruck 10-fach, und das soll keine einmalige Aktion bleiben!
Aktuell stellen wir unser Rechnungs- und Buchhaltungssystem auf Bexio um, weshalb es zu einer verzögerten Rechnungsstellung gekommen ist. Demnächst werden wir aber die ersten Rechnungen fürs 2020 stellen.
Kleiner Ausblick aufs laufende Jahr: Wir werden unsere E-Mail-Infrastruktur weiter verbessern, insbesondere durch die Einführung von DKIM/DMARC. Abgesehen von sonstigen Maintenance-Arbeiten an unserer Server-Infrastruktur widmen wir 2020 aber ganz der Weiterentwicklung unseres Controlpanels. Seien Sie gespannt!
Und nun noch etwas ausführlicher (falls es das nicht schon war) ...
Das zweite Halbjahr 2019 haben wir voll und ganz der Erneuerung unserer E-Mail-Infrastruktur gewidmet. Es galt, den bisherigen IMAP-Server Cyrus durch Dovecot abzulösen. Dovecot ist bei weitem das aktivere Projekt als der etwas in die Jahre gekommene Cyrus und gehört längst zum State-of-the-art aller IMAP-Server im Opensource/Linux-Umfeld. Alle uns bekannten System-Administratoren schwärmen von Dovecot und rühmen seine Stabilität, Skalierbarkeit und Security.
Es stellte sich die Frage, wie wir eine solch grosse Migration angehen sollten, ohne damit unsere Kunden in Mitleidenschaft zu ziehen resp. ohne neue Risiken einzugehen. Selbst heute zählt E-Mail noch immer zu einem der wichtigsten Kommunikationsmedien und wir sind täglich darauf angewiesen, dass die E-Mail-Infrastruktur zuverlässig läuft. Für uns war klar: Es darf zu keinem spürbaren Unterbruch kommen, selbst wenn wir diese Umstellung Monate zuvor angekündigt hätten. Auch wollten wir keine Risiken eingehen bei einer Migration tausender Mailaccounts, die teils mehrere GB Speicherplatz belegen.
Unsere Anforderungen waren hoch: Der neue IMAP-Server soll keinerlei Probleme mit gängigen Mail-Clients (Outlook, Thunderbird, Apple Mail usw.) machen, auch sollen sämtliche Message-IDs übernommen werde, damit der Kunde seine E-Mails nach der Migration nicht erneut herunterladen muss. Wir haben also eine Proxy-Lösung für IMAP/POP3 realisiert, dank welcher wir sukzessive einzelne Mailkonten auf den neuen Mailserver synchronisieren und migrieren konnten. Dadurch konnten wir den neuen Mailserver während mehreren Monaten in Produktion testen an diversen Mailkonten mit teils sehr grossen Datenmengen. Wir werden diese in Python geschriebene Dovecot-Migrationslösung demnächst auf Github veröffentlichen.
Ende Oktober 2019 waren sämtliche Mailkonten auf den neuen Mailserver migriert und wir konnten unsere Proxy-Lösung wieder abschalten. Kein einziger Kunde hat etwas von unserer grössten Server-Migration bemerkt. Es kam zu keinerlei Unterbrüchen. All dies war nur möglich dank monatelangem Testing und bester Planung.
Wir haben uns nicht begnügt mit der Ablösung unseres Mailservers. Es musste auch ein neuer Spamfilter her. Jahrelang hatte Onlime die Opensource-Lösung Spamassassin/Amavis im Einsatz. Die Beschwerden über schlechte Spam-Erkennung und sog. false-positives (E-Mails, welche fälschlicherweise als Spam erkannt wurden) begannen sich Ende 2019 zu häufen. Für uns war klar: Ein weiteres fine-tuning von Spamassassin-Regeln bringt's nicht, wir brauchen eine komplett neue Lösung, um massiv bessere Trefferquoten zu erreichen!
Die Wahl fiel auf Rspamd, ein sehr aktives Projekt zur Spam-Bekämpfung. Rspamd liefert neben herkömmlichem Spam-Filtering auch gleich folgende Features mit: Virus-Filter, Whitelisting, Greylisting, SPF checks, DKIM/DMARC, rate limiting und diverse andere. Für uns war dieses Produkt also die perfekte all-in-one Lösung, ausserdem hat Rspamd einen sehr guten Ruf und wird laufend weiterentwickelt.
Neu setzen wir auch Greylisting ein. Nicht das nervige Greylisting, das Sie vielleicht kennen, wo jede unbekannte E-Mail beim ersten Zustellversuch abgewiesen und stark verzögert (min. 5min) ausgeliefert wird. Nein, unser Rspamd wendet nur Greylisting an, wenn die eingehende E-Mail bereits analysiert worden ist und diese einen hohen Spam-score erreicht. Im Alltag führt diese Art von Greylisting also kaum zu einer Verzögerung, dämmt Spamming jedoch massiv ein.
Im Zusammenhang mit der Einführung von Rspamd haben wir auch eine sehr ausgeklügelte Technik von Spam-/Ham-learning realisiert. Per sofort hilft also jeder Onlime-Kunde mit, die Trefferquoten von Spam-Mails weiter zu verbessern. Wird eine E-Mail aus einem beliebigen Ordner in den Spam-Ordner verschoben, wird diese als Spam trainiert. Wird eine E-Mail aus dem Spam-Ordner in einen beliebigen anderen Ordner (ausgenommen Papierkorb) verschoben, wird diese als Ham (= kein Spam) trainiert. Dabei wird das Bayes learning von Rspamd laufend trainiert. Natürlich werden jeweils einige ähnliche E-Mails benötigt, um einen Lerneffekt zu erzielen. Da nun aber alle Kunden passiv mithelfen, unseren Spam-Filter zu trainieren, hat dies einen grossen Effekt.
Unser Webmail wurde schon zuvor von vielen Kunden gerühmt und wir haben immer wieder höchst positives Feedback erhalten. Beste Performance und ein sehr angenehmes Benutzer-Interface. Einzig eine Schwäche hatten wir zu beklagen: Bisher war unser Webmail nicht für mobile devices optimiert.
Ende 2019 hat unsere Webmail-Applikation Roundcube mit dem neuesten Update auf Version 1.4 auch ein neues Aussehen erhalten. Der neue Skin "Elastic" ist vollkommen responsive, d.h. er ist sowohl für Desktop- als auch Mobilansicht optimiert. Das Design ist sehr ansprechend und komfortabel in der Bedienung.
Wenige Tage nach dem offiziellen Release hat auch Onlime im Dezember PHP 7.4 für seine Kunden eingeführt. Neu kompilieren wir PHP nicht mehr selbst, sondern verwenden die Debian Packages von DEB.SURY.ORG – damit erreichen wir eine bessere Skalierbarkeit unserer Webserver, d.h. neue PHP-Versionen können wir schneller flächendeckend auf allen Webservern einspielen.
PHP 7.1 hat Ende 2019 seinen EOL (end-of-life) Status erreicht. Wir planen, PHP 7.1 per Mitte April abzuschalten. Weitere Infos folgen.
Nach über 15 Jahren reinem Shared Webhosting hat Onlime sein Produkt-Portfolio ausgebaut und bietet neu mit limeDEDICATED auch dedizierte Virtuelle Managed Webserver an.
Mit limeDEDICATED erhalten Sie einen eigenen dedizierten Webserver, der vollumfänglich durch uns betreut wird. Ihre Website läuft somit auf einem eigens für Ihre Ansprüche zugeschnittenen Webserver mit garantierten Server-Resourcen (vCPU/RAM). Sie erreichen damit konstant die beste Performance.
Bei einem limeDEDICATED Server brauchen Sie sich um nichts zu kümmern. Ein solcher Server erfordert keinerlei zusätzliches Server-Wissen. Sie können ein oder mehrere limePRO Abos aufschalten und die Verwaltung Ihrer Website geschieht genauso einfach via unser Airpane Controlpanel, wie Sie es sich bereits gewohnt sind.
Unser Pricing:
Die drei Nullen sind kein Verschreiber. Zusätzlich zu unserem langjährigen Engagement in Ökostrom und Energieeffizienz kompensieren wir unseren gesamten CO2-Fussabdruck nun 10-fach.
Via myclimate berechnen und kompensieren wir den jährlichen CO2-Fussabdruck unter Berücksichtigung folgender Faktoren: Arbeitsplatz (beheizte Fläche), Stromverbrauch (gesamte Server-Infrastruktur und Arbeitsplatz), Arbeitsweg der Mitarbeitenden, Geschäftsreisen, Verpflegung, Kaffee/Tee, Material und Abfall.
Mittlerweile unterstützt Onlime folgende NGOs/Organisationen durch einen jährlichen Spende-Betrag, welcher im 2019 erneut gesteigert werden konnte: ROKPA International, Afghanistanhilfe Schweiz, Shangrila, CARITAS, PublicEye, myclimate, Greenpeace, ewz.solarzüri, Solarspar.
Wir führen Bexio als unser neues Rechnungs-/Buchhaltungssystem ein. Damit finden wir mehr Zeit für die Weiterentwicklung unseres Controlpanels (unser bisheriges CRM war eine komplette Eigenentwicklung) und decken unsere höheren Ansprüche an ein Buchhaltungssystem seit der Umwandlung von Onlime Webhosting in die Onlime GmbH ab.
Durch diese Einführung kommt es zu einer leicht verzögerten Rechnungsstellung. Die ersten Rechnungen fürs 2020 werden wir demnächst stellen.
Neu enthält die Rechnungs-E-Mail jeweils einen Link auf network.bexio.com zur Rechnungs-Ansicht und Online-Bezahlung – Bitte seien Sie deswegen nicht verwirrt! Es handelt sich hierbei um einen vertrauenswürdigen Link.
Wir werden unsere E-Mail-Infrastruktur weiter verbessern, insbesondere durch die Einführung von DKIM/DMARC. Automx zur Mail-discovery wird durch eine Eigenentwicklung abgelöst. MySQL 8.0 kommt voraussichtlich in Q2 2020. Abgesehen von sonstigen Maintenance-Arbeiten an unserer Server-Infrastruktur widmen wir 2020 aber ganz der Weiterentwicklung unseres Airpane Controlpanel. Seien Sie gespannt!
Wir freuen uns auf alle zukünftigen Projekte und darauf, Sie weiterhin zu unseren dankbaren Kunden zählen zu dürfen. Ihre Meinung interessiert uns immer und wir freuen uns über jedes Feedback, egal wie positiv oder negativ dieses ausfällt!
]]>"Elastic" ist der neue Standard-Skin und wir empfehlen allen Webmail-Anwendern, diesen zu nutzen. Nach einer kurzen Umgewöhnungszeit wird man sich unter dem neuen Look rasch wohlfühlen. "Elastic" scheint weit übersichlicher und komfortabler als der bisherige Skin "Larry".
Das Login ins Webmail erfolgt wie gewohnt unter webmail.onlime.ch
Screenshots:
Sollten Sie mit dem neuen Skin nicht klarkommen, steht der bisherige Skin "Larry" weiterhin zur Auswahl. Benutzer, die zurück auf "Larry" wechseln möchten, klicken nach dem Login in Roundcube auf "Einstellungen" -> "Benutzeroberfläche" und wählen dort das Oberflächendesign "Larry" aus.
]]>Letzten Freitag, 29. November haben wir klammheimlich PHP 7.4 freigegeben – am Tag nach dem offiziellen Release. Nun folgt auch endlich noch unser offizielles announcement!
Die neue Version ist in unserem Controlpanel unter «PHP-Manager» zu finden und lässt sich sowohl für Ihre Hauptdomain als auch für sämtliche Subdomains individuell aktivieren.
PHP 7.4 wurde durch uns bereits in mehreren vorgängigen Release Candidates (RC) ausführlich getestet, wobei es zu keinen Problemen kam.
Die neueste PHP-Version bietet einige Funktionalität, die das Webentwickler-Leben vereinfacht. Dies sind die wichtigsten Neuerungen und Änderungen:
opcache.preload
ausführen zu lassen, welches den OPcache mittels opcache_compile_file()
füttert.Für weitere Infos beachten Sie bitte auch das offizielle Release Announcement und unser Support-Wiki:
Dies ist die erste stabile Version von PHP 7.4 und bei solchen Versionen ist immer Vorsicht geboten. Bisher sind uns aber keine negativen Effekte aufgefallen und sämtliche grossen CMS und Web-Frameworks sollten problemlos laufen unter PHP 7.4.
Sie können ganz einfach testen, ob Ihre Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter PHP-Manager können Sie die PHP-Version ganz einfach up- resp. downgraden.
]]>Onlime Webhosting hat sich im Laufe der letzten zwölf Monate stark weiterentwickelt. Im Hintergrund gab es zahlreiche technische Neuerungen, von denen Sie als Kunde wenig bis gar nichts zu spüren bekommen haben. Wir möchten Ihnen hier einen Überblick geben, was sich aktuell tut und was unsere Pläne sind.
Neu nennen wir uns Onlime GmbH und Sie finden uns im Handelsregister unter der UID CHE-301.986.122. Die alte Onlime Webhosting war schon zuvor MWST-pflichtig und abgesehen von der Rechtsform ändert sich nicht viel. Sämtliche Dienste werden wie bis anhin weitergeführt, mit einem Augenmerk auf höchste Ausfallsicherheit, Performance und Zuverlässigkeit.
Wir möchten Ihnen endlich unseren neuen Mitarbeiter vorstellen: Martin Wittwer arbeitet bereits seit Juni 2018 mit einer 40%-Anstellung für Onlime. Wir sind glücklich, ihn hinzugewonnen zu haben. Martin verfügt über grosse Erfahrungen im Linux-/Server-Umfeld. Er war zuvor mehrere Jahre als System Engineer bei Nine Internet Solutions AG tätig und hat vor einem Jahr den Bachelorstudiengang Informatik an der ZHAW abgeschlossen. Wir möchten ihn hier noch offiziell willkommen heissen!
Stichwortartig ein paar technische Neuerungen:
Im 2018 haben wir HTTP/2 eingeführt, MySQL auf 5.7 upgegradet, Zabbix als Monitoring eingeführt (zur Ablösung von Icinga2) und SRS als Ergänzung zu SPF eingeführt. Wir waren einer der ersten CH-Hoster, welche PHP 7.3 angeboten haben. Parallel zur Wartung und dem laufenden Ausbau unserer Server-Infrastruktur haben wir das Projekt "Airpane-agent" gestartet, welches im April 2019 live ging. Es handelt sich hierbei um einen Microservice, welcher uns bzgl. Weiterentwicklung des Controlpanels grosse Freiheiten gibt, indem sämtliche Dienste losgekoppelt via API ansteuerbar sind. Dies war der erste Meilenstein für die zukünftige Version unseres Controlpanels, welches ab Q4 2019 komplett neu entwickelt wird.
Im nächsten Quartal liegt unserer Fokus auf Neuerungen im Bereich Mailserver-Architektur. Der primäre IMAP-Mailserver wird dann von Cyrus auf Dovecot abgelöst und wir planen, im Anschluss DKIM / DMARC einzuführen.
Aufgrund des Ausbaus unserer Infrastruktur und der damit gewonnenen Performance und Ausfallsicherheit haben wir unsere Produktstruktur und das Pricing an die neue High-End Lösung angepasst. Die Preise der Hosting-Pakete wurden angehoben. Ein limeBASIC kostet neu CHF 13.90/Mt. (bisher 9.90/Mt.), ein limePRO 19.90/Mt. (bisher CHF 15.90/Mt.), inklusive MWST. Es ist uns bewusst, dass dies eine relativ hohe Kostensteigerung darstellt. Höher werden jedoch nicht nur die Preise, sondern auch der Speicherplatz, den Sie ab sofort zur Verfügung haben:
Preis inkl. MWST | Webspace bisher | Webspace neu | |
---|---|---|---|
limeBASIC | CHF 13.90/Mt. | 10 GB | 20 GB |
limePRO | CHF 19.90/Mt. | 30 GB | 50 GB |
limeDRIVE | CHF 6.90/Mt. | 30 GB | 50 GB |
Die neuen Preise gelten ab 1. Juli 2019. Sollten die höheren Preise Grund für eine Kündigung Ihres Webabos sein, sind wir bezüglich Kündigungsfrist selbstverständlich kulant.
]]>Letzten Donnerstag, 6. Dezember, hat uns der Samichlaus eine kleine Überraschung beschert: PHP 7.3 ist erschienen und Onlime konnte keine Zeit verstreichen lassen, diese finale Version am Release-Datum zu kompilieren und allen Kunden zur Verfügung zu stellen. Wie immer sind wir wieder mal ganz vorne mit dabei als einer der ersten CH-Hoster, welcher PHP 7.3 anbietet.
Die neue Version ist in unserem Controlpanel unter «PHP-Manager» zu finden und lässt sich sowohl für Ihre Hauptdomain als auch für sämtliche Subdomains individuell aktivieren.
PHP 7.3 wurde durch uns bereits in mehreren vorgängigen Release Candidates (RC) ausführlich getestet, wobei es zu keinen Problemen kam.
Die neueste PHP-Version bietet einige Funktionalität, die das Webentwickler-Leben vereinfacht. Dies sind die wichtigsten Neuerungen und Änderungen:
list()
— Mit der neuen Funktion ist nun das gleichzeitige Zuweisen mehrerer Referenzwerte zu mehreren Variablen möglich.array_key_first()
und array_key_last()
lässt sich nun der erste oder letzte Schlüssel eines Arrays auszugeben.count()
auf ein Objekt angewendet wird, das die Funktion nicht unterstützt. Bislang musste man die entsprechende Prüfungsfunktionen selbst bauen, if (is_array($foo) || $foo instanceof Countable) { return count($foo) }
. Mit PHP 7.3 und der neu eingeführten Funktion is_countable()
kann man sich dieses Konstrukt sparen.json_encode()
und json_decode()
kann PHP bereits seit Version 5.2 mit Daten im verbreiteten JSON-Format umgehen. Bislang wurde bei einem Fehler der Wert null
zurückgeliefert. Mit der neu geschaffenen Option JSON_THROW_ON_ERROR
lässt sich nun das Verhalten der beiden JSON-Funktionen im Fehlerfall verändern, um eine klarere Rückmeldung zur Fehlerquelle zu erhalten.Für weitere Infos beachten Sie bitte auch das offizielle Release Announcement und unser Support-Wiki:
Neben diversen weiteren Änderungen bringt PHP 7.3 zudem einige Deprecations mit, markiert also Funktionen als veraltet, die ab der nächsten Major-Version (voraussichtlich PHP 8.0) nicht mehr unterstützt werden. Entwickler von PHP-Applikationen sollten sich bereits jetzt um alternative Lösungen für diese Funktionen kümmern, um für PHP 8 gerüstet zu sein.
image2wbmp()
— Mit der Grafikerweiterung GD und deren Funktion image2wbmp()
können Bilder im Wireless-Bitmap-Format (WBMP) erzeugt werden. Die Schwester-Funktion imagewbmp()
verhält sich seit PHP 5.0 praktisch identisch, weshalb image2wbmp()
spätestens mit PHP 8.0 verschwinden wird. Sollten Sie die Funktion in Ihrem Code im Einsatz haben, können Sie die entsprechenden Stellen einfach mit imagewbmp()
ersetzen.strpos()
, strrpos()
, strstr()
usw. wird als "needle" neu immer ein String erwartet. Das automatische typecasting auf einen String gilt als deprecated.Dies ist die erste stabile Version von PHP 7.3 und bei solchen Versionen ist immer Vorsicht geboten. Bisher sind uns aber keine negativen Effekte aufgefallen und sämtliche grossen CMS und Web-Frameworks sollten problemlos laufen unter PHP 7.3.
Sie können ganz einfach testen, ob Ihre Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter PHP-Manager können Sie die PHP-Version ganz einfach up- resp. downgraden.
]]>Heute ist es soweit: die europäische Datenschutzgrundverordnung (DSGVO oder im Englischen GDPR) kommt zur Anwendung. Mit den neuen Bestimmungen erhalten Personen in der EU mehr Kontrolle über ihre Personendaten, Unternehmen werden stärker in die Verantwortung genommen und Datenschutzbehörden in ihrer Rolle gestärkt.
Datenschutz war uns schon immer wichtig. Praktisch unterstützt Onlime Webhosting seit den Anfangstagen deren inhaltliche Grundsätze und technisch halten wir uns längst an solche Standards, vertraglich müssen aber natürlich auch wir Anpassungen vornehmen:
Als Kunde von Onlime Webhosting wird Ihre Website zwar explizit auf Webservern mit Standort Schweiz betrieben und Onlime selbst speichert keinerlei Daten im Ausland. In den meisten Fällen sind Sie aber dennoch von der DSGVO betroffen.
Gemäss Rechtsanwalt Martin Steiger:
(...) gilt die DSGVO nicht nur in der EU, sondern weltweit für jede Verarbeitung personenbezogener Daten von Personen in der EU, denen man Dienstleistungen oder Waren anbietet oder deren Verhalten man beobachtet.
In der Folge sind fast alle schweizerischen Websites von der DSGVO betroffen, weil sie ihre Nutzerinnen und Nutzer mittels Webtracking beobachten. So dürfte das Tracking mit Google Analytics weitverbreitet sein und es gibt kaum einen Webserver ohne Auswertung von Logdateien mit IP-Adressen.
Als Webhosting-Provider verarbeiten wir Daten im Auftrag eines Dritten – unserem Kunden. Oder anders gesagt: Betreibt ein Kunde beispielsweise einen Webshop auf unseren Servern, so werden etwa Daten zu einer Bestellung auf unserer Plattform gespeichert. Gemäss der DSGVO gelten wir deshalb als Auftragsdatenverarbeiter bzw. Auftragsverarbeiter.
Wenn die DSGVO bei Ihrer Website zur Anwendung kommt, können Sie mit uns eine Vereinbarung zur Auftragsdatenverarbeitung (ADV-Vereinbarung resp. AV-Vertrag) abschliessen.
Eine solche Vereinbarung ist in Artikel 28 der DSGVO geregelt und klärt die Zuständigkeiten zwischen uns als Auftragsverarbeiter und Ihnen als Verantwortlichen. In dieser Vereinbarung versprechen wir Ihnen, Ihre Daten rein zum Betrieb von Onlime Webhosting zu nutzen. Wir klären auf, welche Daten genau wir verarbeiten, wie genau wir sie schützen und welche Rechte und Pflichten Sie haben.
Der Abschluss dieser Vereinbarung lässt sich ganz einfach via einen Klick in unserem Controlpanel erledigen. Sie finden die ADV-Vereinbarung im Abschnitt «Benutzerkonto» gleich unterhalb von «Administrativer Kontakt».
Aufgrund der DSGVO müssen wir ausserdem unsere bisherige Datenschutzerklärung komplett austauschen. Die frische Fassung findet sich unter https://www.onlime.ch/privacy resp. zum Download als PDF.
Bisher hatten wir eine kompakte, wie wir fanden verständliche Erklärung – nun müssen wir alles sehr umfangreich erläutern, worunter unserer Einschätzung nach leider auch die Lesbarkeit leidet. Wir hoffen jedoch, dass das Mehr an Info in Ihren Augen die längere Form aufwiegt.
]]>Pünktlich zum Major Release von PHP 7.2 haben auch wir diese neue Version gestern für alle Kunden aktiviert. Die neue Version ist in unserem Controlpanel unter PHP-Manager zu finden und lässt sich sowohl für Ihre Hauptdomain als auch sämtliche Subdomains individuell aktivieren.
Einmal mehr konnten wir also unser Versprechen halten und bieten unseren Kunden die aktuellste stabile PHP-Version am Tag des offiziellen Releases an. PHP 7.2 wurde durch uns bereits in mehreren vorgängigen Release Candidates (RC) ausführlich getestet.
Neu in PHP 7.2 ist die Kryptografie-Bibliothek Libsodium. Sie war bisher nur als Erweiterung erhältlich und ist nun fest im PHP-Core verbaut. Libsodium bietet Entwicklern mittels einfachen Funktionen starke Verschlüsselungs-, Signierungs- und Passwort-Hashing-Methoden. Die bisher oft genutzte Bibliothek OpenSSL wird damit mittelfristig durch Libsodium abgelöst. OpenSSL wurde nicht zuletzt durch den Heartbleed-Bug einer grösseren Öffentlichkeit bekannt und ist in den Augen vieler Experten nicht mehr auf dem aktuellen Stand der Technik.
Neben Libsodium enthält PHP 7.2 weitere neue interessante Funktionen, unter anderem kann neu der Typ object
für Type Hinting verwendet werden. Argon2 wurde als neuer empfohlener Algorithmus für Passwort-Hashing integriert. Neu kann, neben Arrays, auch in anderen Listen das letzte Element mit einem Komma-Zeichen versehen werden. Damit ist keine Unterscheidung mehr nötig, ob es sich bei einem Element um das letzte handelt. Das vereinfacht das Hinzufügen von Elementen und den Vergleich von Code.
Eine Übersicht über alle neuen Funktionen hat der PHP-Entwickler Tom Punt auf GitHub zusammengestellt.
Für weitere Infos beachten Sie bitte auch das offizielle Release Announcement und unser Support-Wiki:
Neben diversen weiteren Änderungen bringt PHP 7.2 zudem einige Deprecations mit, markiert also Funktionen als veraltet, die ab der nächsten Major-Version (voraussichtlich PHP 8.0) nicht mehr unterstützt werden. Entwickler von PHP-Applikationen sollten sich bereits jetzt um alternative Lösungen für diese Funktionen kümmern, um für PHP 8 gerüstet zu sein.
Dies ist die erste stabile Version von PHP 7.2 und bei solchen Versionen ist immer Vorsicht geboten. Bisher sind uns aber keine negativen Effekte aufgefallen und sämtliche grossen CMS und Web-Frameworks sollten problemlos laufen unter PHP 7.2.
Sie können ganz einfach testen, ob Ihre Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter PHP-Manager können Sie die PHP-Version ganz einfach up- resp. downgraden.
]]>