Das Script Center jetzt noch übersichtlicher und umfangreicher

Unser App Store-Pendant für Webapps wurde übersichtlicher und neue Backup-Funktionen lassen Sie noch ruhiger schlafen.

Das Scriptcenter macht Ihr Leben einfacher

Die Installation von Webapps wie WordPress, Drupal, Joomla, Typo3 und vielen mehr reduziert sich mit dem Scriptcenter auf wenige Mausklicks und wird so zum Kinderspiel. Ebenso einfach wickeln Sie darüber Updates oder Backups Ihrer kompletten Webapps ab.

Das Scriptcenter beinhaltet aktuell mehr als 100 pfannenfertige Webapps. Der Hersteller Installatron garantiert dabei, dass Sicherheitsupdates von Webapps bereits wenige Stunden nach dem Release über einen simplen Klick auf «Update» eingespielt werden können.

Was ist neu?

Schickere Oberfläche

Die komplette Oberfläche des Scriptcenters wurde neu gestaltet. Das Resultat ist eine bessere Übersicht und eine Vereinheitlichung der Darstellung. Der Bildschirm mit den installierten Applikationen bietet nun zusätzliche Informationen wie zum Beispiel Datenbankgrösse, Webseiten-Gesamtgrösse oder Datum des letzten Backups.

Die Übersicht der installierten Webapplikationen wurde rundum-erneuert.

Die Übersicht der installierten Webapplikationen wurde verbessert.

Backup auf externem Server oder Dropbox

Eine weitere spannende Neuerung ist, dass nun Backups auf externe FTP-Server oder Ihr Dropbox-Konto möglich sind.

Ein Beispiel: Sie möchten, dass einmal im Monat ihr kompletter Blogs vollautomatisch in Ihr Dropbox-Konto kopiert wird? Ein solches Setup lässt sich in wenigen Mausklicks und auch mit nur wenig technischem Vorwissen umsetzen. Seit dem Update lässt sich neu auch auswählen, wie oft das Backup ausgeführt werden soll.

Um das kurzfristige Backup müssen Sie sich bei uns nicht kümmern, denn wir machen von all unseren Servern tägliche Backups Ihrer Daten und Datenbanken (inklusive E-Mails). Deshalb ist unsere Empfehlung für die automatisierten Backups, dass Sie diese in grösseren Abständen (zum Beispiel jeden Monat) an einen extern Standort machen.

Import leicht gemacht

Haben Sie bereits eine Webapp wie zum Beispiel Typo3 selber installiert, diese erscheint aber nicht im Scriptcenter in der Applikationsübersicht? Dann können Sie diese über den Import-Knopf einfach integrieren. Wählen Sie dazu in der Webapp-Übersicht die zu importierende Applikation an, klicken Sie den Import-Knopf, wählen Sie «Import» und folgen Sie den Anweisungen des Import-Assistenten.

Bestehende Webapp ins Scriptcenter importieren

Bestehende Webapp ins Scriptcenter importieren.

Nun wünsche ich Ihnen viel Spass beim Ausprobieren der neuen Funktionen.

Abhängigkeiten mit Composer verwalten – Teil 2

Nachdem wir Ihnen im ersten Teil dieses Blogposts einen Überblick zu den Funktionen und Einsatzgebieten von Composer geben konnten, geht es heute mit konkreten Beispielen ans Eingemachte.

Packagist

Was wäre eine Paketverwaltung ohne Paket-Verzeichnis: Bei Composer nennt sich dieses «Packagist». Es bietet auch eine ansprechende und übersichtliche Website an, auf welcher nach Paketen gesucht werden kann.

Packagist ist ein Paketverzeichnis für Composer.

Unter packagist.org befindet sich ein umfangreiches Verzeichnis an Paketen für Composer.

Composer & Packagist im Einsatz: QR-Code

Sucht man nun z.B. nach einer Möglichkeit, einen QR-Code zu generieren, gehen Sie folgendermassen vor:

  • Auf packagist.org nach „QR“ suchen
  • Anhand der Beschreibung und der Anzahl Downloads und Stars ein geeignetes Paket aussuchen
  • Hat man ein geeignetes Paket gefunden (z.b. «qrcode») so kann der genaue Name („endroid/qrcode“) kopiert werden und im composer.json File hinzugefügt werden. Als Version kann hier jetzt 1.1.* angegeben werden, dann wird bei einem composer update auf alle Versionen aktualisiert, welche diesem Konstrukt entsprechen: "endroid/qrcode": "1.1.*"
  • Wenn dies im composer.json File hinzugefügt wurde, so kann ein composer update endroid/qrcode ausgeführt werden. (composer install wird nur beim ersten Mal verwendet. Oder aber wenn die Abhängigkeiten aus dem composer.lock File installiert werden sollen)

Autoloading

Composer erstellt automatisch einen PSR-0 kompatiblen Autoloader. Dieser kann ganz einfach mittels der generierte Autoloader-Datei vendor/autoload.php eingebunden werden.

PHP-Code

Ein einfaches PHP-Script welches nun die QR-Code Library verwenden sollte, kann nun folgendermassen aussehen:

Diese Code erzeugt ein nun ein QR-Tag mit dem im File angegebenen Parametern.

Verwendung von Composer auf einem cyon-Webhosting

Wir empfehlen Ihnen, das Composer-Setup lokal auf dem Computer einzurichten. Wenn lokal alles bereit ist, können Sie das ganze Projekt via SFTP oder FTPS auf das Webhosting hochladen. So vermeiden Sie Unterbrüche beim Deployment.

Sie können mit allen unseren Webhosting-Angeboten Composer aber auch über SSH mittels dem Befehl composer install direkt auf dem Server ausführen. Dazu müssen Sie einfach das fertige Projekt inklusive dem vendor Ordner direkt via SFTP/FTPS heraufladen.

Für grosse Projekte: Satis

Eigens entwickelte Pakete, die nicht öffentlich angeboten werden sollen, können über die folgenden zwei Varianten eingebunden werden.

Composer erlaubt die direkte Einbindung von Git Repositories. Bei Projekten mit mit mehreren nicht öffentlichen Paketen kann diese Variante schnell unübersichtlich werden und schwer zu verwalten sein.

Die Composer Entwickler haben zu diesem Zweck das Satis Projekt entwickelt, das genau dieses Problem adressiert. Mit Satis kann ein simpler, statischer Packagist Server aufgebaut werden.

Bei cyon haben wir Satis im Einsatz und ihn so konfiguriert, dass er bei jeder Änderung an unseren Git-Projekten (via git hooks) eine neue statische Paket-Liste generiert wird.

Fazit

Composer in Kombination mit Satis sind auch komplexen Anforderungen gewachsen und lassen sich so individuell konfigurieren, dass diese in fast jedes Setup integrieren lassen. Dank dem Pakete-Verzeichnis Packagist kann nach bereits bestehenden Elementen gesucht und danach simpel in das eigene Composer-Projekt integriert werden.

Wenn Sie nicht bereits jetzt ein Fan von Composer sind, könnte sich das nach einem ersten Versuch rasch ändern.

Führte obiges Beispiel mit dem QR-Code zu einem Erfolg? Oder haben Sie sonst etwas anzumerken? Wir freuen uns auf Ihren Kommentar.

Änderungen bei CNOBI-Domains

Am 31. August hat die ICANN einige Änderungen in der Handhabung von CNOBI-Domains durchgeführt. Als Domain-Registrar sind wir dazu verpflichtet, diese zu übernehmen. Die Auswirkungen beschränken sich bei cyon glücklicherweise auf den Lebenszyklus von gekündigten CNOBI-Domains, sprich der gebräuchlichsten generischen Top Level Domains .com, .net, .org, .biz und .info.

Neu werden bei gekündigten Domains 35 Tage nach Laufzeitende die Nameserver umgestellt (vereinfachte Darstellung).

Neu werden bei gekündigten Domains 35 Tage nach Laufzeitende die Nameserver umgestellt (vereinfachte Darstellung).

Vieles bleibt wie gehabt

Solange Sie Ihre CNOBI-Domain nicht kündigen, bleibt alles beim Alten: Wir verlängern die Domains am Ende der Laufzeit automatisch.

Neu sind dagegen ICANN-Erinnerungs-E-Mails. Wenn Ihre CNOBI-Domain kürzlich auslief, haben Sie vermutlich eine generische E-Mail mit folgendem Inhalt erhalten:

Sie erhalten diese Nachricht als Erinnerung hinsichtlich des Laufzeitendes Ihrer oliverorange.com im Rahmen der ICANN Expired Registration Recovery Policy http://www.icann.org/en/resources/registrars/consensus-policies/errp.

Nach unseren Daten endet die aktuelle Laufzeit Ihrer Registrierung am:

[Auslaufdatum, z.B. 2013-09-25]

Ihre Registrierung des Domainnamens kann im Rahmen der Vertragsbedingungen Ihres Serviceproviders weiterhin verlängert werden. Sofern Sie eine Verlängerung Ihrer Domain wünschen, besuchen Sie bitte die Webseite Ihres Serviceproviders für weitere Informationen und stellen Sie sicher, dass Ihre Zahlungen rechtzeitig erfolgen.Mit freundlichen Grüßen,
Ihr ICANN-Accredited Registrar

Die Nachricht ist etwas unglücklich formuliert und viele Kunden haben uns deshalb besorgt kontaktiert, ob mit ihrer Domain alles in Ordnung sei. Wir konnten jeweils Entwarnung geben: Domains werden bei uns so lange automatisch verlängert, bis Sie diese explizit künden.

Zum Glück können wir diese generische Nachricht in naher Zukunft ähnlich unserer Erinnerungs-E-Mail aufbereiten. Bis dahin erhalten Sie aber noch oben zitierte Nachricht.

Was sich ändert

Wenn Sie eine CNOBI-Domain bei uns kündigen gibt es einige Änderungen, welche wir künftig in unsere AGB aufnehmen werden:

  • Wenn die Domain ausgelaufen ist, werden 35 Tage nach dem Auslaufdatum die Nameserver der Domain automatisch geändert. Für acht Tage erscheint dann eine Hinweisseite mit Informationen zum erneuern der Domain.
  • Eine verlorene Domain kann von uns während der sogenannten «Grace Period», das heisst bis 73 Tage nach dem Ablaufdatum wiederhergestellt werden. Dafür wird jedoch eine Gebühr von CHF 100 fällig.

CNOBI-Domains bei cyon

Falls Sie Ihre CNOBI-Domain noch nicht bei uns haben, können Sie diese jetzt in wenigen Schritten transferieren. Sie profitieren dabei von allen Vorzügen, welche Sie auch schon von unserem Webhosting her kennen.

Unser Support steht Ihnen bei Fragen oder Unklarheiten sehr gerne zur Verfügung. Ebenso gerne beantworten wir Ihre Fragen in den Kommentaren.

Mit Composer die Übersicht behalten – Teil 1

Viele PHP-Projekte ab einer gewissen Grösse erreichen früher oder später einen Punkt, ab dem es schwierig ist die Übersicht zu behalten. Eine Schwierigkeit dabei ist, die ganzen Abhängigkeiten von Klassen, Frameworks und Paketen im Programmiercode zu überblicken und in getesteten Versionen zu halten.

An diesem Punkt kommt nun Composer ins Spiel. Mit Hilfe von Composer können Sie die Abhängigkeiten Ihres Codes zu anderen Paketen (zum Beispiel Symfony) definieren. So kann unter anderem sichergestellt werden, dass Ihr Projekt, das auf einer spezifischen Version von Symfony läuft, auch mit der korrekten Symfony-Version ausgeliefert wird.

Composer ist sehr weit verbreitet und kommt zum Beispiel bei Symfony 2 Framework zum Einsatz, welches komplett per Composer installiert werden und darüber alle Abhängigkeiten selbstständig auflösen kann.

Dependency Manager for PHP

Composer: Dependency Manager für PHP

Ein wenig Geschichte

Composer wurde von Jordi Boggiano und Nils Adermann ins Leben gerufen. Mittlerweile beteiligen sich jedoch schon rund 240 Leute an der Entwicklung des Projektes auf Github.

Composer wurde unter anderem von npm, dem Package Manager für node.js inspiriert. Dieser zählt mittlerweile über 40’000 Pakete und hat ein grossartiges Ökosystem für node.js geschaffen.

Verwendung

Die Verwaltung von Abhängigkeiten unter PHP ist ja prinzipiell nichts neues. Dies lässt sich zum Beispiel auch via PEAR lösen. Es gibt allerdings einige grosse Unterschiede, was Composer anders macht:

  • Mit Composer werden Abhängikeiten für ein einzelnes Projekt verwaltet und in einem vendor-Ordner im Projektverzeichnis abgelegt. Mit PEAR werden die Abhängigkeiten systemweit installiert.
  • Jedes Comoposer Package beinhaltet eine composer.json Datei, welche das Paket und alle Abhängigkeiten davon beschreibt. Es ist kein Problem ein Paket in einer anderen Version zu verwenden als das ein schon verwendetes Paket tut.
  • Es ist möglich PEAR-Pakete mit Composer zu installieren.
  • Es gibt eine composer.lock Datei, welche die installierten Pakete mit der genauen Version beinhaltet. So kann auf einem anderen Computer nur noch composer install ausgeführt werden, um die gleichen Pakete in der genau gleichen Version zu installieren.
  • Für Entwickler ist es um einiges einfacher, eigene Pakete anzubieten: Dafür muss nur das öffentlich erreichbare Git-Repository (z.B. auf GitHub, BitBucket o.ä.) auf packagist.org registriert werden.

Wie Composer bei cyon eingesetzt wird

Auch wir nutzen intern Composer für die Verwaltung der Abhängigkeiten im Code des my.cyon und unseres internen Kundenverwaltungssystems froox. Konkret haben wir alle kleineren Komponenten, welche an verschiedenen Stellen eingesetzt werden können, in einem eigenen Repository. Diese Komponenten können dann über composer und unseren internen Satis (mehr zu Satis im Teil 2) verwendet werden. Dies macht es für uns sehr einfach, Komponenten sowohl im my.cyon als auch in froox zu verwenden.

Composer auf einem cyon-Webhosting

Falls Sie für Ihre Webapplikation ebenfalls Composer einsetzen möchten, so können Sie dies ohne Probleme tun. Wie so oft, gibt es dafür mehrere Möglichkeiten:

  • Setzen Sie das Composer-Setup lokal auf Ihrem Computer auf und laden Sie die Seite im Anschluss per SFTP oder FTPS hoch.
  • Mit allen unseren Webhosting-Paketen haben Sie auch via SSH Zugriff auf den Server und können Composer direkt über eine Terminal-Applikation über SSH-Befehle steuern.

Details zu beiden Methoden erfahren Sie im zweiten Teil dieses Blogposts. Und der wird nicht lange auf sich warten lassen.
Zudem stellen wir Ihnen dann noch das Appstore-Pendant „Packagist“ und Satis vor. Ein konkretes Beispiel packen wir auch dazu, damit Sie mit dem (neuen) Wissen gleich ein kleines Projekt umsetzen können.

Haben Sie schon Erfahrungen mit PHP-Frameworks und Systemen, welche Ihnen die Verwaltung von komplexem Code vereinfachen? Wir freuen uns über Kommentare und Anregungen.

Abhängigkeiten mit Composer verwalten – Teil 2

Die cyon-Cloudserver verlassen die Betaphase

Vor ein paar Monaten haben wir die cyon-Cloudserver lanciert, welche wir in drei Geschmacksrichtungen anbieten:

Der Speedserver ist für Websites mit hohem Besucheraufkommen konzipiert, der Agencyserver erfüllt die Hostingbedürfnisse von Webagenturen und mit dem Geekserver stellt cyon einen frei konfigurierbaren Server zur Verfügung.

Hinweis: Wir haben das Geekserver-Angebot per Ende Juli 2017 eingestellt.

cloudserver

Seit dem Start in die Betaphase haben wir intensiv weiter getüftelt, getestet und geschraubt sowie zahlreiche Rückmeldungen der ersten Cloudserver-Kunden umgesetzt. Und heute können wir das Ende der Betaphase verkünden:

Cloudserver 1.0

Der letzte grosse Puzzlestein – die Sofortaktivierung – ist fertig. Ab sofort sind unsere Cloudserver für alle zu haben. Und das innert knapp drei Minuten (Geekserver) bis maximal einer viertel Stunde (Speed- und Agencyserver). Egal ob mitten in der Nacht oder an einem Samstag-Nachmittag: Ihr Cloudserver ist dann bereit, wenn Sie ihn brauchen. Wer sich gleich ins Vergnügen stürzen möchte, kann auf unserer Webseite sofort bestellen.

Preissenkung beim Speedserver

Eine weitere schöne Neuerung ist eine kräftige Preissenkung bei unserem Speedserver. Eine Konfiguration mit nur einem CPU-Kern hat sich während der Betaphase weniger bewährt, da dieser oft schon durch Hintergrundarbeiten wie E-Mails, Firewall oder MySQL ausgelastet wurde. Deshalb startet der Speedserver neu mit zwei CPU-Kernen und ganzen 3 GB Arbeitsspeicher. Statt dem ehemaligen Preis von CHF 217/Monat werden für die identische Leistung nur noch CHF 149/Monat fällig und auch die weiteren Leistungsschritte wurden entsprechend günstiger.

Speicherplatz bleibt fest

Eine weitere Neuerung betrifft den Speicherplatz. Bislang ist dieser mit den einzelnen Leistungsstufen – den sogenannten Slices – mitgewachsen oder geschrumpft. Das Verändern des Speicherplatzes benötigt einen Neustart des Servers. Da in der Praxis aber meistens nur mehr CPU-Leistung und Arbeitsspeicher (RAM) gewünscht sind, ist dieser Neustart unnötig. Unser Speedserver verfügt deshalb neu fix über 100 GB Speicherplatz und beim Geekserver sind es deren 50. Weiterer Speicherplatz ist natürlich nach wie vor erhältlich und wird ebenfalls günstiger: 50 GB kosten neu CHF 25 pro Monat (vorher CHF 40).

Einzig beim Agencyserver macht diese Umstellung wenig Sinn, da der Bedarf an Speicherplatz bei zunehmender Kundenzahl mitwächst. Hier bleibt also alles beim Alten: pro 25 Kunden gibt es 50 GB Speicherplatz zusätzlich.

Die Reise geht weiter

Unsere Cloudserver sind nun zwar der Betaphase entwachsen, aber damit sind wir natürlich noch lange nicht fertig. Gemessen am bisherig grossen Interesse scheinen wir einen Nerv getroffen haben und können Bedürfnisse erfüllen, für welche es bislang keine Alternativen gab. Unsere Roadmap ist entsprechend voll mit Ideen und so wird es weiterhin schöne Neuerungen geben.

Und das gilt nicht nur für die Cloudserver: Auch für unsere Webhosting-Angebote gehen uns die Ideen nie aus und wir haben noch einige Überraschungen in petto.