Kategorien
Infrastruktur Messenger Server Services Soziale Netze

Dezentrale Mastodonten

Netzwerke können zentral oder dezentral organisiert werden.
In der zentralen Variante gibt es einen Ort (die Zentrale), in der alle Fäden zusammenlaufen. In der dezentralen Variante gibt es diesen Ort nicht. Hier müssen Spielregeln (Protokolle) die Zentrale ersetzen.
Das gilt grundsätzlich für alle Arten von Netzwerken. Zentrale und dezentrale Elemente können auch vermischt werden. Es ist relativ leicht Beispiele für zentrale Netzwerke zu finden, bei dezentralen Netzen fällt das schon schwerer.
Die Ursache ist ganz einfach. Zentrale Strukturen lassen sich mit überschaubarem Aufwand kontrollieren. Damit meine ich nicht nur böse Abhörszenarien, sondern ganz einfache Zusammenhänge wie: „der Laden soll laufen und Geld verdienen“. Wenn ich ein zentrales System anbiete, muss sich der Besucher oder Kunde nur einmal registrieren, kann seine Daten hinterlassen (Adresse, E-Mail, Kreditkarte) und kann dann in dieser „Welt“ Dinge tun. So ein Modell nennt man Walled Garden. Das funktioniert in der virtuellen Welt (Amazon, Apple ID/Store, Google Login, Facebook Login, Spieleanbieter, etc.) und natürlich auch in der realen Welt. In einem Fitnessclub kann ich mich ebenfalls registrieren und dann Dinge tun. Alle Vereine, Staaten, Clubs und viele andere Gruppen funktionieren nach solchen Prinzipien und grenzen sich mehr oder weniger stark von anderen Gruppen ab. An der Grenze oder der Eingangstür (der Registrierung) ist dann, je nach Ansatz, oft ein Geschäftsmodell angesiedelt. Dort wird ein Vertrag geschlossen, der die Basis für alle weiteren Beziehungen darstellt. Je größer ein zentrales System wird, desto einfacher kann es seine Marktmacht einsetzen. An Facebook beispielsweise kommt heute keiner mehr vorbei (Instagram und WhatsApp gehören ebenfalls zu Facebook). Wer dort nicht registriert ist, kennt zumindest jemanden, der dort registriert ist und wird damit auch ein Teil des Systems. Solange die Geschäftsmodelle beide Seiten glücklich machen, ist das ja auch o.k.

Bei Twitter beispielsweise ist es „so eine Sache“ mit dem Geschäftsmodell. Twitter startete ebenfalls zentral, bot aber anfangs einen kostenlosen Zugriff auf die Tweets an, um Dritten (Programmierern und Firmen) zu ermöglichen, auf der Basis dieser Daten eigene Services anzubieten. Diese Services konnten darüber hinaus das zentrale Twitter Login nutzen und waren in der Gestaltung ihrer Services „frei“. Das klappte zu Beginn auch hervorragend und in kurzer Zeit  entwickelte sich eine bunte Welt aus Apps und Websites, die auf der Basis von Twitters Daten eigene Geschäftsmodelle aufbauten und/oder Open Source Software entwickelten. Durch diese freigesetzte Kreativität entwickelte sich Twitter schnell zu DEM weltweiten Newskanal. Ein Flugzeug im Hudson River und zuletzt der Wahlkampf von Donald Trump definierten weltweit die Bedeutung von Twitter. Twitter selbst ging vor 4 Jahren an die Börse, schaltete den kostenlosen Zugriff auf die Daten ab und sucht seither nach einem tragfähigen Geschäftsmodell.
Die Finanzierung der zentralen Twitter Datenbank ist noch immer nicht wirklich geklärt und Initiativen wie If we owned Twitter suchen nach Möglichkeiten das zentral organisierte Twitter System in ein „crowd owned Twitter“ zu verwandeln. Firmen wie App.net wollten es „anders“ machen. Zahlreiche Open Source Projekte versuchen ähnliche System Systeme mit einem dezentralen Ansatz (GnuSocial, Friendica) zu erstellen. In der Vergangenheit sind solche Ansätze oft ohne nennenswerten Erfolg geblieben (Henne-Ei Problem).

Nun gibt es wieder mal ein Projekt … mit lustigen, vorzeitlichen Elefanten als Logo.

Mastodon

Mastodon ist ein freies Open-Source-Netzwerk. Eine dezentralisierte Alternative zu kommerziellen Plattformen. Jeder kann seine eigene Mastodon-Instanz betreiben und sich am sozialen Netzwerk beteiligen.
Es bietet:

  • Chronologische Timelines
  • Öffentliche Timelines
  • 500 Buchstaben pro Post
  • GIFs und Videos
  • Berechtigungseinstellungen auf Post Ebene
  • Werkzeuge um „das Rauschen“ zu filtern und zu blocken
  • Keine Werbung, kein Tracking
  • Offene API für Apps und Services

Eugen hat es erfunden (Welcome to Mastodon) und technisch ist es eine alternative Implementierung des GNU Social Projekts. Dadurch ist es auch kompatibel mit allen Programmen, die das OStatus-Protokoll nutzen.
Der entscheidende Unterschied zu Twitter ist die verteilte Verbindung einzelner Instanzen (Föderation), genau wie bei E-Mail.

Beispiel Netzwerk https://de.wikipedia.org/wiki/Verteiltes_Soziales_Netzwerk
Beispiel Netzwerk https://de.wikipedia.org/wiki/Verteiltes_Soziales_Netzwerk

Beim E-Mail System können die Benutzer interagieren. Sie können eine E-Mail von GMail zu Outlook senden und von Outlook zu ein anderen privaten E-Mail Posteingang. Mastodons Verbund ist ähnlich aufgebaut: Benutzer von verschiedenen Seiten (Instanzen) stellen Verbindungen zwischen den Instanzen her, indem sie einander folgen und einander Nachrichten wie in anderen sozialen Netzwerk senden.

Ausprobieren

Bevor du nun sofort deine eigene Mastodon Instanz aufsetzt (was uns bei NOVATREND natürlich sehr freuen würde), solltest du es zunächst bei einer existierenden Instanz ausprobieren. Eine Liste aktiver Instanzen findest du hier. In der Schweiz werden momentan diese 2 Instanzen betrieben.

  1. keypat.ch
  2. social.glados.ch
Registrierung auf keypat.ch
Registrierung auf keypat.ch

Nach erfolgter Registrierung und Anmeldung erscheint diese Oberfläche:

Mastodon - erster Besuch
Mastodon – erster Besuch

In den Preferences lässt sich die Sprache auf Deutsch umstellen.

Einstellungen
Einstellungen

Der keypat.ch Server beherbergt mit mir 5 Benutzer und es gab bisher eine Nachricht von Marc. Nun gibt es zwei Nachrichten, die heißen bei Mastodon übrigens „Toots“, auf deutsch dann „Troets“ (Elefanten halt).

Ein Toot
Ein Toot

Auch ich habe nun auf keypat.ch ein Profil. An genau dieser Stelle war ich schon oft bei GNU Social und anderen Projekten. Allein auf einem Server ohne „Freunde“ :).

Hinweis: Ich kenne weder Marc, noch keypat.ch und stelle beide hier als Beispiel für diesen Artikel vor – Danke dafür! 

Mit anderen Kontakt aufnehmen

Es gibt ein Tool, das deine Twitter Freunde mit Mastodon abgleicht (Mastodon Bridge). Falls sie eine Mastodon Adressen haben, tauchen sie in der Liste auf und du hast die Möglichkeit ihnen zu folgen.

Mastodon Bridge
Mastodon Bridge

Eigene Instanz

Mastodon ist in Ruby on Rails geschrieben und die Dokumentation beschreibt die Installation auf einem Linux Server (Production Guide). Es gibt auch ein Docker Paket.

Fazit

Mastodon funktioniert zunächst mal sehr gut und hat immerhin einen kleinen Hype weltweit ausgelöst. Das „Wie finde ich Freunde“ Problem ist elegant gelöst. Die GNU Social Kompatibilität ist ebenfalls sehr gut. Eigentlich könnte es diesmal klappen 🙂

Links


tl;dr: Mastodon ist eine dezentrale Open Source Microblogging Software mit viel Potential

Save

Kategorien
Allgemein Content Management Systeme Datenbanken Infrastruktur Shared Hosting Tools Wunschthema

Dateien und Datenbanken

Auf den Artikel Datenrettung – komfortabel, sicher und kostenlos! in der letzten Woche gab es viele positive Kommentare. Positive Kommentare freuen uns, zeigen sie doch, dass wir auf dem richtigen Weg sind. Interessant als Feedback sind aber auch die eher negativen Kommentare. Schliesslich erfahren wir auf diese Art und Weise, woran wir vielleicht gar nicht gedacht hat. Hier ein Beispiel von Fabian:

Ein vorbildlicher Service! Habe ich das aber richtig gelesen. Ich verliere damit „die schnelle Sicherung“ vor einem Update und kann das auch nicht mehr automatisiert (bequem) im cpanel machen? Und die super mega coole Clone-Möglichkeit einer WP Umgebung im Installatron geht dann auch nicht mehr? Für mich persönlich wäre das ein Rückschritt im Workflow.
Für den „normalen“ Betrieb natürlich eine Verbesserung. Aber man kann es nie allen Recht machen 😉

Ich wollte erst eine Antwort im Kommentar schreiben, dachte dann aber, es wäre besser daraus einen Blogeintrag zu machen.

Dateien und Datenbanken

Backups bestehen normalerweise aus Dateien (Textdateien, Bilddateien, HTML-Dateien, etc). Wenn eine Website, die mit einem Content Management System wie WordPress oder Joomla erstellt ist, gesichert werden soll, muss ausser den Dateien auch die Datenbank gesichert werden. Das hört sich einfach an, ist aber eine Wissenschaft für sich.

Wenn ich beispielsweise eine Bilddatei habe (meinbild.jpg), dann kopiere ich dieses Bild einfach an den gewünschten Ort im Dateisystem und habe ein Backup. Der Restore Prozess besteht ebenfalls aus dem Kopierbefehl.

Wenn ich eine Datenbank benutze, so greife ich auf diese Datenbank mit einem Hostnamen, einem Benutzernamen und einem Passwort über eine wie auch immer gestaltete Programmiersprache zu. Ich kann die Datenbank daher nicht einfach so „kopieren“. Um die Arbeitsweise zu verdeutlichen hier ein kleines Beispiel.

Wenn ich eine Joomla Site betreibe, könnte ich in der Tabelle jos_content mit dem SQL Befehl:

SELECTFROM `jos_content` WHERE `id` = 1

den Inhalt des ersten erstellten Artikels erhalten. Dieser Inhalt wird mir dann in einem Array, einer Liste oder einem Objekt meiner Programmiersprache angeboten. Um den eigentlichen Inhalt zu sehen, muss ich ihn irgendwo ausgeben. Das geht natürlich auf der Website:

Joomla Website
Joomla Website

Das geht aber auch in Programmen wie phpMyAdmin. Da sieht die Ausgabe nicht so schick aus, der Inhalt ist allerdings tatsächlich der Gleiche.

jos_content Tabelle
jos_content Tabelle

So richtig „greifen“, wie eine Bilddatei, lässt sich eine Datenbank daher nicht.  Joomla kann tausende von Artikeln verwalten, wie soll ich die sichern? Du ahnst es vielleicht schon: Ich verwandle die Datenbank in eine Datei. Um das zu machen, benötige ein Werkzeug, ein Programm, eine Programmiersprache … irgendwas, dass es mir erlaubt, auf die Daten in der der Datenbank zuzugreifen.

Der Datenbankserver MySQL bringt das Kommandozeilen Tool mysqldump mit. Mit dem Befehl:

mysqldump -u [uname] -p[pass] db_name > db_backup.sql

kann ich den Inhalt der Datenbank in eine Datei verwandeln.
Mit einem anderen Befehl könnte ich eine einzige Tabelle, wie die jos_content sichern/exportieren.

mysqldump -u [uname] -p[pass] db_name table > table_backup.sql

So prinzipiell geht es um das im- und exportieren von Daten in eine Datenbank hinein oder aus einer Datenbank heraus.

Die .sql Datei, die beim Sichern/Exportieren erzeugt wird, enthält den Befehl diese Tabelle wieder zu erzeugen (CREATE TABLE)

CREATE TABLE `jos_content` (
 `id` int(10) UNSIGNED NOT NULL,
 `asset_id` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'FK to the jos_assets table.',
 `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',

.............. VIEL MEHR ANWEISUNGEN ...........................
 `language` char(7) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The language code for the article.',
 `xreference` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'A reference to enable linkages to external data sets.'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

und die Befehle die einzelnen Artikel wieder zu erzeugen (INSERT INTO)

INSERT INTO `jos_content` (`id`, `asset_id`, `title`, `alias`, `introtext`, `fulltext`, `state`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by` ...) VALUES
(1, 61, 'Getting Started', 'getting-started', '<p>It\'s easy to get started creating your website. Knowing some of the basics will help.</p><h3>What is a Content Management System?</h3><p>A content management system is software that allows you to create and manage webpages easily by separating the creation of your content from the mechanics required to present it on the web.</p><p>In this site, the content is stored in a <em>database</em>. The look and feel are created by a <em>template</em>. Joomla! brings together the template and your content to create web pages.</p><h3>Logging in</h3><p>To login to your site use the user name and password that were created as part of the installation process. Once logged-in you will be able to create and edit articles and modify some settings.</p><h3>Creating an article</h3>
.............. VIEL MEHR ANWEISUNGEN ...........................

Nun haben wir die Datenbank als Datei vorliegen, können diese Datei kopieren und wir können die Daten in der Datei in eine andere Datenbank importieren.

Hinweis: Die normalerweise mit einem Passwort geschützten Daten liegen nun übrigens ungeschützt in einer Datei auf einer Festplatte. 

An dieser Stelle wird es interessant, weil diese Funktionen für mehrere Zwecke genutzt werden.

  1. Backup und Restore im Sinne der Sicherung der Daten
  2. Export und Import im Sinne von Umziehen und Kopieren von Daten

Da der mysqldump Befehl natürlich nicht besonders benutzerfreundlich ist und teilweise den Nutzern auch gar nicht zur Verfügung steht, werden Backup Tools (außer zum Backup) auch gern zum Klonen von Websites genutzt. Das funktioniert bei „überschaubaren“ Sites noch ganz gut, bei Sites mit größeren Datenbanken klappt es oft nicht mehr so gut. Die Gründe sind vielfältig.

Nach dieser langen Vorrede möchte ich zum Kern meiner Antwort an Fabian kommen.

phpMyAdmin

Wer mit Datenbanken hantiert, dem ist der Name phpMyAdmin sicher schon mal über den Weg gelaufen. Mit phpMyAdmin lassen sich Datenbanken exportieren (Backup) und importieren (Restore). Musste man früher noch Parameter festlegen, so sind es heutzutage wirklich nur ein paar Mausklicks zum Erfolg.
Im cPanel muss das Icon phpMyAdmin angeklickt werden.

cPanel Datenbanken
cPanel Datenbanken
phpMyAdmin
phpMyAdmin

Auf der linken Seite sehe ich meine Datenbanken. Die seafoll1_jos1 ist die Joomla Datenbank.

Backup einer Datenbank

Um nun diese Datenbank zu sichern, musst du sie mit einem Klick auf den Namen auswählen und auf den Reiter Exportieren klicken.

phpMyAdmin Datenbank Export
phpMyAdmin Datenbank Export

Du kannst alle Einstellungen so lassen, wie sie sind und auf den OK Button klicken. Das Programm phpMyAdmin erzeugt eine .sql Datei und lädt sie auf deinen PC herunter. Das ist das Backup!
Aus Platzgründen kannst du die Datei noch in ein komprimiertes Archiv verwandeln (zippen).

Restore einer Datenbank

Genau so einfach wie das Backup ist der Restore Vorgang. Es liegt nun an dir, welches Szenario du benötigst

  1. vor einem Update soll eine schnelle Sicherung gemacht werden
  2. nach einem Schaden soll ein Restore in der gleichen Datenbank vorgenommen werden
  3. die Site soll „geklont“ werden

Schnelle Sicherung

Wenn du eine schnelle Sicherung vor einem Update benötigst, würde ich die Datenbank gar nicht exportieren, ich würde sie einfach „kopieren“. Das funktioniert komplett auf dem Server und reicht als Notfall für ein fehlgeschlagenes Update aus.

phpMyAdmin - Datenbank kopieren
phpMyAdmin – Datenbank kopieren

Achtung: Wenn das Update ohne Fehler durchgelaufen ist, solltest du die Kopie der Datenbank wieder löschen um Speicherplatz zu sparen.

Restore in der gleichen Datenbank

In diesem Fall müssen die existierenden „schlechten“ Tabellen zunächst gelöscht werden. Dazu musst du im Reiter Struktur alle Tabellen markieren und löschen. Damit wirklich nichts verloren geht, kannst du vorher die „schlechte“ Datenbank unter einem anderen Namen kopieren.

phpMyAdmin - Tabellen löschen
phpMyAdmin – Tabellen löschen

Anschließend klickst du auf den Reiter Importieren, wählst deine .sql Datei des Backups mit den „guten“ Daten aus und klickst auf den OK Button. Alle Daten aus der Datei werden in die Datenbank importiert.

phpMyAdmin - Datenbank importieren
phpMyAdmin – Datenbank importieren

Site soll geklont werden

In diesem Fall muss das .sql Backup der einen Datenbank einfach in die gewünschte andere Datenbank importiert werden.

Fazit

Zunächst einmal vielen Dank an Fabian für den Kommentar. Bei einer kurzen Diskussion über das Thema wurde uns wieder klar, wie komplex die Zusammenhänge bei Datenbanken sein können. Unter anderem um die diese Komplexität zu reduzieren, haben wir das neue System überhaupt eingeführt. Wer wie Fabian (und ich auch) manchmal komplexere Aktionen machen will, dem sei daher phpMyAdmin wärmstens empfohlen.


tl;dr: Wir machen aus einer Datenbank eine Datei 🙂

 

 

Save

Kategorien
Backup Infrastruktur News

Datenrettung – komfortabel, sicher und kostenlos!

ACHTUNG UPDATE Dezember 2018

Wir haben das Backup Verfahren geändert.
Hier ist der aktuelle Stand:
Wie kann ich meine Daten wiederherstellen?

ACHTUNG UPDATE Dezember 2018


Je mehr Prozesse und Dokumente als Bits und Bytes gespeichert werden, desto wichtiger werden Backups im Falle eines Datenverlusts.

So ein Verlust kann beispielsweise ganz unabsichtlich (und plötzlich) durch das versehentliche Löschen der eigenen Daten erfolgen. Ein Verlust kann auch durch fehlende System Updates auf verschiedenen Ebenen (Betriebssystem, Webserver, Datenbankserver, Browser, Chat Client) erfolgen. Durch die dadurch entstehenden Sicherheitslücken können Dritte in die Systeme eindringen. Es geht auch über gehackte CMS Benutzerkonten, Hosting Accounts, FTP Zugangsdaten, MySQL Passworte, Passwort Manager, „vergessene“ SSH Schlüssel und vieles andere mehr. Die Daten sind im besten Fall „nur“ verschwunden oder verändert. Außer diesen eher weichen Faktoren kann auch einfach mal etwas kaputt gehen, beispielsweise eine Festplatte, ein Stück Speicher oder auch ein Netzteil. Von Wasserschaden, Stromausfällen und Naturkatastrophen will ich gar nicht anfangen.

  1. Wie wichtig das Thema Backup ist, lernt man schnell, wenn man eins braucht und keins hat!

Vor JEDEM Update sollte ein Backup erstellt werden.
Machst du das nicht und etwas läuft beim Update schief … zack … stehst du da.

2. Der Lerneffekt ist im Schadensfall extrem hoch

Wenn der Lerneffekt greift, beginnt oft die Suche nach dem Schuldigen. Die ist gar nicht einfach, bewegt man sich doch mit einer Website auf vielen Ebenen. Hier nur ein paar Beispiele von Artikeln aus unserem Blog, in denen wir das Thema Backup bereits ansprachen.

Als Hosting Provider geben wir unseren Kunden alle Möglichkeiten Backups zu erstellen, müssen aber auch feststellen, dass letztendlich DU (der Kunde) für deine Daten selbst verantwortlich bist.
Wir können nur bis zu einem gewissen Punkt im Hintergrund helfen. Was also tun?

Variante 1: Ein Geschäftsmodell?

Wenn ein Kunde seine Daten vermisst, redet man über viel, selten über Geld. Der Anbieter versucht vermutlich wiederherzustellen was geht. Viele Anbieter machen aus einer solchen Wiederherstellung einer existierenden Sicherung (Restore Service) ein gut laufendes Geschäft und verlangen mehrere hundert Franken dafür. So ganz unrecht haben sie dabei nicht, denn natürlich bedeutet es Aufwand und Arbeit, die Daten wiederherzustellen. Die Frage ist nur: Wieviel Aufwand und Arbeit? Auch wir haben in der Vergangenheit den Restore Service kostenpflichtig angeboten, hatten viel Arbeit damit  und zählten mit 45.00 Franken zu den günstigsten Anbietern auf dem Markt. Wohl war uns dabei nicht wirklich, denn wir wollten nicht am Unglück oder Unvermögen unserer Kunden verdienen.

Variante 2: Ein kostenloser Service?

Wenn du Web- oder Datenbankserver bei uns mietest, sollten die auch als Server agieren und nicht als Storage Systeme für Backups. Dafür gibt es zwei Gründe:

  1. Server sollen Daten an Clients liefern und das möglichst schnell und effektiv. Auf die Wiederherstellung eines Backups wartet man gern mal ein paar Sekunden länger, wenn es denn hinterher wieder funktioniert.
  2. Server und Backup sollten auf unterschiedlichen physikalischen Maschinen laufen, damit nicht beispielsweise der Server gehackt und gleichzeitig die Backups gelöscht werden können.

Aus diesen Gründen werden wir das cPanel Backup Verfahren, wie ich es im Artikel Ein schnelles Backup vor dem Update! beschrieben habe,  in Zukunft einstellen.
Auch das Backup innerhalb des cPanel Installatrons (siehe auch cPanel Installatron – News aus der Kunst auf Planet Seafolly mit Selfoss) werden wir in Zukunft nur noch auf externen Medien wie beispielsweise DropBox erlauben. Bisher landen die Backups im Verzeichnis /application_backups in deinem Webhosting

ACHTUNG: Seit November 2017 benutzen wir das Tool Softaculous. Im Beitrag Automatisierte Installation mit Softaculous beschreibe ich die grundlegenden Vorgehensweisen.

Aber Achtung! Wenn wir zwei Dinge „wegnehmen“, dann geben wir natürlich mindestens ein viel besseres Ding wieder zurück 🙂

Ein zentrales Storage System

Du hast ab sofort die Möglichkeit auf unser zentrales Storage System selbst zuzugreifen. Von dort kannst du deine Dateien und MySQL Datenbanken selbst wiederherstellen. Und wenn du das selbst machst, dann wollen wir dafür auch nicht bezahlt werden. Der gesamte Service ist kostenlos, denn wir haben uns für die zweite der oben beschriebenen Varianten entschieden.

Wie geht das?

Wir bei NOVATREND sichern täglich alle Kunden Daten und speichern diese sieben Tage lang. Wenn du nun deine Daten benötigst, klickst du einfach auf das Sicherungen wiederherstellen Icon im cPanel.

cPanel - Sicherungen wiederherstellen
cPanel – Sicherungen wiederherstellen

Du wirst von dort auf das Storage System weitergeleitet und siehst eine Liste der letzten sieben Sicherungen.

Storage System mit Sicherungen der letzten sieben Tage
Storage System mit Sicherungen der letzten sieben Tage

Du hast nun vier Möglichkeit an deine Daten zu gelangen.

Dateibrowser

Pro Sicherung kannst du durch einen Dateibrowser navigieren und eine Datei oder ein Verzeichnis wiederherstellen (Restore Selected), herunterladen (Download Selected) oder in dein Webhosting kopieren (Send Selected to Agent).

  • Bei der Wiederherstellung wird der im Webhosting existierende Ordner mit dem aus der Sicherung überschrieben.
  • Beim Download befindet sich der Ordner auf deiner heimischen Festplatte.
  • Beim Kopieren ins Webhosting bleibt der originale Ordner im Webhosting erhalten und der gesicherte Ordner wird in dein Webhosting mit deinem gewünschten Namen kopiert.

Im Screenshot wähle ich im Datei Browser das Verzeichnis bootstrap aus.

Datei Browser
Datei Browser

Datenbanken

Hinter dem zweiten Icon verbergen sich die Datenbanken. Es ist möglich, eine komplette Datenbank wiederherzustellen. Zur besseren Übersicht können bei Bedarf die Tabellen angezeigt werden, die sich in der Datenbank befinden. Anschließend genügt ein Klick auf den Restore Selected Button und die Daten sind wieder da.

Wiederherstellung von Datenbanken
Wiederherstellung von Datenbanken

Download

Abhängig vom persönlichen „Paranoiditätsgrad“ kannst du dir beliebig viele Sicherungen auf den PC daheim herunterladen. Nach dem Klick auf das entsprechende Icon erscheint der momentan englischsprachige Wizard. Er fragt zunächst den Dateityp (File Type) ab, also ob du die Sicherung als .tar oder .zip Paket herunterladen möchtest.

Download Wizard - Dateiformat
Download Wizard – Dateiformat

Im nächsten Schritt wird der Name des Pakets abgefragt. Du kannst den vom System vorgeschlagenen, eindeutigen Namen übernehmen oder einen eigenen Namen festlegen.
Wenn du einen eigenen Namen vorschlägst, wird die vorher gewählte Dateiendung automatisch angehängt.

Dateiname des Sicherungspakets
Dateiname des Sicherungspakets

In dein Webhosting laden

Genau wie beim Download kannst du deine Sicherung komplett in dein Webhosting laden. Auch hier erscheint der Konfigurationswizard und fragt das Format und den Namen ab. Da eine komplette Sicherung recht groß sein kann (mehrere GigaByte), dauert die Übertragung unter Umständen ein wenig länger. Im Wizard werden die entsprechenden Informationen mit Fortschrittsbalken angezeigt.

An das Webhosting übertragen
An das Webhosting übertragen

Wenn die Übertragung beendet ist, befindet sich im Webhosting eine Datei wie diese (control-panel-user-data-2017-03-24-10-14-42.tar.gz).

Sicherungspaket im Webhosting (FileZilla FTP Client)
Sicherungspaket im Webhosting (FileZilla FTP Client)

Fazit

Wer schon mal mit dem Thema Backup & Restore zu tun hatte, wird uns sicherlich zustimmen, dass diese Art Ordner und Datenbanken wiederherzustellen, um das mal flapsig auszudrücken:

ein verdammt guter Service ist 🙂

Glücklicherweise ist auch die Bedienung einfach und wir freuen uns, damit allen Kunden zu helfen ihre verlorenen Daten selbst wiederherstellen zu können.


tl;dr: Wir machen die Welt ein Stück besser und helfen dir deine Daten zu retten!

Save

Kategorien
Content Management Systeme Infrastruktur Performance Server Shared Hosting Site Builder

Joomla + LiteSpeed Cache = Speed

Um die Performance der Websites unserer Kunden auch bei hohem Besucheraufkommen zu maximieren, verwenden wir bei NOVATREND seit fast zwei Jahren den LiteSpeed Webserver. Damals haben wir dabei auch entschieden, die Sicherheit und die Vertrauenswürdigkeit der Kundenwebsites durch die einfache und kostenlose Bereitstellung von SSL Zertifikaten zu erhöhen.

Die Übertragung von verschlüsselten Websites ist komplexer als die Übertragung unverschlüsselter Websites und von daher langsamer. Durch den Einsatz des LiteSpeed Webservers konnte dieser Nachteil allerdings mehr als ausgeglichen werden. Die verschlüsselten Websites laufen unter dem LiteSpeed Webserver schneller als die unverschlüsselten Sites unter anderen Servern. Wir haben den Effekt in einem ausführlichen Blogpost mit Geschwindigkeitsmessungen dokumentiert: Schnellere Antwortzeiten mit dem LiteSpeed Web Server.

Im letzten Jahr wurde dann PHP 7 released. Die Version 7 gab der gesamten PHP Welt einen Leistungsschub und wir berichteten über die  Kombination WordPress + PHP7 + LiteSpeed Cache = Richtig Schnell! Neben dem WordPress Plugin gibt es auch ein Plugin für Magento. Weitere Plugins sollen folgen.

Es geht auch ohne Plugin!

Um in den Genuss einer Geschwindigkeitssteigerung durch den LiteSpeed Cache zu kommen, müssen nur wenige Kommandozeilen in die .htaccess Datei eingetragen werden. Das hört sich kompliziert an, ist aber ganz einfach.

LiteSpeed Cache für Joomla konfigurieren

Um die Joomla Konfiguration für den Einsatz des LiteSpeed Caches durchzuführen, musst du die .htaccess Datei deiner Joomla Installation in einem Editor öffnen. Die Datei befindet sich im root Verzeichnis deiner Joomla Installation.

.htaccess Datei im Joomla Verzeichnis
.htaccess Datei im Joomla Verzeichnis

In der Zeile 64 findest du folgende Zeile:

## Begin - Joomla! core SEF Section.

Direkt davor musst du die folgenden Kommandos einfügen und natürlich meine Testdomain joomla.seafolly.ch durch deinen Domainamen austauschen:

## End - Rewrite rules to block out some common exploits.
<IfModule LiteSpeed>
 CacheDisable public /
 RewriteEngine On
 RewriteCond %{REQUEST_METHOD} ^HEAD|GET$
 RewriteCond %{HTTP_HOST} ^joomla.seafolly.ch$ [NC,OR]
 RewriteCond %{HTTP_HOST} ^www.joomla.seafolly.ch$ [NC]
 RewriteCond %{HTTP_COOKIE} !loginuser
 RewriteCond %{ORG_REQ_URI} !^/index.php$
 RewriteCond %{ORG_REQ_URI} !administrator
 RewriteCond %{ORG_REQ_URI} (\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
 RewriteRule .* - [E=Cache-Control:max-age=120]
</IfModule>
########## End - Litespeed cache

Du musst entscheiden, wie lange der Cache erhalten bleiben soll. Im Beispiel beträgt die Haltbarkeit 120 Sekunden. Das wird durch diesen Befehl ausgedrückt:

RewriteRule .* - [E=Cache-Control:max-age=120]

Je nachdem, wie deine Website aufgebaut ist, kannst du diese Zeit verändern. Eher statische Websites mit gleich bleibenden Seiteninhalten können auch länger gecached werden. Sites mit vielen dynamischen Elementen, wie beispielsweise Kommentaren, benötigen unter Umständen eine kürzere Cache Haltbarkeit, damit aktuelle Kommentare schnell auf der Seite erscheinen.

Funktioniert alles?

Es gibt mehrere Methoden zu überprüfen, ob der LiteSpeed Cache korrekt funktioniert.

  • Zunächst sollte deine Seite nach ein paar mal „hin- und herklicken“ deutlich schneller laden. Das „hin- und herklicken“ dient dazu, den Cache zunächst testweise aufzubauen. Auf einer gut besuchten Site erfolgt der Aufbau des Caches sehr schnell und automatisch über die Aufrufe der Besucher.
  • Wenn der Cache funktioniert, befinden sich im lscache Verzeichnis Dateien wie diese:
LiteSpeed Cache Dateien
LiteSpeed Cache Dateien
  • Der LiteSpeed Server liefert den Header X-LiteSpeed-Cache: hit an deinen Browser aus. Das kannst du einfach, beispielsweise im Chrome Browser, überprüfen (Inspect -> Network -> All -> Deine Domain):
    Header im Chrome Browser
    Header im Chrome Browser

Hausputz

Einmal pro Tag wird dein LiteSpeed Cache von uns automatisch geleert. Wenn du willst, kannst du die abgelaufenen Cache Dateien auch öfter löschen. Dazu erstellst du dir einfach einen Cronjob mit folgendem Inhalt:

*/10 * * * * find /home/seafoll1/lscache -type f -mmin +8 -delete 2>/dev/null

Der Name seafoll1 muss durch den Namen deines Webhostings ersetzt werden. In diesem Beispiel löscht der Cronjob alle 10 Minuten (*/10) die Dateien, die älter als 8 Minuten (-mmin +8) sind.

Wie funktioniert der Cache und was sagt Google dazu?

In einem Cache werden Seiten oder Teilbereiche von Seiten als Datei abgespeichert.

  • Mit LiteSpeed Cache liefert der Webserver die gecachete Seite ohne einen Datenbankzugriff aus.
  • Ohne LiteSpeed Cache wird die Site auf herkömmliche Art ausgeliefert (PHP wird interpretiert und fragt bei der Datenbank an). Diese Variante dauert länger.

Um den Effekt zu verdeutlichen, schalte ich in der Joomla Administration den Debug Mode an.

Joomla Debug
Joomla Debug

Wenn ich nun auf das Joomla Frontend zugreife, erscheinen unten Informationen zum Systemzustand (Joomla Debug Konsole). Dort wird neben anderen Informationen auch die Anzahl der durchgeführten Datenbankabfragen und deren Dauer angezeigt.

Joomla Debug Konsole
Joomla Debug Konsole

Um die Standard Startseite einer „frischen“ Joomla Installation anzuzeigen, wird 24 mal auf die Datenbank zugegriffen. Das dauert in meinem Fall 16.43 Millisekunden.

Jetzt kommt Google ins Spiel. Googles Page Speed Tools sind oft wichtig in Kundengesprächen. Neben anderen Parametern zeigen sie die Server Response Time als Möglichkeit an, die Performance deiner Website zu erhöhen.

Google Page Speed
Google Page Speed

In diesem Fall beträgt die Server Response Time 0.27 Sekunden. Die Zeit, die Joomla benötigt um in der Datenbank zu suchen, ist 0.01643 Sekunden. Ohne den Datenbankanteil müsste die Auslieferung der Site um diesen Betrag schneller sein. Ich konfiguriere den LiteSpeed Cache und siehe da: die Meldung bezüglich der Server Response Time verschwindet, die Punktzahl erhöht sich sogar um einen Punkt. Andere Möglichkeiten des Tunings werden angezeigt.

Google Page Speed - mit Cache
Google Page Speed – mit Cache

Hinweis: Es handelt sich bei diesem Beispiel um die einfachste mögliche Joomla Installation. Bei jeder individuellen Joomla Installation ist der Effekt größer! Außer dem Seitencache spielen auch zahlreiche andere Faktoren bei Google Page Speed eine Rolle. 

Nun denkt man sich vielleicht

Hhm … einen Punkt besser, das haut mich aber nicht um!

Der eine Punkt ist nicht das Ziel. Das Ziel ist die Server Response Time so niedrig wie möglich zu bekommen, so dass Google gar nicht auf die Idee kommt, dass es noch schneller funktionieren könnte. Je mehr Teile vom Server geladen werden, und das sind bei aktuellen Websites viele Teile, desto effektiver wird alles. Um den Effekt nochmal deutlich anhand der Ladezeiten im Browser zu zeigen:

  • Die Variante ohne Cache lädt in 1.96 Sekunden
Ladezeiten ohne Cache
Ladezeit ohne Cache (1.96 Sekunden)
  • Die Variante mit Cache lädt in 1.05 Sekunden
Ladezeit mit Cache (1.05 Sekunden)
Ladezeit mit Cache (1.05 Sekunden)

Der Unterschied ist immens und für den Besucher der Site deutlich spürbar!

Links


tl;dr: LiteSpeed Cache sorgt für eine erhebliche Performance Steigerung deiner Website

Save