Support » Installation » Zweite WP Installation auf Webserver

  • Hallo miteinander,

    in meinem Hauptverzeichnis meines Webservers ist bereits eine WP Installation vorhanden und online.

    Ich möchte nun aber in einem Unterverzeichnis …/entwicklung eine zweite WordPress Installation anlegen.

    Nachdem ich die Installation durchgeführt habe und mich dann schlussendlich bei
    http://www.domain.de/entwicklung/wp-admin anmelden möchte, kommt folgende Meldung:

    The file wp-config.php already exists. If you need to reset any of the configuration items in this file, please delete it first. You may try installing now.

    Ich habe auch eine extra Datenbank für diese zweite Installation angelegt. Lediglich die wp-config Geschichte macht mir hier einen Strich durch die Rechnung.

    Wie kann ich dieses Problem lösen?

    Danke euch und liebe Grüße

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 15)
  • Die Konfigurationsdatei wp-config.php kann im gleichen Verzeichnis, wie die übrigen WordPress-Dateien stehen, sie kann aber auch im Verzeichnis darüber liegen. Das ist zum Beispiel dann sinnvoll, wenn du die Datei (in der die Zugangsdaten zur Datenbank stehen!) ganz aus dem öffentlich zugänglichen Web-Stammverzeichnis haben möchtest. In deinem Fall ist das aber vermutlich im Moment eher hinderlich, weil die neue Installation im Verzeichnis entwicklung die Datei im übergeordneten Verzeichnis findet und nun große Verwirrung besteht, welche Datei für was zuständig ist.

    Wenn du in deinem Webspace mehrere Webanwendungen nutzen möchtest, ist es sinnvoll, jeder Anwendung ein eigenes Verzeichnis zu geben. Das ist dann auch der (einzige!) Grund, wieso du in WordPress unter Einstellungen > Allgemein eine Unterscheidung in Website-URL („wo finde ich die Website?“) und WordPress-URL („… und wo liegen die WordPress-Dateien?“) findest.

    Um eine bereits bestehende Website in ein eigenes Verzeichnis zu verschieben sind ein paar wenige Schritte notwendig, die wir hier schon öfters beschrieben haben:

    1. Backup der Datenbank machen.
      Wichtig! Es kann immer mal was schief gehen.
    2. Im Web-Stammverzeichnis ein neues Verzeichnis wordpress anlegen.
    3. Du meldest dich im Backend an und prüfst, ob du Cache- oder Optimierungs-Plugins verwendest. Falls ja, solltest du den Cache leeren und das Plugin deaktivieren.
    4. Nun hängst du unter Einstellungen > Allgemein an die WordPress-URL das neu angelegte Verzeichnis wordpress an, sinngemäß also https://example.com/wordpress.
    5. Alle Dateien außer der wp-config.php in das Verzeichnis wordpress verschieben.
    6. Datei index.php aus dem Verzeichnis wordpress in das nächsthöher gelegene Web-Stammverzeichnis kopieren. („Wieso hab ich sie dann nicht gleich da gelassen?“ – „Weil sie im Verzeichnis wordpress vorhanden sein muss und wir die gerade kopierte Datei noch anpassen müssen!“)
      In der index.php im Web-Stammverzeichnis änderst du die letzte Zeile so, dass sie auf das Verzeichnis wordpress verweist:
      require __DIR__ . '/wordpress/wp-blog-header.php';
    7. Nun kannst du dich erneut im Backend anmelden, musst aber in der URL zum Anmeldeformular das Verzeichnis wordpress mit angeben, sinngemäß also https://example.com/wordpress/wp-login.php (natürlich mit deiner Domain).
    8. Die Mediendateien liegen jetzt in einem anderen Verzeichnis. Um die Datenbank-Einträge zu korrigieren, installierst du das Plugin Better Search Replace und ersetzt damit sinngemäß https://example.com/wp-content mit https://example.com/wordpress/wp-content. Achte darauf, hier keine Tippfehler zu machen, weil sie schwieriger zu korrigieren sind. (Zur Not hast du aber dein Backup. Hast du doch, oder?) Das Plugin Better Search & Replace kannst du dann wieder löschen.
    9. Der letzte Schritt ist, im Backend nochmal die Permalink-Einstellungen zu speichern. Solltest du Cache-Plugins verwendet haben, kannst du sie jetzt wieder aktivieren.
    10. Deine (alte) Website sollte jetzt weiterhin über die bisherige URL erreichbar sein, nur zur Anmeldung musst du das Verzeichnis wordpress mit angeben. Ergebnis ist aber, dass du WordPress sauber von anderen Webanwendungen getrennt hast und nun z.B. parallel zum Verzeichnis wordpress ein neues Verzeichnis entwicklung anlegen kannst. Da aber im Web-Stammverzeichnis immer nur eine index.php liegen kann, musst du zum Aufruf einer neuen WordPress-Installation in diesem Unterverzeichnis dann auch (wieder sinngemäß) die URL https://example.com/entwicklung/ aufrufen und dich über https://example.com/entwicklung/wp-login.php im Backend anmelden.

    Den ganzen Vorgang findest du auch in der WordPress-Dokumentation beschrieben: Giving WordPress Its Own Directory

    Eine Alternative ist, die vorhandene Website in eine Multisite zu verwandeln. Damit kannst du dann mit einer einzigen WordPress-Installation mehrere Websites einrichten. Vorteil ist, dass du den Core, Themes und Plugins zentral verwaltest und nicht bei einem Dutzend Installationen Updates mehrfach ausführen musst. Nachteil ist, dass die Umwandlung einer „Website in Entwicklung“ in deine Haupt-Website recht … kompliziert ist. Wenn du wie oben beschrieben zwei WordPress-Installationen angelegt hast und nun möchtest, dass die Entwicklungs-Website deine alte Website ablöst, brauchst du in der Website nur wieder die WordPress-URL ändern und in der index.php im Web-Stammverzeichnis die letzte Zeile von require __DIR__ . '/wordpress/wp-blog-header.php'; in require __DIR__ . '/entwicklung/wp-blog-header.php'; ändern. (Vielleicht benennst du das Verzeichnis auch vorher noch um, das sieht dann irgendwie professioneller aus.)

    Also zwei Instanzen laufen zu lassen, eine auf
    http://www.domain.de/ und eine auf
    http://www.domain.de/entwicklung/
    ist eine ganze schlechte Idee!

    Die werden sich immer in die Quere kommen – und du kannst nie ganz sicher sein, welche Domain zu welcher WP-Instanz auflösen soll.

    Gschickter wär
    domain.de/wp/ und
    domain.de/entwicklung/
    als „Basisadresse“.
    Dann kommen sich beide Instanzen nie in die Quere!

    Vielleicht besser eine Subdomain dafür nehmen?

    Thread-Ersteller stillbewegt

    (@stillbewegt)

    @pixolin:

    danke für diese ausführliche doku! 🙂

    Du hast es richtig erkannt: die Entwicklung soll dann die alte Hauptseite ablösen, sobald diese fertig ist.

    Wenn ich nun die aktuelle Seite in ein Unterverzeichnis namens WordPress schiebe und all deine Schritte vollständig ausgeführt worden sind… dann kann ich unter /Entwicklung eine neue Installation fahren ohne dass die von mir genannte wp-config.php Fehlermeldung kommt? DENN ich möchte ja für die neue Seite unter /entwicklung auch eine neue Datenbank verwenden.

    Oder muss ich dann bei der /enbtwicklung auch nochmal irgendwelche Sachen anpassen?

    So wie du du es mir beschrieben hast, sieht es nämlich so aus, als ob ich nur an der AKTUELLE, dann alten, Seite Einstellungen etc. vornehmen muss.

    Danke dir für die schnelle Hilfe! 🙂

    • Diese Antwort wurde geändert vor 5 Monaten von stillbewegt.
    Moderator Bego Mario Garde

    (@pixolin)

    … dann kann ich unter /Entwicklung eine neue Installation fahren ohne dass die von mir genannte wp-config.php Fehlermeldung kommt?

    Ja.

    Oder muss ich dann bei der /enbtwicklung auch nochmal irgendwelche Sachen anpassen?

    Nein, wie gesagt erst, wenn die neue Website die alte ablösen soll.

    Thread-Ersteller stillbewegt

    (@stillbewegt)

    Umzug der „alten“ Seite hat funktioniert – alles gut.

    Wenn ich nur jetzt unter /entwicklung die Installation durchführen möchte und
    z.B. auf /entwicklung/wp-admin gehe, leitet er mich auf die „alte“ Seite um.

    Wie löse ich dieses Problemchen denn jetzt?

    Moderator Bego Mario Garde

    (@pixolin)

    Du findest in den Dateien der neuen Installation eine Datei wp-config-sample.php. Diese Datei benennst du in wp-config.php um und bearbeitest sie mit einem geeigneten Code-Editor (z.B. VS Code, kostenlos für alle Betriebssysteme erhältlich), um die Zugangsdaten zur Datenbank für die neue Installation anzugeben. Danach solltest du dich unter /entwicklung/wp-login.php anmelden können. Hier solltest du dann noch die gewünschte Permalink-Struktur auswählen, damit in dem Verzeichnis entwicklung eine .htaccess angelegt wird.

    Thread-Ersteller stillbewegt

    (@stillbewegt)

    So, die lustige Reise geht weiter…

    Also alles hat wunderbar so funktioniert und ich konnte auch mit dem Arbeiten beginnen. Alles wunderbar.

    Heute wollte ich meine Arbeit fortsetzen und mich via wp-admin einloggen.
    Statt der Login Seite kommt aber jetzt IMMER die 404 Seite des Themes und ich kann mich absolut nicht in das Backend einloggen…

    https://illerhaus-marketing.com/entwicklung/

    Moderator Bego Mario Garde

    (@pixolin)

    Erzähl doch mal, was du so an Plugins verwendest. Hast du vielleicht ein Plugin installiert, das dein Anmeldeformular verschiebt? (z.B. WPS Hide Login)

    Thread-Ersteller stillbewegt

    (@stillbewegt)

    ich habe was hide login installiert, ja. ABER vorerst nur installiert und aktiviert. Eingestellt habe ich darin noch gar nichts.

    Moderator Bego Mario Garde

    (@pixolin)

    Und schwups, da isses wieder, das Login-Formular:
    https://illerhaus-marketing.com/entwicklung/login/

    Thread-Ersteller stillbewegt

    (@stillbewegt)

    war das hide login?

    Moderator Bego Mario Garde

    (@pixolin)

    Sehr wahrscheinlich. Das Plugin weist dich auch direkt nach der Installation darauf hin, dass das Login-Formular verschoben wird. Du kannst dann noch den Namen der Anmeldeseite ändern, sonst bleibt es bei /login, was auch schon mal gegen automatisierte Angriffe schützt.

    Thread-Ersteller stillbewegt

    (@stillbewegt)

    danke :)))

    Moderator Bego Mario Garde

    (@pixolin)

    Ähm, ja … gerne …

    Aber wer markiert den Thread jetzt als „gelöst“? 😀

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 15)