21 Joomla! und Content deployen
Die Durchführung von Funktionalitäts- und Content-Updates im Live-System ist wie eine Operation am offenen Herzen. Nutzen Sie Deployment-Tools, um Aktualisierungen an Ihrer Website offline vorzubereiten und dann wie ein Software-Release zu veröffentlichen.
Arbeiten Sie mit verschiedenen Joomla!-Instanzen, z. B. einem Entwicklungs-, einem Test- und einem Live-System, stehen Sie irgendwann vor der Frage, wie Sie Funktionalitäten und Inhalte von einem ins andere System übertragen. Die Standardinstallation von Joomla! behandelt das Thema stiefmütterlich, weswegen viele Webmaster dazu übergehen, Änderungen an ihrer Website direkt am Live-System durchzuführen. Das kann unangenehme Folgen haben, von halb fertig live gestellten Beiträgen bis zu Fehlermeldungen einer nicht getesteten neuen Erweiterung. Darum sollten Sie immer mindestens ein Joomla!-System, z. B. auf Ihrem lokalen Rechner, parat haben, um Joomla!- und Erweiterungen-Updates zu prüfen und Inhaltsaktualisierungen sorgfältig vorzubereiten. Durch ein Deployment sind Sie dann in der Lage, ausgewählte Elemente auf die Live-Website zu schieben.
Begriff | Erklärung |
---|---|
Ursprungssystem (Source), Zielsystem (Destination) | In der ursprünglichen Joomla!-Installation werden Updates getestet, Erweiterungen entwickelt und neue Inhalte eingepflegt, die zu einem festgelegten Zeitpunkt (Release) auf eine andere Joomla!-Instanz aufgespielt werden. Das Ursprungssystem ist meist offline, also vom Internet getrennt, manchmal sogar nur auf einem lokalen Rechner installiert. Beim Zielsystem handelt es sich um die Live-Website. |
Export, Import | Vorgänge zum Auslesen und Beschreiben von Daten aus einer bzw. in eine Datenbank |
Dieses Kapitel stellt Ihnen verschiedene Wege vor, das zu bewerkstelligen. Angefangen beim händischen Kopieren über Dateisystem und Datenbank über kleine Tools, mit denen Sie einzelne Elemente überspielen, bis hin zur Komplettkopie mit allem Drum und Dran. Eine Abkürzung für Webmaster, die sich nur für ein Content-Deployment interessieren: J2XML ist genau das richtige Tool dafür, blättern Sie direkt zu Abschnitt 21.2, »Beiträge, Kategorien und Benutzer mit J2XML deployen«.
21.1 Manuelles Deployment per FTP und SQL
Der pragmatischste Ansatz, Kopien von Joomla! und Inhalten auf einem anderen Server zu installieren, ist das Kopieren der Datenbank und aller Dateien per Hand. Dazu benötigen Sie lediglich einen FTP-Client wie FileZilla (siehe auch Abschnitt 3.2, »FTP-Client installieren«) und eine Oberfläche zur Bedienung der Datenbank, z. B. phpMyAdmin (siehe Abschnitt 2.3, »Datenbank einrichten«, und Abschnitt 3.3, »Datenbank einrichten«). Damit das Zielsystem später lauffähig ist, erfolgt abschließend die Anpassung der Basiskonfiguration von Joomla! in der Datei configuration.php.
Hinweis: Diese Methode, eine Joomla!-Website zu kopieren, ist zeitraubend und fehleranfällig. Abhängig von den Versionen der Datenbank und der eingesetzten Tools kommt es immer wieder zu Schwierigkeiten mit dem Import der SQL-Datei. Zudem besteht das Dateisystem von Joomla! aus fast 5.000 Dateien, mühevolle Kleinarbeit für den FTP-Client und/oder das Archivierungstool.
-
Exportieren Sie die Datenbank des Ursprungssystems per phpMyAdmin über den Reiter Exportieren. Wählen Sie Schnell - nur notwendige Optionen anzeigen, klicken Sie auf OK, und laden Sie die generierte SQL-Datei herunter (siehe Abbildung 21.1).
-
Öffnen Sie die SQL-Datei in einem Texteditor, und stellen Sie sicher, dass die erste SQL-Anweisung mit CREATE TABLE beginnt. Auch das Setzen einiger Variablen (z. B. SET SQL_MODE und SET time_zone) vor dieser Anweisung ist in Ordnung. Entfernen Sie anderslautende Codefragmente.
Hinweis: In verschiedenen phpMyAdmin-Versionen unterscheidet sich u. U. der SQL-Export, sodass weniger oder zusätzliche Modifikationen an der SQL-Datei notwendig sind. Relevant ist, dass die finale SQL-Datei im Prinzip nur aus CREATE TABLE- und INSERT INTO-Anweisungen besteht, die die Joomla!-Tabellen erzeugen und mit Inhalten befüllen.
-
Importieren Sie die SQL-Datei auf dem Zielsystem, ebenfalls in phpMyAdmin, über den Reiter Importieren. Klicken Sie auf den Button Dateien auswählen, suchen Sie die SQL-Datei aus Ihrem Download-Verzeichnis, und klicken Sie im Importformular auf OK.
Gegebenenfalls dauert der Import länger, als PHP es erlaubt, und Sie erhalten eine Abbruchfehlermeldung Das Ausführungszeitlimit wurde erreicht. Wenn Sie die Datei erneut abschicken, wird der Import fortgesetzt. Machen Sie genau das, und wählen Sie die SQL-Datei nochmals aus, gefolgt von einem Klick auf OK.
-
Kopieren Sie per FTP (z. B. mit FileZilla) alle Dateien des Installationsverzeichnisses des Joomla!-Ursprungssystems in einen beliebigen temporären Ordner auf Ihrem lokalen Rechner; bei 5.000 Dateien wird das eine Weile dauern. Diesen Schritt überspringen Sie natürlich, falls es sich ohnehin um eine lokale Installation handelt.
-
Bearbeiten Sie anschließend im temporären lokalen Verzeichnis die Datei configuration.php. Hier speichert das Content-Management-System die gesamte Grundkonfiguration, insbesondere die Datenbankverbindung, die Sie nun auf das Zielsystem einstellen. Bearbeiten Sie nacheinander diese Zeilen, und ersetzen Sie sie durch die Werte des Zielsystems:
public $host = 'Datenbankserver';
public $db = 'Datenbankname';
public $user = 'Datenbankbenutzername';
public $password = 'Datenbankpasswort';
public $logpath = 'Neuer Pfad zum /log/-Unterzeichnis'; -
Kopieren Sie nun die lokalen Joomla!-Dateien per FTP in das Webhosting-Verzeichnis, in dem das Zielsystem liegen soll. In der Regel ist es möglich, vorhandene Joomla!-Instanzen gleicher Versionsnummer zu überschreiben. Sicherer arbeiten Sie jedoch mit einem neuen leeren Verzeichnis, auf das Sie später in der Administrationsoberfläche Ihres Webhosters die Domain umbiegen.
Achtung: Werfen Sie auch einen Blick in Ihre Serveradministrationsdatei .htaccess, um sicherzustellen, dass sich dort keine Webspace- oder serverspezifischen Einstellungen befinden.
-
Abschließend prüfen Sie, ob die neue Joomla!-Instanz die notwendigen Berechtigungen hat, um in einigen wichtigen Verzeichnissen Dateien zu erzeugen und zu bearbeiten.
Loggen Sie sich ins Backend der Zielwebsite ein, und wechseln Sie zu System • Systeminformationen • Reiter Verzeichnisrechte (siehe Abbildung 21.2). Außer der Datei configuration.php müssen alle Einträge auf Beschreibbar (grün) stehen. Ist das bei einem nicht der Fall, dann korrigieren Sie die Rechte per FTP (in FileZilla Rechtsklick auf das Verzeichnis Dateiberechtigungen…, Berechtigung 755 setzen).
-
Testen Sie das Zielsystem auf Herz und Nieren. Besuchen Sie exemplarisch die wichtigsten Beitragsseiten, und prüfen Sie alle interaktiven Features, besonders die Formulare.
Problemlösung: Maßnahmen beim White Screen of Death
Falls Sie beim Aufruf der Zielwebsite nur eine leere Seite sehen, gibt es viele mögliche Fehlerursachen. In der Regel kann sich Joomla! aber entweder nicht mit der Datenbank verbinden (Credentials und Tabellenpräfix in der configuration.php prüfen) oder bei der Übertragung der vielen Dateien per FTP ging etwas schief. Beim Aufspüren der exakten Ursache hilft Ihnen Abschnitt 24.3.1, »White Screen of Death«).
An dieser langwierigen Prozedur erkennen Sie, wie ungeeignet ein manuelles Deployment für regelmäßige Website-Updates ist. Durch die Verfügbarkeit kostenloser Tools, die Sie in den folgenden Abschnitten kennenlernen, ist dieses antiquierte Verfahren dankenswerterweise nicht mehr notwendig.