Joomla: Datensicherung oder kompletter Umzug
mittels JoomlaPack

JoomlaPack ist eine Komponente zum Sichern der kompletten Joomla 1.5 Website inklusive der Datenbank. Dabei kann ausgewählt werden, ob die ganze Seite oder nur die Datenbank gesichert werden soll. Der Clou an der Sicherung mit JoomlaPack ist, dass ein Installer in die Sicherung inkludiert wird, was das Wiedereinspielen zum Kinderspiel macht. Dadurch ist nicht nur eine Sicherung möglich, sondern auch ein kompletter Umzug der Joomla-Webseite auf einen anderen Server.

Nachdem JoomlaPack installiert wurde, findet man es entweder unter Komponenten als Menüpunkt oder im Kontrollzentrum mit einem eigenem Icon. Liegt die letzte Sicherung schon eine Weile zurück, weist das Icon gleich darauf hin, daß mal wieder eine Sicherung gemacht werden sollte. Mit einem Klick auf das Icon rufen wir JoomlaPack auf und werden gleich mal mit einer Warnung konfrontiert:

joomlapack-pic01.jpg

Hier an dieser Stelle könnte auch noch eine weitere Warnung stehen, z.B. daß das Ausgabe-Verzeichnis in Benutzung ist. Das ist nicht weiter beunruhigend, da JoomlaPack auf diese Art lediglich darauf hinweist, daß man wegen der Sicherheit ein anderes Verzeichnis zur Speicherung der Sicherung wählen soll, als das von JoomlaPack standardmäßig vorgegebene. Außerdem sollte man das Verzeichnis mit einer .htaccess Datei gegen unbefugten Zugriff sichern. Natürlich muß man Schreibrechte im entsprechenden Verzeichnis haben, sonst wird sich JoomlaPack schwer tun dort eine Sicherung zu speichern. Die Warnung wegen des Zip-Formats ist auch nicht weiter tragisch, hat aber folgenden Grund: Ein Zip-File mittels eines PHP-Skripts wie JoomlaPack zu erstellen, kann durch mehrere Gründe schief gehen. Zip-Files besitzen eine CRC32 Prüfsumme, ob das Archiv vollständig und intakt ist, sowie eine Liste der Dateien im Archiv. All diese Features sind Rechen- und Speicherintensiv. Da PHP allerdings Speicherbegrenzungen unterliegt, kann es passieren, daß das Zip-Archiv nicht korrekt erstellt wird. Mit anderen Worten ausgedrückt: wählt man als Archiv-Format Zip in JoomlaPack, kann das ohne weiteres funktionieren, muß es aber nicht, könnte also auch schief gehen. Daher haben die Entwickler ihr eigenes Archiv-Format JPA entworfen und empfehlen dieses für die Sicherung. Ich für meinen Teil hab bisher noch nie Probleme mit dem Zip-Format gehabt, aber habe auch bisher nie Webseiten mit Joomla entwickelt, die Hunderte von Seiten groß sind. Welches Format ihr wählt, bleibt ganz allein euch überlassen. Ich beschreibe hier die Vorgehensweise einer Sicherung mit dem Zip-Format und zurück spielen selbiger in ein Apache2 Verzeichnis auf einem Debian lenny System.

Noch ein Hinweis: Unter dem Menüpunkt CONFIGURATION kann man alle Einstellungen anpassen, also das Archiv-Format wählen und ein anderes Ausgabe-Verzeichnis. Der Punkt ADMINISTER_BACKUP_FILES gibt einen Überblick bisher gemachter Sicherungen. Ist alles eingestellt, kann man unter BACKUP_NOW mit einem Klick auf "Jetzt Sichern" die Sicherung starten.

joomlapack-pic02.jpg

In der Zeit der Sicherung sollte man nirgendwo anders hinklicken, da die Sicherung sonst unterbochen wird (siehe Warnmeldung).

joomlapack-pic03.jpg

Nach einer Weile wird hoffentlich dieses Fenster zu sehen sein:

joomlapack-pic04.jpg

Nun kann man mit einem FTP-Programm der Wahl das erstellte Sicherungs-Zip-File vom Webserver runterladen. In der Standard-Einstellung findet man die Datei unter dem bemängeltem Verzeichnis /administrator/components/com_joomlapack/backup.
Widmen wir uns nun der Wiederherstellung unserer Page im lokalen Webserver-Verzeichnis. Dazu entpacken wir das Zip-File zuerst in unser Apache-Webserver-Verzeichnis /var/www oder ein Unterverzeichnis im selbigem. Das kann man wahlweise mit dem Archiv-Manager Ark machen oder auf der Konsole. Sollte Ark Probleme mit dem Zip-Format haben, hilft es erst einmal die Unterstützung dafür zu installieren:
# apt-get install zip unzip
Achtung! Damit man in das Apache-Webserver-Verzeichnis schreiben kann, muß man root-Rechte besitzen oder Mitglied der Gruppe www-data sein, also muß man Ark entweder mit kdesu ark abstarten oder man loggt sich auf der Konsole als root ein. Der Befehl zum entpacken lautet dann:
# unzip Sicherungskopie.zip -d /var/www/(Unterverzeichnis)
Dabei gibt -d das Ausgabe-Verzeichnis an. Nachdem alle Dateien entpackt wurden, muß man noch den Besitzer und die Gruppe für jede Datei und jedes Verzeichnis auf den Apache-User www-data ändern, da sonst die Installationsroutine von JoomlaPack keinen Zugriff auf die Verzeichnisse hat. Das erledigt ein
# chown -R www-data:www-data /var/www/(Unterverzeichnis)
Dabei steht -R für Rekursiv, also alle Dateien und Unterverzeichnisse bekommen den neuen User und die Gruppe. Nun müssen wir noch eine mysql-Datenbank für unsere Webseite anlegen, was wir mittels phpmyadmin erledigen können.

joomlapack-pic05.jpg

Nach dem einloggen können wir unter Neue Datenbank anlegen eine Datenbank für unsere Webseite erstellen.

joomlapack-pic06.jpg

Jetzt sind alle Vorarbeiten abgeschlossen und wir können mittels eines Browsers das Installationsskript von JoomlaPack aufrufen. Dazu geben wir in der Adresszeile folgendes ein:
http://localhost/(Unterverzeichnis)/installation
Sollte an dieser Stelle keine Seite wie diese hier erscheinen:

joomlapack-pic08.jpg

sondern lediglich so eine Seite:

joomlapack-pic07.jpg

Dann liegt das daran, daß die Apache2 Servereinstellung für die index-Dateien so konfiguriert ist, daß bei Aufruf eines Verzeichnisses zuerst die Dateien mit *.html-Endung gegenüber den Dateien mit *.php-Endung bevorzugt werden. Im Installations-Verzeichnis liegen zwei index-Dateien, eine index.html und eine index.php. Unser Aufruf des Installations-Verzeichnisses hat die html-Datei angesprochen. Wir brauchen aber die PHP-Datei. Die benötigte Einstellung findet sich in der Datei /etc/apache2/mods-available/dir.conf. Unter DirectoryIndex kann man die Reihenfolge der Index-Dateien festlegen, also müssen wir die index.php lediglich ganz an den Anfang setzen. Nach einem Neustart des Servers mittels
# /etc/init.d/apache2 restart
und einem Klick auf den Aktualisieren-Button unseres Browsers startet der JoomlaPack-Installer wie gewünscht. Im ersten Schritt überprüft der Installer ob die zur Installation benötigte Umgebung vorhanden ist, also ob die Verzeichnisse da sind, man Schreibrechte in den Verzeichnissen besitzt und die PHP-Version stimmt. Wenn z.B. ein Verzeichnis fehlt, wird einem das hier mitgeteilt.

joomlapack-pic10.jpg

Mit einem Klick auf Weiter gelangt man zum nächsten Punkt, der Angabe der Datenbank.

joomlapack-pic11.jpg

Nach Eingeben der Datenbank-Parameter wird das Datenbank-Backup unserer Seite in die neue Datenbank übertragen.

joomlapack-pic12.jpg

Ein Blick in phpmyadmin bestätigt uns die Übertragung.

joomlapack-pic15.jpg

Im 3. Schritt kann man noch optional eine FTP-Verbindung angeben, falls der Webserver so restriktiv eingestellt ist, daß in der Administrations-Umgebung von Joomla nicht mal ein Template oder eine simple CSS-Datei geändert werden kann. In dem Fall nutzt Joomla eine FTP-Verbindung um die zu ändernden Dateien vom Server herunterzuladen und nach Änderung wieder hochzuladen.

joomlapack-pic13.jpg

Damit ist die Installation der Seite auf dem lokalen Webserver abgeschlossen und wie man dem netten Hinweis mit dem fehlenden Buchstaben noch entnehmen kann, muß man lediglich noch das Installations-Verzeichnis entfernen und man kann die Page verwenden.

joomlapack-pic14.jpg