• Gelöst chakotay

    (@chakotay)


    Hallo zusammen,

    ich habe mich durch das Lesen hier in diesem Forum dafür entschlossen, mich mal an einer lokalen Installation mit MAMP (Mac) zu WP-Testzwecken zu versuchen. Es läuft auch alles wunschgemäß.

    Aber eines ist mir nicht klar, vielleicht kann jemand helfen:

    Ich möchte zu meiner lokalen Webseite nun lokal eine zweite WP-Webseite erstellen. Beide Sites sollen völlig unabhängig voneinander behandelt werden, d.h. unterschiedliche Namen, kein gemeinsames Nutzen einer Datenbank, die Möglichkeit, unterschiedliche Themes und Plugins zu installieren u.s.w.

    Wie stelle ich das an? Ist das überhaupt möglich?
    Es liegt der WP-Ordner ja im htdocs-Ordner von MAMP. Müsste ich jetzt einen zweiten WP-Ordner („wordpress2“) anlegen und eine zweite Datenbank (Datenbankname dann „wordpress2“ oder so?) Die Webadresse für die zweite Seite würde sich dann in „http://localhost:8888/wordpress2/“ ändern?
    ——
    In diesem Zusammenhang noch zwei Fragen hinsichtlich einer Kopie meiner online-Webseite auf meine lokale Installation:
    Kann ich meine online bestehende Datenbank per phpMyAdmin exportieren und sie dann in meine lokale Version importieren? -> ohne, dass ich mich mit phpMyAdmin auskenne (gibt es vllt. eine einfache Export- und Importfunktion? Und: welche Ordner muss ich per Filezilla vom Online-Server kopieren und sie in die lokale Installation einfügen, um ein Abbild meiner bereits online bestehenden Webseite hier lokal zu erhalten?

    Ich hoffe, dass ich nicht zu viele Fragen gestellt habe und dass jemand Lust hat, mir kurz weiterzuhelfen. Oder mir einen Link postet, der meine Fragen erklärt – per Suche bin ich leider nicht weitergekommen.

    Euch allen einen schönen Sonntag!
    Chakotay

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 21)
  • Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Wie du WordPress lokal auf dem eigenen Computer installieren kannst, habe ich vor kurzem in einem etwas ausführlicheren Blogbeitrag geschrieben. Der Beitrag erhält auch einen kurzen Hinweis auf das Plugin Duplicator, mit dem du recht komfortabel die fertiggestellte Website zum öffentlich zugänglichen Webserver umziehen kannst.

    Im Prinzip ist auch ein Umzug mit phpMyAdmin und Übertragung aller WordPress-Dateien per FTP möglich, allerdings müssen dann Website-URL und WordPress-URL auf dem Ziel-Server angepasst werden (am einfachsten durch Hinzufügen von define( 'RELOCATE', true ); in die wp-config.php, anschließend meldest du dich über wp-login.php im Backend an und korrigierst dann die Website-URL und WordPress-URL unter Einstellungen > Allgemein. Um auch die für Mediendateien und Links verwendeten URLs zu korrigieren, kannst du dann ein Plugin wie Better Search Replace nutzen). Allerdings ist die automatisierte Variante mit Duplicator etwas bequemer.

    Was die Installation mehrerer WordPress-Instanzen auf dem lokalen Webserver angeht, liegst du schon richtig: zweiten WordPress-Ordner und zweite MySQL-Datenbank einrichten und dann kann die Installation losgehen. (Einfacher geht’s übrigens mit MAMP Pro, weil du dann statt einer URL http://localhost/wordpress2/ auch eine eigene Domain http://firma-mueller.dev aufsetzen kannst.)

    Themenersteller chakotay

    (@chakotay)

    Vielen Dank für den Link auf deinen Blog – genauso habe ich es prinzipiell gemacht, eine auch für Laien verständliche gute Anleitung.
    Mit dem Plugin „Duplicator“ komme ich leider nicht klar, es erzeugt einen Internal Server Error, liegt vllt. auch an meiner sehr dörflichen Internetverbindung…
    Ich werde in den nächsten Tagen die händische Alternative ausprobieren, ebenso die Installation mehrerer WP-Instanzen über MAMP und mich dann nochmal melden, ob es geklappt hat oder nicht.
    Grüße!

    Nur noch mal zur Bestätigung: Ich mache die Installation mehrerer WP-Instanzen in XAMPP genau so, wie du es oben in deiner Frage für MAMP beschrieben hast.

    Themenersteller chakotay

    (@chakotay)

    So, jetzt habe ich zwei Stunden geknobelt und die Ergebnisse:
    – zwei WP-Installationen laufen unter MAMP einwandfrei
    – das händische Übertragen meiner WP-Seite auf die Testumgebung hakt an folgender Stelle:
    Das Verändern der wp-config.php ist mir nicht ganz klar.
    Ich vermute, es müssen diese beiden Einträge verändert werden:

    define('DB_NAME', 'dalniente_de');
    define('DB_USER', 'dalniente_de');

    Aber was genau muss ich eintragen?

    define('DB_NAME', 'http://localhost:8888/wordpress1');
    define('DB_USER', 'http://localhost:8888/wordpress1');

    Oder wenn ich deinen Code define( 'RELOCATE', true ); verwende, wo muss er eingetragen werden und muss ich dafür andere Zeilen löschen?
    Ich denke, die anderen Schritte (Kopieren der WP-Dateien in das entsprechende Verzeichnis und Importieren der Datenbank) habe ich richtig gemacht.

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Das ist ein wenig durcheinander. 🙂

    Zum einen stehen in der wp-config.php die Zugangsdaten zur Datenbank. Während bei MAMP der selbst gewählte Namen der Datenbank und der Benutzername „root“ mit dem Passwort „root“ eingegeben wird, müssen die Werte bei einem Umzug auf den Server eines Webhosts entsprechend mit den Zugangsdaten der Datenbank dort überschrieben werden. Oft wird dabei der Name der Datenbank und der Nutzername vorgegeben und dass Passwort kann man selber festlegen oder ändern.

    Was bei Einsteigern mitunter für Verwirrung sorgt ist der DB_HOST. Damit ist der Server gemeint, auf dem die Datenbank liegt. Da aber häufig Apache-Webserver und MySQL-Datenbank auf dem gleichen Computer ausgeführt werden, ist der DB_HOST in den meisten Fällen der (aus Sicht des Apache-Webservers) „eigene“ Computer, also localhost. Es gibt aber auch Webhoster, die aus technischen Überlegungen die MySQL-Datenbank auf einem anderen Webserver installiert haben. Hier wird dann ausdrücklich angegeben, welche Webadresse als Datenbank-Host angegeben werden muss. (Andersherum: wird nicht extra auf einen externen Server hingewiesen, ist es mit ziemlicher Sicherheit localhost).

    So. Neues Kapitel. 🙂

    Bisher ging es ausschließlich darum, wie WordPress an die Daten in der neuen Datenbank herankommt. Bei einem Umzug ist aber noch ein weitere Punkt zu beachten: WordPress verwendet an verschiedenen Stellen absolute URLs, etwa für alle Mediendateien, aber auch für Links, Widgets, Menüs, etc. Teilweise sind diese URLs auch noch als serialisierte Daten angelegt (damit sind mehrere Daten in einem Datenfeld gemeint). Es gibt verschiedene Varianten, wie man diese URLs anpassen kann:

    Zum Beispiel könnte man direkt (z.B. mit phpMyAdmin) in die Datenbank eingreifen. Allerdings übersieht man hier leicht Einträge und die Chance, das man mehr Unheil anrichtet, ist vergleichsweise groß. Es gibt auch Varianten, bei denen man die neue URL fest in die wp-config.php oder die functions.php einträgt. Damit wird der Eintrag in der Datenbank durch die Abfrage einer Konstante überschrieben, bleibt aber in der Datenbank selber unverändert, was nicht optimal ist. Eine recht effiziente Änderung ist, WordPress mit define( 'RELOCATE', true ); „mitzuteilen“, dass man mal eben umziehen möchte. Dabei wird kurzerhand das bisherige Muster zum Erstellen von URLs durch den Abruf der gegenwärtigen (neuen) Serveradresse ersetzt (wem das alles noch nicht kompliziert genug ist, kann gerne hier Details nachlesen). Das kann man geschickt ausnutzen, in dem man sich auf dem neuen Server über die Seite wp-login.php anmeldet und geschwind unter Einstellungen > Allgemein die URL der neuen Domain einträgt. Anschließend sollte man die „Krücke“ RELOCATE wieder aus der wp-config.php entfernen, bevor jemand versucht, die Funktion für Schabernack auszunutzen.

    Nun wird zwar für das WordPress-Front- und Backend die neue URL verwendet, aber die Einträge für Mediendateien, Menüs, Links, etc. sind noch nicht angepasst. Wenn man es sich einfach machen möchte, kann man flugs das Plugin Better Search Replace installieren und mit Hilfe dieses Plugins die gesamte Datenbank nach z.B. http://localhost:8888/ durchsuchen und den Teil der URL mit https://paul-huber-und-soehne.de/ ersetzen. Das Plugin wird anschließend vermutlich nicht mehr benötigt und kann wieder gelöscht werden.

    Hatte ich erwähnt, dass bei solchen Aktionen Backup sinnvoll sind? 🙂

    Übrigens: Wenn es mit der unkomplizierteren Methode mit Duplicator nicht klappt, kann das an der Serverkonfiguration liegen. In solchen Fällen geht auch ein Backup/Restore mit Plugins wie UpdraftPlus Backup oder BackWPup.

    Themenersteller chakotay

    (@chakotay)

    Ich danke dir sehr für deinen ausführlichen Post und für deine Mühe!!!
    Aber ich befürchte, ich bin zu sehr Newbie, um deine Anweisung umzusetzen.
    (Bis zum Plugin „Better Search Replace“ bin ich noch gar nicht gekommen. Das Plugin BackWPup habe ich früher für die Sicherung verwendet, aber vor ca. 4 Wochen erhielt ich nur noch Fehlermeldungen. Seitdem sichere ich die Daten via Filezilla.)
    Die wp-config.php scheint zu verhindern, dass ich mich lokal einloggen kann und auch das Einfügen von define( 'RELOCATE', true ); hat nicht weitergeholfen.

    Ich schreibe noch mal kurz auf, was ich bislang gemacht habe und wenn du noch Nerven hast, würde ich mich über eine „to-do-Liste“ freuen.

    Hintergrund:
    fertige Online-Seite (dalniente.de) soll von one.com auf eine lokale Testumgebung meines MacBooks kopiert werden, damit ich relativ gefahrlos Dinge ausprobieren kann (z. B. das WP-Update auf 4.5.1)

    Was habe ich gemacht:
    – MAMP installiert
    – im Ordner htdocs einen Ordner worpress1 angelegt und die entzippten, downgeloadeten Dateien von WP 4.4.2 dort eingefügt
    – Datenbank wordpress1 per MAMP/phpMyAdmin angelegt
    – die WP-Installation mit den entsprechenden Zugangsdaten (wordpress1, localhost, root…) abgeschlossen; WP war aufrufbar und ich konnte mich ins Backend einloggen
    Nun kam mein Versuch, meine online bereits bestehende Seite lokal zu installieren:
    – die WP-Dateien von one.com per Filezilla auf mein MacBook geladen und in den wordpress1-Ordner hineinkopiert
    – die WP-Datenbank von one.com per phpMyAdmin exportiert und als wordpress1 über MAMP/phpMyAdmin importiert
    – kein Aufruf des Backends mehr möglich (404 not found)

    – wp-config.php geöffnet und define( 'RELOCATE', true ); eingefügt; keine Wirkung

    In meiner wp-config.php sind folgende Einträge (Wobei ich das DB_Password hier zum Posten durch xxxx ersetzt habe; und ich das Plugin WP-super-cache schon lange gelöscht habe):

    define( 'WPCACHEHOME', '/customers/e/7/3/dalniente.de/httpd.www/wp-content/plugins/wp-super-cache/' ); //Added by WP-Cache Manager
    define('DB_NAME', 'dalniente_de');
    /** MySQL database username */
    define('DB_USER', 'dalniente_de');
    /** MySQL database password */
    define('DB_PASSWORD', 'xxxx');
    /** MySQL hostname */
    define('DB_HOST', 'dalniente.de.mysql.service.one.com');
    /** Database Charset to use in creating database tables. */
    define('DB_CHARSET', 'utf8');
    /** The Database Collate type. Don't change this if in doubt. */
    define('DB_COLLATE', '');

    Kannst du aus meinen Angaben schließen, wo der Fehler liegt bzw. was genau ich jetzt machen muss? Falls es für dich zu aufwändig ist, habe ich dafür vollstes Verständnis, dann lege ich meinen Versuch, eine Testumgebung zu schaffen, erst mal ad acta ;(

    Viele Grüße!

    In meiner wp-config.php sind folgende Einträge

    Hast du die lokale wp-config.php entsprechend angepasst?

    die WP-Dateien von one.com per Filezilla auf mein MacBook geladen und in den wordpress1-Ordner hineinkopiert

    – kein Aufruf des Backends mehr möglich (404 not found)

    Hast du eventuell die lokale htaccess-Datei mit der vom Server überschrieben?

    Du kannst auch mal noch händisch in der Datenbank nachprüfen, ob bei den wp_options der lokale option_value für siteurl und home korrekt eingetragen ist.

    Themenersteller chakotay

    (@chakotay)

    Hallo Flower,

    Hast du die lokale wp-config.php entsprechend angepasst?

    Das ist ja gerade (u.a.) meine Frage:
    Was muss ich wo in der wp-config.php verändern?
    Nochmal zur Info: Ich bin absoluter Laie, Ü50 🙂 und habe – außer ein paar rudimentärer html-Befehle – keinerlei Programmierkenntnisse, aber ich fuchse mich immer irgendwie durch und lerne ständig hinzu. Kannst du mir konkret sagen, was ich wo in der wp-config.php verändern muss, damit meine lokale Installation nach Hinzufügen der Dateien meiner Online-Seite läuft?

    Hast du eventuell die lokale htaccess-Datei mit der vom Server überschrieben?

    Ja, ich habe alle Dateien vom one.com-Server in meine lokale Installation übertragen. Liegt da vllt. der Hase im Pfeffer? Hätte ich die lokale htaccess unangetastet sein lassen sollen? (Was für ein Deutsch… :))

    Ich bin gerade etwas unter Zeitdruck und muss gleich noch zum Einkaufen los, da morgen Feiertag ist, aber ich melde mich später wieder.

    WP war aufrufbar und ich konnte mich ins Backend einloggen

    Gib bitte mal noch kurz an, mit welcher URL genau du dich da erfolgreich eingeloggt hast.
    War das

    http://localhost/wordpress1/wp-login.php

    oder

    http://localhost:8888/wordpress1/wp-login.php

    ?

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Der Thread wird ein wenig unübersichtlich. 🙂

    Ich gehe nochmal ein paar Schritte zurück zu dem Beitrag von chakotay, der mit „Ich danke dir sehr für deinen ausführlichen Post …“ beginnt … 

    Du möchtest eine bestehende Website bei einem fremden Webhoster auf deinem Mac lokal als Testversion klonen. Dazu hast du

    1. MAMP installiert,
    2. lokal eine Datenbank wordpress1 angelegt und
    3. die gesamten WordPress-Dateien vom Webserver in ein Verzeichnis Applications/MAMP/htdocs/wordpress1/ kopiert.
    4. Außerdem hast du die Datenbank beim Webhoster exportiert und in die Datenbank wordpress1 in MAMP importiert.

    So weit ist das schon mal alles prima. (Ein typischer Einsteigerfehler wäre: Nur die Dateien kopieren und ganz vergessen, dass die Inhalte in der Datenbank liegen. Oder umgekehrt. Hast du aber alles richtig gemacht. Prima.)

    WordPress hat eine Konfigurationsdatei wp-config.php, in der unter anderen auch die Zugangsdaten zur Datenbank stehen. Da sind jetzt noch die alten Zugangsdaten vom Webhoster drin, die natürlich für deine lokale Installation nicht mehr stimmen. Sie sollten jetzt so lauten:

    /** Name der Datenbank in MAMP */
    define('DB_NAME', 'wordpress1');
    /** MySQL-Datenbank Nutzername in MAMP */
    define('DB_USER', 'root');
    /** MySQL-Datenbank Passwort in MAMP */
    define('DB_PASSWORD', 'root');
    /** MySQL hostname */
    define('DB_HOST', 'localhost');
    /** Database Charset to use in creating database tables. */
    define('DB_CHARSET', 'utf8');
    /** The Database Collate type. Don't change this if in doubt. */
    define('DB_COLLATE', '');

    Mit diesem Daten sollte WordPress zumindest auf die Datenbank zugreifen können und du solltest unter http://localhost:8888/wordpress1/wp-login.php zumindest schon mal das Login-Formular sehen können. Funktionieren tut es vermutlich noch nicht richtig, weil in der Datenbank alle möglichen Links auf den Webserver deines Webhosters verweisen.

    Um das jetzt zu korrigieren, fügst du in der wp-config.php gleich unterhalb von define('WP_DEBUG', true); die folgende Zeile vorübergehend ein:

    define( 'RELOCATE', true );

    Jetzt müsstest du dich zumindest über http://localhost:8888/wordpress1/wp-login.php im Backend deiner lokalen Installation anmelden können. Wenn das klappt – supi! – kannst du die beiden Einträge der URLs in Einstellungen > Allgemein auf http://localhost:8888/wordpress1 ändern.

    Jetzt fehlt noch ein letzter Schritt, damit auch die Links für die ganzen Mediendateien und Links, etc. angepasst werden. Dazu installierst du in deine lokale Installation das Plugin Better Search Replace und ersetzt dann http://link-zur-domain-beim-Webhost.de mit http://localhost:8888/wordpress1

    Abschließend kannst du in der wp-config.php noch die vorübergehend eingefügte Zeile wieder entfernen.

    Für alle Änderungen in Dateien würde ich übrigens den kostenlos erhältlichen Editor Atom.io empfehlen.

    Erzähl mal. ob das so geklappt hat.

    Ich bin absoluter Laie, Ü50 🙂 …

    Ich doch auch. 😉

    @bego:

    /** Name der Datenbank in MAMP */
    define('DB_NAME', 'wordpress1');
    /** MySQL-Datenbank Nutzername in MAMP */
    define('DB_USER', 'root');
    /** MySQL-Datenbank Passwort in MAMP */
    define('DB_PASSWORD', 'root');
    /** MySQL hostname */
    define('DB_HOST', 'localhost');
    /** Database Charset to use in creating database tables. */
    define('DB_CHARSET', 'utf8');
    /** The Database Collate type. Don't change this if in doubt. */
    define('DB_COLLATE', '');

    In dem von mir gelöschten Beitrag schlug ich exakt diese Änderungen seiner wp-config.php vor (ihr beide habt die Inhalte noch in eurer Benachrichtigungsmail vom gelöschten Beitrag), mit der einzigen Ausnahme, dass ich nicht

    define('DB_PASSWORD', 'root');

    vorschlug, sondern

    define('DB_PASSWORD', '');

    Damit ich weiter dazulernen kann: Warum muss da jetzt, im Gegensatz zu meinem XAMPP, beim Passwort „root“ stehen? Hat das was mit MAC/MAMP zu tun?
    Danke!

    OK, Google hilft 😉

    The default password for MySQL under MAMP is username: root, password: root. Apparently the default password in a plain vanilla install is username: root, password: „“ (empty).

    Wie vermutet also durch MAMP begründet. Wieder was dazugelernt 😉

    Themenersteller chakotay

    (@chakotay)

    Hallo Flower,
    danke für dein Mitdenken! Und ich hätte tatsächlich auf deine Frage antworten können und wollen, aber du warst mit Google leider schneller (ich habe leider so die einzigartige Gelegenheit verpasst, hier im Forum auch mal eine Frage zu beantworten, anstatt sie immer nur zu stellen… ;-))

    Hallo Bego,
    passt!!!!!!!!!!!!!!!!!!
    Dein letzter Post war genau das, was ich mir als „to-do-Liste“ erhofft habe und dadurch sind mir die Zusammenhänge auch deutlicher geworden.
    Die Seite steht nun lokal und scheint auch fehlerfrei hinsichtlich Medien und Links zu sein.
    Wenn ich könnte, würde ich dir ein Stück Kuchen rüberbeamen – vor allem für deine Geduld, echt!

    Ich bin absoluter Laie, Ü50 🙂 …
    Ich doch auch. 😉

    Jau, über dein Alter will ich jetzt nicht spekulieren, aber den Laien merkt man dir deutlich an… 😀

    Vielleicht magst du ja deinen Blogbeitrag, den du oben verlinkt hast, noch um die Inhalte deines letzten Posts erweitern? Wie gesagt, er hat mir sehr geholfen, danke.
    Zwei kurze Anmerkungen noch der Vollständigkeit halber:
    – In meiner wp-config.php stand die Zeile define('WP_DEBUG', true); auf „false“.
    – Die URLs in Einstellungen > Allgemein: Dort war die URL für WordPress bereits geändert, ich musste nur händisch die URL der Seite selbst eingeben.

    Wie gesagt, genieße den virtuellen Dankes-Kuchen – ich freue mich sehr, dass die lokale Installation zweier WP-Instanzen läuft, das Klonen geklappt hat und ich nun eine neue Spielwiese am Mac habe.
    Setze also den Thread auf „gelöst“.

    Viele Grüße!
    „Chakotay“

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    In meiner wp-config.php stand die Zeile define(‚WP_DEBUG‘, true); auf „false“.

    Daran merkt man, dass irgendwann die Konzentration nachlässt. 🙂

    Mit define('WP_DEBUG', true); werden Fehlermeldungen (auch im Frontend) ausgegeben und erlauben so, abgesehen von speziellen Debugging-Werkzeugen (z.B. Debug-Bar) eine Fehleranalyse. Da man aber nicht möchte, dass potentielle Angreifer Fehler auch noch soweit analysieren, dass ihnen ein Angriff erleichtert wird, sollte der Wert bei produktiven Websites auf falsegesetzt werden. (Lokal lass ich es aber gerne auf true, weil ich dann schneller merke, wenn etwas nicht stimmt.)

    Wenn jetzt soweit alles läuft, kannst du dir auch noch diesen Beitrag ansehen. Hier wird erklärt, wie du WordPress ohne Unterverzeichnis aufrufen kannst.

    Übrigens gibt es viele Möglichkeiten, sich (statt mit virtuellem Kuchen) bei WordPress einzubringen: Schreib mal zu deinem Lieblings-Plugin einen kleinen Kommentar auf der Plugin-Seite, klick mal auf den Button „Works with my WordPress-Version“, hilf einem Nachbarn, seine Website einzurichten … Es finden auch regelmäßig WordPress Meetups statt, bei denen man viel lernen (oder sich zumindest nett unterhalten) kann.

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 21)

Das Thema „lokale Installation mehrerer WP-Seiten“ ist für neue Antworten geschlossen.