16 Empfohlene Erweiterungen
Joomla! lebt von seinen Erweiterungen, um fehlende Features zu ergänzen. Einige von ihnen sind so praktisch, dass sie außerordentlich hohes Ansehen in der Community genießen und sich für viele Joomla!-Installationen empfehlen.
Die offiziellen Joomla!-Komponenten des vorangegangenen Kapitels übernehmen spezielle Aufgaben, die nicht jede Website benötigt und die Sie vielleicht niemals aktivieren oder gar installieren. Etwas anders verhält es sich mit den in diesem Kapitel vorgestellten Erweiterungen, deren Installation Sie von Fall zu Fall erwägen sollten. Dazu zählen der leistungsfähigste, flexibelste Editor, eine Backup-Funktionalität, zusätzliche Sicherheits-Features und Mechanismen, um SEO-kritische Sitemaps anzulegen und Quellcode jeder Art an beliebigen Stellen Ihrer Website einzubetten. Mit dem auf diesen Seiten vorgestellten Erweiterungspaket erfüllt eine Joomla!-Instanz dann alle Anforderungen, die man heutzutage an ein modernes Content-Management-System und daraus erzeugte Websites stellt.
Dieses Handbuch erklärt die grundlegenden Funktionen zur Bedienung der empfohlenen Erweiterungen. Zu jeder Vorstellung finden Sie hier den direkten Link auf die Download-Seite und gegebenenfalls zu Webseiten, auf denen Sie das deutsche Sprachpaket herunterladen, da die deutschen Texte selten im eigentlichen Erweiterungspaket integriert sind. Hinweis: Die Linkziele können sich im Laufe der Zeit ändern, die jeweils aktuelle Liste finden Sie deshalb auch online unter https://joomla-handbuch.com/erweiterungen.
16.1 Sicherheitskopien anlegen mit Akeeba Backup
Erweiterung | Akeeba Backup (Core) |
---|---|
JED-Kategorie | Access & Security • Site Security |
Download | |
Zweck | Erstellen und Wiederherstellen von Sicherheitskopien kompletter Joomla!-Sites |
Eine Website ist niemals fertig. Inhalte werden ständig überarbeitet und ergänzt, und Joomla! und die von Ihnen eingesetzten Erweiterungen erhalten häufig Updates, die Sie schon allein aus Sicherheitsgründen installieren sollten. Außerdem lockt das Joomla! Extensions Directory mit vielen Funktionalitätserweiterungen, die vielleicht eine neue Social-Media-Plattform verbinden oder die Bildergalerie attraktiver auf Smartphones und Tablets präsentieren.
Info: Features der Akeeba-Backup-Bezahlversion
Wer bereit ist, ein bisschen Geld für die Pro-Version des Tools auszugeben, erhält vor allen Dingen ein praktisches Feature: die Möglichkeit, Backups über die Akeeba-Benutzeroberfläche einzuspielen, ohne das kickstart.php-Script zu bemühen (siehe Abbildung 16.1). Damit lässt sich Akeeba Backup für Snapshots einsetzen, die mit den Wiederherstellungspunkten Ihres Betriebssystems vergleichbar sind. Bei Joomla! sind es zwar nicht veraltete oder fehlerhafte Treiber, die den Betrieb unterbrechen, aber mögliche Inkompatibilitäten zwischen komplexen Erweiterungen. Mit Akeeba Backup legen Sie also vor jeder größeren Änderung am System eine Sicherheitskopie an, die Sie im Problemfall mit wenigen Mausklicks jederzeit wiederherstellen.
Weitere interessante Features der Bezahlversion:
-
Verschlüsselung der Backups
-
Übertragung der Backups auf einen anderen FTP-Server
-
Wahl zwischen Sicherung der Datenbank oder des Dateisystems
-
mehr Auswahlmöglichkeiten beim Datenbank-Backup, z. B. Sicherung zusätzlicher Datenbanken
-
automatische Backups in die Cloud, z. B. zu Amazon S3, DropBox, iDrive, oder CloudFiles
Bei dieser Menge an Aktualisierungen kann immer mal etwas schiefgehen. Seien es versehentlich programmierte Bugs in den Erweiterungen oder eine neu entstandene Inkompatibilität zwischen zwei Komponenten. Deswegen ist es nicht nur ratsam, alle Updates zuvor auf einer Testinstallation auszuprobieren, sondern auch regelmäßig oder zu bestimmten Milestones Backups anzulegen. Im Ernstfall kann die Website dann innerhalb weniger Minuten auf einen beliebigen vorherigen Stand zurückgerollt werden.
Akeeba Backup ist Marktführer bei den Joomla!-Backup-Mechanismen, denn bereits die kostenlose Version (enthält die Bezeichnung Core im Produktnamen) der Komponente bietet alles, was man zum Anlegen und Wiederherstellen von Sicherheitskopien benötigt. Eine Krux hat die kostenlose Version jedoch: Sie eignet sich nicht für schnelle Umschaltungen zwischen verschiedenen Websiteversionen, da die Wiederherstellung, etwas umständlich, per manuellem Scriptaufruf auf dem Ziel-Webspace erfolgt und nicht etwa durch einen bequemen Wiederherstellen-Button in der Komponentenkonfiguration.
Tipp: Spielen Sie das Anlegen und Wiederherstellen eines Backups mindestens einmal durch, um im Ernstfall alle Schritte zu kennen.
16.1.1 Akeeba Backup einrichten
Laden Sie sich von der Download-Seite die aktuelle Akeeba Backup Core und den sogenannten Akeeba Kickstart herunter. Das erste Paket ist die eigentliche in Joomla! zu installierende Backup-Komponente, das zweite enthält ein PHP-Script, mit dem Sie später Backups wiederherstellen.
Das Akeeba-Backup-Core-Paket installiert sich als Komponente und ist deshalb als eigener Menüpunkt direkt unter Komponenten • Akeeba Backup zu erreichen. Die Erweiterung ist mitunter deshalb so beliebt, weil sie sofort nach Installation, ohne manuelle Konfiguration, einsatzbereit ist. Ein Mausklick genügt, und Akeeba konfiguriert sich selbstständig so, dass künftig Ihre gesamte Website, Dateien und Datenbank, gesichert werden.
16.1.2 Backup anlegen
Zum Einrichten einer Sicherheitskopie klicken Sie auf der Akeeba-Startseite auf den Button Jetzt sichern (siehe Abbildung 16.2). Im folgenden Assistentenschritt geben Sie unter Kurzbeschreibung eine klare Beschreibung ein, z. B. »Milestone nach Installation von Akeeba Backup, JCE und Sourcerer« (siehe Abbildung 16.3). Sie könnten auch das Feld Sicherungskommentar für einen ausführlicheren Text verwenden, jedoch empfiehlt sich die Kurzbeschreibung insbesondere, da sie später bei der Verwaltung der Sicherheitskopien direkt in der Backup-Übersicht erscheint. Starten Sie jetzt das Backup über die blaue Schaltfläche Jetzt Sichern!.
Ab jetzt geschieht alles automatisch; nach wenigen Sekunden erscheint die Meldung Sicherung erfolgreich abgeschlossen, und Sie gelangen über den Button Sicherungen verwalten zur Übersicht über alle bereits angelegten Backups, um z. B. das Backup-Paket auf Ihren lokalen Rechner herunterzuladen. Dazu mehr im nächsten Abschnitt.
Hintergrund: Akeeba speichert Backups in seinem Komponentenverzeichnis
Angelegte Backup-Pakete laden Sie über die Sicherungsverwaltung unter Komponenten • Akeeba Backup • Button Sicherungen verwalten • Button Download bzw. Teil xy herunter. Schlägt der Download über den Browser fehl, weil die Datei zu groß ist, finden Sie die Sicherheitskopien in der Joomla!-Installation im Verzeichnis /administrator/components/com_akeeba/backup/. Es handelt sich um die Dateien mit der Endung .jpa, einem proprietären Paketformat, das Sie in der Akeeba-Konfiguration auch durch reguläre ZIP-Archive ersetzen können.
Achtung: Backups benötigen viel Speicherplatz
Selbst für eine kleine Website beginnt der benötigte Speicher für das Backup-Paket bereits bei 20 MByte. Die Grenzen nach oben sind offen und z. B. von Zahl und Größe eingesetzter Medien auf Ihrer Website abhängig, insbesondere hochauflösende Bilder treiben die Zahl in die Höhe, aber auch eine große Anzahl von Joomla!-Erweiterungen und viele versionierte Inhaltselemente spielen eine Rolle. Prüfen Sie deshalb immer wieder mal den bei Ihrem Webhoster benutzten Speicherplatz, das sogenannte Quota. Speichern Sie wichtige Milestone-Backups auch auf Ihrem Arbeitsplatzrechner, Fileserver oder Ihrer Heim-NAS.
16.1.3 Backups verwalten
Über den Button Sicherungen verwalten der Akeeba-Startseite gelangen Sie zu einer Übersicht aller bislang angelegten Sicherheitskopien (siehe Abbildung 16.4). Über die Spalten Beschreibung, Start und Verwalten & Herunterladen lesen Sie Ihre vorher eingegebene Kurzbeschreibung ab und erfahren Datum und Uhrzeit der Backup-Prozedur. Die Uhrzeit versteckt sich im roten Dateinamen ganz rechts, z. B. »20150413-140755« für den 13. April 2015, 14:07 Uhr und 55 Sekunden.
Direkt über den Spaltenüberschriften finden Sie die aus anderen Managerübersichten bekannten Filter- und Sortierwerkzeuge. Ganz links suchen Sie beispielsweise nach dem Bestandteil einer Backup-Kurzbeschreibung, und in der Mitte schränken Sie den Datumsbereich der anzuzeigenden Backups ein.
Zwei Funktionen sind noch besonders wichtig für den weiteren Umgang mit den Backups:
-
Backup löschen
Per Häkchenmarkierung und Button Löschen entfernen Sie Backups, z. B. jene, die Sie aus Testzwecken anlegten oder die durch ein kurz darauf folgendes Backup redundant wurden. -
Backup herunterladen
Über den Button Download bzw. Teil 00 (fortlaufende Nummerierung bei größeren Backup-Archiven) laden Sie die Paketdatei herunter. Damit sichern Sie zusätzlich die wichtigsten Milestones auf Ihrem lokalen Arbeitsrechner oder nutzen das Archiv, um die darin gesicherte Website auf einem anderen Webserver zu installieren. So lassen sich Backups sogar als Deployment-Mechanismus zweckentfremden (siehe Abschnitt 21.4, »Komplette Websitekopie mit Akeeba Backup«).
16.1.4 Backup einspielen
In der kostenlosen Variante erfolgt das Wiederherstellen eines Backups über den manuellen Aufruf eines auf dem Webspace hochgeladenen Scripts, kickstart.php. (Genauer gesagt, sorgt Kickstart nur für das Entpacken und Aufrufen der Wiederherstellungsroutine, die unter /installation/index.php liegt.) Wer’s bequemer möchte, erhält für etwa 50 € ein Jahresabonnement mit erweiterten Features, die Website-Synchronisationen per (S)FTP und Wiederherstellung aus der Benutzeroberfläche erlauben.
Aufgrund dieses Umstands eignet sich die kostenlose Akeeba Backup Core vornehmlich für die Wiederherstellung der Website, wenn wirklich gar nichts mehr geht, z. B. falls sich inkompatible Erweiterungen nicht deinstallieren lassen, größere Mengen Content unwiderruflich gelöscht wurden oder, im schlimmsten Fall, nach einer Kompromittierung. Die folgenden Schritte beschreiben den Wiederherstellungsprozess im Detail.
Tipp: Backup ohne Ausfallzeiten einspielen
Die auf diesen Seiten vorgestellte Wiederherstellungsprozedur arbeiten Sie an Ihrem Live-System durch, was zur Folge hat, dass die Website für die Dauer der Wiederherstellung nicht erreichbar ist. Funktioniert die aktuelle defekte Websiteversion überhaupt nicht, ist das nicht weiter schlimm. Spielen Sie jedoch ein Backup über eine lauffähige Website, wählen Sie einen eleganteren Weg zur Wiederherstellung.
Um Ausfallzeiten, auch Downtimes genannt, zu vermeiden, legen Sie die Wiederherstellungsdateien in einem neuen Serververzeichnis ab und erzeugen eine neue Subdomain, die auf das neue Verzeichnis zeigt, z. B. backup.joomla-handbuch.com. Nach Durchführung der Wiederherstellung schalten Sie dann einfach die Hauptdomain auf das neue Verzeichnis. Das ist deshalb möglich, da Joomla! keine domain-spezifische Konfiguration benötigt. Sie können also nach Belieben mit verschiedenen Joomla!-Instanzen in unterschiedlichen Verzeichnissen arbeiten, die über beliebige Subdomains erreichbar sind. In der Administrationsoberfläche Ihres Webspaces kontrollieren Sie dann über die Subdomain/Verzeichnis-Zuweisung, welche Instanz über welche URL erreichbar ist.
-
Entpacken Sie zunächst die Datei kickstart.php aus dem zuvor heruntergeladenen ZIP-Paket Akeeba Kickstart, z. B. auf Ihren Desktop. Optional: Für eine deutsche Benutzerführung des Wiederherstellungsassistenten extrahieren Sie auch die Datei de-DE.kickstart.ini.
-
Legen Sie nun auf Ihrem Webspace ein neues Verzeichnis an, in dem die Joomla!-Installation wiederhergestellt wird. Legen Sie dieses Verzeichnis in die gleiche Ebene wie die existierenden Joomla!-Instanzen, also z. B. parallel neben /joomla3test/ oder /joomla3live/. Best Practice: Integrieren Sie das Backup-Datum in den Ordnernamen, behalten Sie bei mehreren Backups und Wiederherstellungen stets den Überblick. Beispiel: /reiseforum-2015-08-01/.
Hinweis: Dieser Schritt ist nicht zwingend notwendig, falls Sie auf die Dateien der alten Joomla!-Instanz verzichten können. In diesem Fall löschen Sie einfach alle Dateien des /joomla3live/-Verzeichnisses und führen die nächsten Schritte dort durch. Damit verbauen Sie sich jedoch die Möglichkeit, das alte System näher zu studieren, um z. B. die Ursache für einen Ausfall oder eine Kompromittierung zu recherchieren. (Siehe auch Abschnitt 24.1, »Sofortmaßnahmen bei einem Angriff«.)
-
Laden Sie nun die kickstart.php, die optionale de-DE.kickstart.ini und natürlich das Backup-Archiv mit der .jpa-Endung per FTP in den neuen Ordner (siehe Abbildung 16.5).
-
Wie die Joomla!-Installation erfolgt die Wiederherstellung über eine Benutzeroberfläche im Webbrowser. Damit Sie kickstart.php aufrufen können, biegen Sie jetzt also Ihre Domain auf das neue Verzeichnis. (Ignorieren Sie diesen Schritt, falls Sie im alten Verzeichnis arbeiten.) Die Zuweisung der Domain zum Verzeichnis nehmen Sie in der Administrationsoberfläche Ihres Webspaces vor. Informationen hierzu finden Sie auch in Abschnitt 3.4.2, »Händische Installation per FTP«, Unterabschnitt »Domain mit dem Joomla!-Verzeichnis verknüpfen«.
-
Rufen Sie das Extraktions-/Wiederherstellungsscript unter http://IhrDomainName.de/kickstart.php auf, um im ersten Schritt genaue Angaben zum Entpacken des Backups zu machen (siehe Abbildung 16.6).
-
Bereich Wählen Sie eine Sicherungsdatei
Kickstart befüllt die Dropdown-Liste Archive File automatisch mit allen auf dem Server an- bzw. abgelegten .jpa-Archivdateien. Wählen Sie hier einfach die eben hochgeladene Archivdatei aus. -
Bereich Wählen Sie eine Extraktionsmethode
In der Regel sind hier keine Einstellungsanpassungen notwendig. Falls Sie aber wissen, dass in Ihrer Hosting-Umgebung Probleme mit per PHP erzeugten Verzeichnissen und Dateien vorliegen, haben Sie die Möglichkeit, unter FTP Host Name, FTP User Name, FTP Passwort eine FTP-Verbindung für die Wiederherstellung einzusetzen. Tragen Sie in diesem Fall hier den Haupt-FTP-Benutzer Ihres gesamten Webspaces oder einen zuvor angelegten dedizierten FTP-Benutzer ein, der ausschließlich Zugriff auf das Wiederherstellungsverzeichnis hat (siehe Beispiel in Abbildung 16.7). Beachten Sie, dass Sie abhängig von dieser Einstellung das FTP Directory anpassen müssen. Im Falle des Haupt-FTP-Benutzers muss hier das neu angelegte Unterverzeichnis (»/reiseforum-2015-06-01«) stehen, bei einem speziellen Unterverzeichnisbenutzer genügt ein Slash /, das für das Root-Verzeichnis des Benutzers steht.Das vom Wiederherstellungssystem vorgeschlagene temporäre Verzeichnis ist nicht gültig, setzen Sie hier das zuvor erzeugte Unterunterverzeichnis »kicktemp« ein.
Klicken Sie schließlich auf die Buttons Prüfe und Prüfe FTP-Verbindung, um den Zugriff auf den Webspace zu verifizieren. Eine Erfolgsmeldung gibt es nur, wenn die Login-Parameter korrekt sind und das temporäre Verzeichnis beschreibbar (777) ist.
-
Bereich Feineinstellungen
Einstellungen in diesem Bereich sind notwendig, wenn der Server PHP-Scripts sehr langsam verarbeitet. Falls die Wiederherstellung aus unerklärlichen Gründen fehlschlägt, probieren Sie hier höhere Werte aus, um den Scripts ausreichende Verschnaufpausen zu geben. Insbesondere die maximale Ausführungszeit können Sie beliebig hoch setzen. -
Klicken Sie auf Start, um mit der Extraktion zu beginnen. Nach ein paar Minuten wurde das Backup-Archiv entpackt, und Sie klicken auf den Button Installationsroutine starten, um zum eigentlichen Wiederherstellungsassistenten zu gelangen: ANGIE, die Akeeba Next Generation Installer Engine, die übrigens unter /installation/index.php liegt.
Gegebenenfalls moniert das Installationsscript nun, dass das Installationsverzeichnis nicht beschreibbar ist (siehe Abbildung 16.8). In diesem Fall wechseln Sie wieder in Ihren FTP-Client und vergeben dem Ordner /installation/tmp/ volle Rechte (777) (keine Sorge, der Ordner wird später gelöscht) und laden die Seite des Wiederherstellungsassistenten mit (F5) (OS X: (cmd) + (R)) neu.
-
Im Schritt Vor-Installation sehen Sie eine Zusammenfassung der Serverumgebung, wie Sie sie aus der Joomla!-Installation kennen (siehe Abbildung 16.9). Klicken Sie auf weiter in der oberen rechten Ecke.
-
Im Schritt Datenbankwiederherstellung geben Sie Datenbankservername, Benutzername, Passwort und Datenbankname einer zuvor per phpMyAdmin neu angelegten Datenbank an (siehe Abbildung 16.10). Alternativ verwenden Sie hier die Parameter einer existierenden Joomla!-Datenbank, achten aber darauf, dass Sie ein anderes Datenbanktabellenpräfix verwenden, damit sich die zwei Joomla!-Installationen nicht in die Quere kommen. Bei diesem Ansatz verlieren Sie jedoch schnell den Überblick, welche Datenbank für welche Webapplikation zum Einsatz kommt, Best Practice ist das Anlegen einer gesonderten Datenbank pro Joomla!-Installation.
-
Klicken Sie auf weiter. Nach der Datenbankwiederherstellung klicken Sie erneut auf Weiter. Das nächste Formular ähnelt wieder der Joomla!-Installation mit Basiseinstellungen zur Website, zum Administrator und der optionalen FTP-Verbindung (siehe Abbildung 16.11). Klicken Sie einfach auf weiter, um die Wiederherstellung abzuschließen.
Problemlösung: »configuration.php« kann nicht beschrieben werden
Unter Umständen ist es dem Wiederherstellungsassistenten nicht erlaubt, die Konfigurationsdatei, die configuration.php, zu überschreiben, was aber z. B. wegen der neuen Datenbankverbindungseinstellungen notwendig ist. In diesem Fall erscheint eine weitere Seite, die Sie auffordert, den Inhalt der Datei in die Zwischenablage zu kopieren, die Datei manuell anzulegen und dann per FTP ins Hauptverzeichnis der Joomla!-Wiederherstellung zu laden.
Nach dem Hochladen der manuell erzeugten configuration.php schließen Sie die Wiederherstellung mit Klick auf den roten Button Lösche das Installationsverzeichnis ab. Funktioniert das nicht, ist das ein gutes Zeichen für die Rechtekonfiguration; löschen Sie dann einfach den kompletten Ordner /installation/ per FTP. Benennen Sie dabei außerdem die Datei htaccess.bak in .htaccess um, damit URL-Rewrite für suchmaschinenfreundliche URLs aktiviert werden kann (siehe Abschnitt 23.1, »Joomla!-URLs optimieren«).
Das Backup ist nun eingespielt, Ihre Joomla!-Website ist mit wiederhergestellten Inhalten und Konfiguration unter der alten URL erreichbar.
Problemlösung: Fehler beim Extrahieren des Backup-Archivs
Falls Sie im Wiederherstellungsassistenten nach dem Klick auf Start eine schockierende Fehlermeldung erhalten, das Backup-Archiv sei nicht lesbar (An Error occurred. Invalid header in archive file, siehe Abbildung 16.12), gestaltet sich das Einspielen etwas komplizierter. (Tatsächlich defekte Archive sind übrigens selten, solch ein Fehler resultiert in der Regel aus Verbindungs- oder Kompatibilitätsproblemen zwischen Archivier- und Dekomprimierungs-Script.)
-
Laden Sie das Backup-Archiv (alle .jpa-Dateien) auf Ihren lokalen Rechner herunter, z. B. per FTP aus dem Ordner /administrator/components/com_akeeba/backup/ oder über die Backup-Übersicht der Akeeba-Benutzeroberfläche innerhalb von Joomla!.
-
Besuchen Sie die Akeeba-Site unter https://www.akeebabackup.com/download.html, und laden Sie den Akeeba eXtract Wizard (erhältlich für Windows, OS X und Linux) herunter; der Link befindet sich am unteren Ende der Webseite. Dieses Programm erlaubt das manuelle Entpacken des Backup-Archivs auf Ihren Rechner, ähnlich der kickstart.php.
-
Installieren und starten Sie den Akeeba eXtract Wizard, und geben Sie unter Archive file die .jpa-Datei und unter Extract to folder das Zielverzeichnis zum Entpacken an, z. B. irgendwo auf Ihren Desktop.
-
Klicken Sie auf Extract!, und warten Sie, bis alle Dateien extrahiert wurden. Wiederholen Sie diese Schritte für alle Archivdateien Ihres Backups.
-
Loggen Sie sich per FTP auf Ihren Webspace, und laden Sie alle entpackten Dateien des Archivs in das Hauptverzeichnis, in das die Joomla!-Installation wiederhergestellt werden soll.
-
Rufen Sie den Wiederherstellungsassistenten direkt auf: http://IhrDomainName.de/installation/index.php, und folgen Sie den oben aufgeführten Hinweisen.