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
-
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 Verzeichnisentwicklung
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:
- Backup der Datenbank machen.
Wichtig! Es kann immer mal was schief gehen. - Im Web-Stammverzeichnis ein neues Verzeichnis
wordpress
anlegen. - 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.
- Nun hängst du unter Einstellungen > Allgemein an die WordPress-URL das neu angelegte Verzeichnis
wordpress
an, sinngemäß alsohttps://example.com/wordpress
. - Alle Dateien außer der
wp-config.php
in das Verzeichniswordpress
verschieben. - Datei
index.php
aus dem Verzeichniswordpress
in das nächsthöher gelegene Web-Stammverzeichnis kopieren. („Wieso hab ich sie dann nicht gleich da gelassen?“ – „Weil sie im Verzeichniswordpress
vorhanden sein muss und wir die gerade kopierte Datei noch anpassen müssen!“)
In derindex.php
im Web-Stammverzeichnis änderst du die letzte Zeile so, dass sie auf das Verzeichniswordpress
verweist:
require __DIR__ . '/wordpress/wp-blog-header.php';
- Nun kannst du dich erneut im Backend anmelden, musst aber in der URL zum Anmeldeformular das Verzeichnis
wordpress
mit angeben, sinngemäß alsohttps://example.com/wordpress/wp-login.php
(natürlich mit deiner Domain). - 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
mithttps://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. - Der letzte Schritt ist, im Backend nochmal die Permalink-Einstellungen zu speichern. Solltest du Cache-Plugins verwendet haben, kannst du sie jetzt wieder aktivieren.
- 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 Verzeichniswordpress
ein neues Verzeichnisentwicklung
anlegen kannst. Da aber im Web-Stammverzeichnis immer nur eineindex.php
liegen kann, musst du zum Aufruf einer neuen WordPress-Installation in diesem Unterverzeichnis dann auch (wieder sinngemäß) die URLhttps://example.com/entwicklung/
aufrufen und dich überhttps://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 vonrequire __DIR__ . '/wordpress/wp-blog-header.php';
inrequire __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?
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 vor 3 Jahren, 8 Monaten von
stillbewegt geändert.
… 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.
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?
Du findest in den Dateien der neuen Installation eine Datei
wp-config-sample.php
. Diese Datei benennst du inwp-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 Verzeichnisentwicklung
eine.htaccess
angelegt wird.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…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)
ich habe was hide login installiert, ja. ABER vorerst nur installiert und aktiviert. Eingestellt habe ich darin noch gar nichts.
Und schwups, da isses wieder, das Login-Formular:
https://illerhaus-marketing.com/entwicklung/login/war das hide login?
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.danke :)))
Ähm, ja … gerne …
Aber wer markiert den Thread jetzt als „gelöst“? 😀
- Backup der Datenbank machen.
- Das Thema „Zweite WP Installation auf Webserver“ ist für neue Antworten geschlossen.