Joomla Website klonen und parallel zum Original betreiben - Anleitung
Es kann aus verschiedenen Gründen sinnvoll sein, seine Webseite zu klonen, beispielsweise, um diese gefahrlos bearbeiten zu können. In dieser Anleitung erfahren Sie, wie Sie es schaffen können Ihre vorhandene Joomla Website zu klonen.
Die Anleitung richtet sich eher an fortgeschrittene Webmaster / Joomla Benutzer.
Mögliche Ziele:
- Ausfallzeiten / öffentliche Wartungszeiten allgemein reduzieren
- Neue Funktionen hinzufügen, ohne sichtbar am lebenden Objekt zu arbeiten
- Allgemeine Tests gefahrlos durchführen
- Joomla! Updates und Updates von Erweiterungen gefahrlos durchführen oder testen (besonders interessant, bei versäumten Updates oder komplexen Seiten mit vielen Erweiterungen).
Hinweis: Die nachfolgenden Schritte geschehen auf eigene Gefahr!
Unabhängig von den Anweisungen in dieser Anleitung erstellen Sie bitte eine komplette Sicherung von Ihrem Webspace und Ihren Datenbanken, damit Sie im Notfall alles wiederherstellen können.
So klonen Sie Ihre Joomla Website
Dies ist eine kurze Übersicht, was Sie in etwa tun müssen um Ihre Joomla Website zu duplizieren. Die Liste dient auch gleichzeitig mit als Inhaltsverzeichnis, denn im nachfolgenden finden Sie genauere Erläuterungen dazu:
- Legen Sie eine neue Datenbank für Ihren Joomla Klon an und notieren sich die Daten
- Erstellen Sie ein neues Verzeichnis auf Ihrem Webspace
- Erstellen Sie ggf. eine Subdomain und weisen Sie diese dem neuen leeren Ordner zu
- Richten Sie einen Verzeichnisschutz für das neue Verzeichnis ein
- Sichern Sie das Joomla Verzeichnis von der zu klonenden Website
- Laden Sie den gesicherten Inhalt (außer der .htaccess und der configuration.php) Ihres Joomla Verzeichnisses per FTP in den leeren neu erstellten Ordner hoch.
- Bearbeiten Sie die Datei „configuration.php“ und ersetzen Sie die Zugangsdaten zur Datenbank, Temp-Ordner Pfad und SEF Einstellung.
- Kopieren Sie die bearbeitete configuration.php nun auch in den neuen Ordner
- Exportieren Sie manuell die aktuelle Datenbank Ihrer Joomla-Website
- Importieren Sie nun den Inhalt dieser Datenbank wieder in Ihre zu Beginn neu angelegte Datenbank.
- Rufen Sie die Subdomain auf, loggen Sie sich ein, prüfen Sie alle Einstellungen und leeren Sie anschließend den Joomla Cache
- Bonus: Aus der Joomla-Kopie wird die originale Website
Schritt 1: Neue Datenbank anlegen
Als erstes sollten Sie eine neue Datenbank anlegen. Die Datenbanken werden i. d. R. über das Kundencenter Ihres Anbieters verwaltet oder hierüber wird zur entsprechenden Verwaltung vermittelt. Legen Sie nun also eine zusätzliche leere Datenbank an und notieren sich die von Ihnen vergebenen bzw. vom System generierten Zugangsdaten. In diese Datenbank werden später die Einträge der bestehenden Seite übernommen [Schritt 9 und 10]. Bleiben Sie während der gesamten Prozedur am besten im Kundencenter Ihres Anbieters eingeloggt.
Schritt 2: Neues Verzeichnis erstellen
Zwischendurch loggen Sie sich per FTP auf Ihrem Webspace ein und erstellen im HTML-Verzeichnis, also in dem auch Ihr originaler Ordner der Joomla-Website liegt, einen neuen Ordner. Wenn Sie vorhaben später zwischen den Installationen zu switchen [12], dann sollten Sie den Ordner nicht „joomla-klon“ oder ähnlich nennen, denn dies würde später evtl. irritieren. Überlegen Sie sich eine sinnvolle Namensstrategie.
Schritt 3: Domain auf den neuen Ordner leiten
Begeben Sie sich nun wieder zurück zum Kundencenter Ihres Anbieters.
Wenn Sie keine ungenutzte Domain zur Verfügung haben und Ihr Anbieter die Erstellung von Subdomains erlaubt, erstellen Sie sich zuerst eine solche Subdomain (z. B.: „duplikat.ihre-domain.de“). Häufig können Sie nur eine begrenzte Menge an Subdomains erstellen, dafür sind diese aber meist auch kostenlos. Bereits nach relativ kurzer Zeit sollte die Subdomain verfügbar sein.
Leiten Sie die Sub-/Domain nun auf das neu erstellte und noch leere Verzeichnis weiter.
3.1: Schutz für Zugänge erhöhen
Falls Ihr Anbieter kostenlose SSL-Zertifikate z. B. von Let‘s Encrypt zur Verfügung stellt oder externe Zertifikate erlaubt, erstellen Sie sich am besten auch für die Subdomain ein Zertifikat. Evtl. kommt für Sie auch ein kostenpflichtiges Domain oder Multi-Domain Zertifikat in Frage, je nach Geldbeutel, Domainmenge etc.. Rufen Sie später Ihre Domain explizit über https:// auf (da wahrscheinlich nicht automatisch auf diese Variante umgeleitet wird [7]), um Ihre Anmeldedaten zu schützen, wenn Sie sich später im kopierten Joomla einloggen wollen.
Wenn Sie Ihre Subdomain nicht mit einem Zertifikat schützen können oder wollen, sollten Sie zumindest die Zugangsdaten der produktiven Joomla Umgebung ändern oder beispielsweise dieses Verschlüsselungs-Plugin zur Hilfe nehmen! Das Plugin verschlüsselt Eingaben von Passwörtern (in Standardfeldern) auf eigene Faust. Allerdings wurde das Plugin zum aktuellen Zeitpunkt bereits über 2 Jahre nicht mehr mit Updates versorgt und ist daher nur noch bedingt zu empfehlen.
Schritt 4: Verzeichnisschutz einrichten
Es ist sinnvoll, einen Verzeichnisschutz für den neuen Ordner anzulegen. Auf diese Weise stellen Sie sicher, dass niemand (auch keine Suchmaschine) über das HTTP-Protokoll auf Ihren Klon zugreift. Auch diesen Schritt führen Sie im Kundencenter Ihres Anbieters aus. Sollte eine Suchmaschine Zugriff auf das Duplikat Ihrer Website erhalten, kann dies massive negative Auswirkungen auf die Platzierungen in der Suchmaschine haben.
Schritt 5: Sichern des original Joomla Ordners
Loggen Sie sich nun per FTP auf Ihrem Webspace ein und sichern Sie den Ordner Ihrer originalen Joomla Installation.
Schritt 6: Dateien in den neuen Ordner hochladen
Laden Sie nun am einfachsten die losen Dateien und Verzeichnisse ihrer soeben abgeschlossenen Sicherung per FTP in den neuen noch leeren Joomla Ordner hoch. Damit es nicht zu Problemen kommt, müssen Sie hier die Dateien „.htaccess“ und „configuration.php“ ausklammern, laden Sie diese beiden Dateien also nicht hoch. Hinweis: Die beiden Dateien liegen direkt im Joomla Hauptverzeichnis. Markieren Sie dazu alle Einträge (STRG+A) und entfernen Sie die Markierung bei den beiden genannten Dateien mit STRG + Klick auf die Dateien.
Schritt 7: Anpassen der configuration.php Datei
Sichern Sie die beiden Dateien (.htaccess und configuration.php) für die Änderungen zuvor in einem separaten Ordner auf Ihrer lokalen Festplatte. Nun öffnen Sie die configuration.php mit einem einfachen Texteditor wie beispielsweise Notepad++ und ändern die auf der nächsten Abbildung markierten Werte.
Daten Ihrer neu angelegten Datenbank eingeben:
Diese Anpassung ist zwingend nötig, damit Sie nicht die Daten in der originalen Datenbank überschreiben.
$user = Ihr Datenbank Benutzer
$password = Ihr Datenbank Passwort
$db = Der Name Ihrer Datenbank
URL Rewrite deaktivieren (falls genutzt)
Da die Werte der .htaccess Datei nicht zur geklonten Seite passen, wird die .htaccess im Klon nicht hochgeladen und hier in der configuration.php der Wert von „1“ auf „0“ gesetzt und somit deaktiviert. Das sorgt zwar auch dafür, dass URLs nicht so aussehen, wie auf der originalen Version Ihrer Seite, dies sollten Sie im Hinterkopf behalten und entsprechend agieren.
$sef_rewrite = 0
Alternativ können Sie auch eine gesonderte .htaccess Datei anlegen und diesen Eintrag so belassen, erfordert aber im Grunde nur mehr Zeit, bringt eine weitere Fehlerquelle mit und kann je nach Hosting Anbieter mit einem eventuellen Verzeichnisschutz [4] kollidieren, in dem Fall müssten Sie beides in einer einzigen .htaccess-Datei abhandeln.
Pfade der Temp- und Log-Dateien anpassen
Hier sollten Sie den Ordnernamen jeweils auf den neuen Ordnernamen anpassen, damit die entsprechenden Dateien auch in dem richtigen Ordner landen.
Schritt 8: Hochladen der configuration.php
Damit Joomla später funktionieren kann, müssen Sie die soeben geänderte Konfigurationsdatei nun noch nachträglich per FTP in den Web-Ordner des Joomla Duplikates hochladen.
Schritt 9: Datenbank manuell exportieren (sichern)
Zu Ihrer Joomla Website gehört natürlich auch eine Datenbank. Damit später beim wiederherstellen der Tabellen in einer separaten Datenbank nichts schief läuft, sollten Sie für diesen Zweck selbst eine Sicherung Ihrer Joomla Datenbank anlegen. Bei den Backups, die Ihnen Ihr Hoster evtl. zur Verfügung stellt, kann es vorkommen, dass diese später beim Import die originale Datenbank überschreibt. Die Datenbank-Sicherungen wurden ja ursprünglich für den Zweck erstellt, um diese im Notfall an gleicher Stelle wiederherzustellen.
Damit Sie die Datenbank (zumindest i. d. R.) problemlos klonen können, sollten Sie für diesen Zweck selbst eine Sicherung Ihrer Datenbank anlegen. Gehen Sie dabei am besten vor, wie im nachfolgenden gezeigt.
9.1 : Datenbank manuell über phpMyAdmin sichern
Die meisten Anbieter werden Ihnen phpMyAdmin für die visuelle Datenbankverwaltung zur Verfügung stellen. In der Regel werden Sie den Zugang über Ihr Kundencenter erreichen. Um die Original-Datenbank zu exportieren, klicken Sie auf der linken Seite Ihre Joomla Datenbank an. Hier im Beispiel heißt diese Datenbank selbst „joomla“. Jetzt können Sie auf der rechten Seite auch die Tabellen dieser Datenbank sehen.
Begeben Sie sich nun auf den Punkt „Exportieren“ oben im Menü. Achten Sie noch einmal darauf, dass Sie auch wirklich die richtige Datenbank exportieren, indem Sie den Namen Ihrer Datenbank oben in der Überschrift prüfen. Im Normalfall müssen alle Einstellungen so belassen werden, wie sie sind. Klicken Sie nun für den Export auf „OK“. Es wird nun je nach Größe der Datenbank etwas dauern, bis Ihnen ein Download über den Browser angeboten wird.
Schritt 10: Datenbank manuell importieren (wiederherstellen)
Um die Datenbank für die geklonte Joomla Website wiederherzustellen, klicken Sie auf der linken Seite nun die Datenbank an, die Sie zu Beginn dieser Anleitung erstellt haben. Wie Sie auf der rechten Seite sehen können, existieren bisher keinerlei Tabellen in dieser Datenbank. Klicken Sie nun also auf Importieren.
Achten Sie darauf, dass Sie sich auch wirklich in der richtigen Datenbank befinden, indem Sie auch hier die Überschrift auf den Namen prüfen.
Wählen Sie als nächstes Ihre manuell exportierte SQL-Datei aus und klicken Sie auf „OK“. Belassen Sie alle Einstellungen so wie sie sind.
Nach einem Moment sollte Ihnen der erfolgreiche Import vermeldet werden. Wie man nun sehen kann, befinden sich die Tabellen der originalen Datenbank nun auch in der neu angelegten Datenbank.
Schritt 11: Subdomain / geklonte Website aufrufen
Rufen Sie nun Ihre Sub-/Domain im Browser auf. Wenn Sie ein SSL-Zertifikat eingebunden haben, erfolgt der Aufruf direkt über https:// [3]. Durch die Verwendung des Verzeichnisschutzes [4], sollte nun eine Passwortabfrage erscheinen. Nachdem Sie sich den Zugang verschafft haben und einige prüfende Blicke auf den Klon geworfen haben, sollten Sie sich zunächst im Backend einloggen und hier die wichtigsten Einstellungen prüfen (Datenbank, Pfade etc.) Im Anschluss sollten Sie den Joomla-Cache leeren.
Wenn kein Fehler passiert ist, werden Sie nun beide Varianten Ihrer Joomla Website parallel und unabhängig voneinander bedienen können.
Sie können die Seite so als realistische Testumgebung für Ihre original-Website nutzen oder beispielsweise große Änderungen am Klon vornehmen und später die richtige Domain auf den Klon (Ordner + Datenbank) umschalten. Richtig gesteuert können Sie hier selbst bei großen Änderungen kurze Ausfallzeiten realisieren.
Schritt 12: Geklonte Website umstellen und mit originaler Domain aufrufen
Je nachdem, wozu Sie das Duplikat Ihrer Joomla Website nutzen wollen, macht es Sinn, die geklonte Variante irgendwann später unter der originalen Domain erreichbar zu machen.
Sobald Sie die Arbeiten an Ihrem Klon abgeschlossen haben, erstellen Sie am besten eine komplette Sicherung Ihres Webspace und Ihrer Datenbanken. Löschen Sie als nächstes den Joomla Cache und loggen Sie sich aus Joomla aus.
Parken Sie nun die Domain / Subdomain ihres Joomla Klons, indem Sie diese auf einen leeren gesperrten Ordner umleiten. So ist die Sub-/Domain für den nächsten Anlauf schnell wieder verfügbar und Ihre Seite kann keine doppelten Inhalte erzeugen, weil diese auf einmal durch 2 Adressen erreichbar ist.
Sobald die Umleitung aktiv ist, Sie also den Klon nicht mehr aufrufen können, kann auch der Verzeichnisschutz aufgelöst werden. Dies ist wichtig, damit Ihre Nutzer nach dem Umswitchen auf die originale Domain, keine Passwortaufforderung erhalten.
Laden Sie jetzt per FTP die configuration.php von dem Ordner Ihres Joomla Klons herunter und ändern Sie den Wert „$sef_rewrite“ wieder von 0 auf 1, wie zuvor in Schritt [7] geändert. Laden Sie jetzt sowohl die configuration.php als auch die .htaccess wieder in den Klon-Ordner hoch.
Ab jetzt können Sie die Original-Domain auf den Klon-Ordner umleiten und somit den Klon-Ordner zum Original-Ordner machen. Das gilt ab dem Moment auch für die Datenbank, hier ist ab jetzt auch die Klon-DB die originale DB. Achten Sie immer genau darauf, dass Sie die richtige Datenbank zusammen mit den richtigen Joomla Daten verwenden.
Nachdem die Umleitung aktiv ist, rufen Sie Ihre Domain auf. Begeben Sie sich ins Backend, löschen Sie den Joomla-Cache und prüfen Sie, ob alle wichtigen Einstellungen stimmen. Prüfen Sie nun ganz genau, ob alles so funktioniert, wie gewünscht. Prüfen Sie auch stichprobenartig die URLs, ob es hier Unterschiede gibt, die korrigiert werden müssen.
Läuft alles zu Ihrer Zufriedenheit, können Sie sowohl die Daten des ehemaligen Original-Ordners, als auch den Inhalt der Datenbank, also die Tabellen der Datenbank löschen. Der Ordner und die Datenbank selbst können erhalten bleiben, für den eventuellen nächsten Anlauf.
Kommentare: (11)
bei so wenigen Informationen ist es immer etwas schwierig eine passende Antwort zu finden.
Allerdings könnte ich mir vorstellen, dass bei der Kopie eine andere PHP-Version aktiv ist, als beim Original. Wenn beispielsweise eine ältere Joomla Version verwendet wird, kann es ggf. vorkommen, dass die Version noch nicht kompatibel mit neueren PHP-Versionen ist. Bitte dies einmal prüfen und ggf. vorübergehend zum Einspielen der Updates (das Verzeichnis) auf eine ältere PHP-Version zurückstellen.
Gruß
Sven
Vorerst besten Dank für die Anleitung zum Klonen, hat wunderbar geklappt bis darauf, dass die kopierte Website nicht angezeigt wird bis auf das Impressum. Die Admin-Konsole ist erreichbar und funktioniert. Was muss ich noch freigeben um auch die geklonte Site zu sehen?
Original = www.dampfzentrum.c oder www.dampf-zentrum.ch
Klon = www.testumgebung.dampf-zentrum.ch
Vielen dank für Ihre Hilfe und freundliche Grüsse
Peter Nussbaumer
hast du das exakt so gemacht, wie in der Anleitung steht?
Manche Probleme entstehen auch im Bezug auf das Caching, hier solltest du im Backend den Joomla Cache leeren, falls noch nicht geschehen.
Ich würde übrigens empfehlen, die Testumgebung mittels Verzeichnisschutz vor Dritten und vor der Indexierung in die Suchmaschine zu schützen. Diesbezüglich habe ich gerade geprüft, ob du ggf. über die robots.txt die Suchmaschinen ausgesperrt hast. Dabei ist mir aber aufgefallen, dass diese Datei in deinem Klon nicht gefunden wird (404).
Kann es evtl. sein, dass nicht alle Dateien beim Kopieren übertragen wurden?
Gruß
Sven
Danke für den Hinweis Ich denke die Kopie die ich mit cPanel erstellt habe war nicht optimal. Ich bin jetzt am Kopieren mit Filezilla und melde mich nachdem der Vorgang abgeschlossen ist.
Gruss
Peter
für deine Hilfe, nach einer weiteren Kopie der Daten funktioniert alles bestens.
Gruss
Peter
Gruß
Sven
vielen Dank für diese ausführliche Anleitung.
Ich habe alles wie beschrieben gemacht und es klappt wunderbar.
Ich kann die geklonte Seite aufrufen, es funktioniert alles, nur der Login zum Backend wird nicht angezeigt bzw. funktioniert nicht.
Habe ich da vielleicht was übersehen?
Für einen Tipp zur Problemlösung wäre ich dir sehr dankbar.
Viele Grüße
Doreen
so ohne weiteres ist das natürlich schwierig zu sagen, da kann ich leider auch nur raten. Aber vielleicht kommt für den Klon eine nicht unterstützte PHP Version zum Einsatz? Das könnte möglicherweise zu einer weißen Seite führen, falls du das mit "wird nicht angezeigt" meinst.
Gruß
Sven
kleiner Nachtrag zu meiner vorigen Mail.
Ich habe in der Zwischenzeit nochmal alle Dateien aus der Sicherung der aktuellen Seite, inclusive der geänderten configuration.php, hochgeladen und siehe da ..., der Anmeldescreen ist verfügbar. Ich kann mich einloggen und es sind auch alle Inhalte da und editierbar. Die Startseite des Clans wird im Browser auch korrekt angezeigt, allerdings funktionieren nun die Verlinkungen der Menüs nicht mehr.
Immerhin bin ich schonmal ein Stück weiter gekommen und der Rest kann man sicher auch noch lösen.
Danke für deine Unterstützung.
Grüße
Doreen
hast du den Joomla Cache über das Backend geleert? Vielleicht liegt es nur daran.
Ich wünsche dir jedenfalls viel Erfolg.
Gruß
Sven