Mehrere Domains auf einer WordPress-Installation mit WP3.0 Multisites
Mit WordPress-MU hatte ich es schon einmal versucht, nun habe ich es mit WordPress 3.0 geschafft: Mehrere Blogs, die unter verschiedenen Domain laufen, auf einer einzigen, zentralen Installation zu hosten.
Welche Vorteile hat dies, gegenüber mehreren selbstständigen WP-Installationen? Hier der größte und wichtigste:
Zentrales Update aller Blogs, Plugins und Themes -> ein großes Plus an Bequemlichkeit und Sicherheit
Aber zuvor muss WordPress entsprechend konfiguriert werden. Dies ist (im Nachhinein) nicht wirklich einfach, aber machbar.
Vorbereitungen:
- Haupt-Domain für die Installation festlegen
Bei mir fiel die Wahl auf 310g.com – eine Domain, die ich mir speziell für WPMU zugelegt habe, und die nun zur Geltung kommt. Auf dieser Domain wird WP3.0 installiert. - Multisite-Support aktivieren:
In der wp-config.phpmuss folgende Zeile stehen:define('WP_ALLOW_MULTISITE', true); - Im Backend gibt es nun den Menüpunkt “Tools -> Network”
Ja, wir erstellen ein “Blog-Network”, und hier legen wir fest, wie sich die einzelnen Blogs unterscheiden.
Bei mir werden die einzelnen Blogs unter rubysrudel.310g.com, mischlingsblog.310g.com, hotelkrone.310g.com, etc. angelegt. - Noch mehr Konfiguration
Zum Glück sagt uns WordPress, was es in den Dateien wp-config.php und .htaccess haben möchte. Also, Copy und Paste! - “WordPress MU Domain Mapping” Plugin installieren
Am besten über das Backend suchen, herunterladen und installieren, und für alle Blogs aktivieren (“Network activate“) - “Copy sunrise.php into wp-content/” – Manchmal gibt einem die Dokumentation Rätsel auf.
Wo bitteschön ist “sunrise.php“? Im Plugin-Verzeichniss: “…/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php“ - Nochmal wp-config.php:
Diesmal die Zeile “define( ‘SUNRISE’, ‘on’ );“
Nun sind die Vorbereitungen abgeschlossen, und die Blogs können eingerichtet werden.
Blog einrichten bzw. Site einrichten:
- Blog anlegen z.B. http://rubysrudel.310g.com
Unter “Super Admin -> Sites“ - In das Backend des Blogs wechseln
- Unter “Tools -> Domain Mapping” die gewünschten “schönen” Domains anlegen (z.B. http://rubysrudel.de). Achtung: Der Domainname sollte unbedingt klein geschschrieben werden, sonst kann es zu Problemem kommen!
- Sicherstellen, dass die Domain auch auf die Hauptseite verweist.
Das bedeutet, dass der DNS-Eintrag auf den entsprechenden Server zeigen muss, und dass die WP3.0 Installation auch vom Webserver angesprochen werden muss.
Blogs von Einzelinstallationen ins Blognetzwerk umziehen:
Ich habe die Artikel, Kommentare, Benutzer, etc. per “Tools -> Export” auf meinen PC heruntergeladen und anschließend in die gewünschte Site auf der WP3.0-Installation wieder importiert. Die Frage, ob Dateianhänge heruntergeladen werden sollen, habe ich mit “Ja” beantwortet. Themes und sonstige Optionen habe ich von Hand übertragen. Wie es scheint, hat es funktioniert
…geht das auch auf Deutsch?
Ja, und zwar genau so einfach wie bei einem Einzelblog: “Installation der deutschen Sprachdatei” – Achtung: Jedes Blog kann unter “Einstellungen -> Allgemein” bzw. “Settings -> General” seine Sprache selbst wählen.
(Quellen: Everything you wanted to know about creating a network of multiple sites in 3.0, WordPress 3.0: Multisite Domain Mapping Tutorial)
Hallo Stefan,
erstmal danke für die Anleitung. Doch irgendwie bekomme ich das nich hin. Und zwar nach dem ich einen zweiten Blog angelegt habe wechsle ich wie in Punkt 2 in den Backendbereich und dann zu Werkzeuge. Doch dort habe ich nur Daten importieren, Daten exportieren, Blog löschen und Blog-Netzwerk aber kein Domain Mapping Menüpunt?! Liegt es vielleicht daran das ich am Anfang keine Subdomains sondern Unterverzeichnisse angeklickt habe oder ist das egal? Danke
Also das hat jetzt funktioniert. Warum auch immer. Jetzt weiß ich nur nicht was ich für die domains als dns oder cname eintragen muss?
Schließe mich der Frage nach den DNS-Einstellungen an. Ich habe das mal für Blogger gemacht, aber welche Einträge ich für die oben beschriebene Variante abändern muss, ist mir nicht nicht ganz klar. Danke schonmal.
Die Sache mit den CNAMEs und A-Records habe ich versucht zu erklären: http://stefan.waidele.info/2010/07/07/cname-a-record-wp3-0/
Danke für die Beschreibung, jedoch fehlt mir scheinbar noch ein letztes kleines Puzzle-Teilchen.
1. hast Du zuvor die rubysrudel.310g.com, mischlingsblog.310g.com, hotelkrone.310g.com als Subdomains bei Deinem Internet-Hoster angelegt und odrt eine Umleitung auf die “schöne” Domain z.B. http://rubysrudel.de umgeleitet?
2. Das Mapping im WordPress Backend scheint geklappt zu haben, jedoch komme ich nicht in den AdminBereich des neuen Blogs rein, weil er die Seite “http://meinedomain.de/wp-admin/” nicht findet.
3. Müssten nicht irgendwohin auch ein paar Daten kopiert werden?
Danke
Oliver
@Oliver:
1. Nicht ganz – egalwas.310g.com landet bei der gleichen IP-Adresse wie 310g.com. Ebenso die “schönen Domains”. Auch der Apache fühlt sich für alle beteiligten Domains verantwortlich und ruft für alle die gleiche WP3-Installation auf. (Also keine “Virtual Hosts”)
2. Versuchs über die “hässliche Domain” in den Admin-Bereich.
3. Die “sunrise.php” muss kopiert werden. Sonst eigentlich nichts – wenn ich mich recht erinnere. Oder meinst Du, um die Inhalte umzuziehen? Dafür habe ich bei der alten Installation alles Exportiert und dann in der Neuen wieder importiert.
Hallo Stefan,
ich bin mittlerweile etwas weiter, habe aber noch eine Frage an Dich. Vorweg ein paar Hintergrund-Infos:
Ich habe die WP 3.0 und das Domain Mapping Plugin (bei 1&1) eingerichtet.
Da 1&1 keine Wildcard Domains kann habe ich mich für die Subdirectory-Variante entschieden.
Die WP-Installation läuft auf dem Server: http://www.zuviert-row.de
Als weitere Domain (noch ohne Artikel oder Seiten) habe ich ein Domain-Mapping im WP-Plugin von http://www.zuviert.de/raum-lifting auf http://www.raum-liftig.de erstellt.
Bei 1&1 im Control-Center habe ich als Webspace-Verzeichnis für “raum-lifting.de” das Verzeichnis “zuviert-row” angegeben.
So weit, so gut.
Aber …
Wenn ich auf http://www.raum-lifting.de die Maus über einen Link (zu einem Artikel, einer Seite etc) halte, dann wird als Ziel immer http://www.zuviert-row.de/raum-lifting/preise statt (www.raum-lifting.de/preise) angezeigt. Und nach einem Klick darauf steht dann auch diese URL im Browser-Fenster oben.
Wie kann ich “raum-lifting” und “zuviert-row” für den Betrachter trennen?
Danke und Gruß
Oliver
Hast du http://www.raum-lifting.de als “Primary Domain” eingestellt? (Unter Tools -> Domain Mapping)
Sonst fällt mir auch gerade nichts ein…
Sowohl als Primary und auch ohne Haken bei Primary kommt dieser Effekt.
Hast Du die Einstellung auf Primary oder nicht?
Danke
Oliver
Ich habe die Einstellung bei der Domain, die ich in der Adresszeile haben will auf “Primary”.
Hallo Stefan und Oliver,
ich darf mich hier mal mit einklinken? Ich bin auch bei 1&1 und bekomme das auch nicht gebacken. Ich habe, Stefan, deinen informativen Artikel hier http://stefan.waidele.info/2010/07/07/cname-a-record-wp3-0/ zwar gelesen, dennoch komme ich es nicht hin.
Ich habe eine Hauptseite, wo WP 3.0.1 multiblog installiert ist: http://hauptdomain.de und zwar mit Unterverzeichnissen, nicht Subodomains.; dazu gibt es bei meinem Provider eine “echte” Subdomain http://blog.hauptdomain.de.
Nur 1 Unterblog http://hauptdomain.de/blog/ möchte ich nun über http://blog.hauptdomain.de aufrufbar sein lassen.
1. bei 1&1 habe ich nun bei der Subdomain http://blog.hauptdomain.de unter “DNS-Einstellungen bearbeiten” ein CNAME angelegt namens “blog/hauptdomain.de”, so geschrieben, ein nur “blog” als CNAME lässt die Eingabemaske nicht zu, es müsse ein “vollständiger Domainname” sein. Dann habe ich gewartet, bis im Providermenü der Status auf “fertig eingerichtet” stand.
2. Das o.g. Plugin habe ich dann installiert wie beschrieben.
3. Dann bin ich als Superadmin rein zu “Domain Mapping Configuration”. Dort habe ich bei “IP” nichts eingegeben, sondern in der Eingabemaske darunter bei CNAME, und zwar so: “blog.hauptdomain.de”.
4. Im Adminbereich vom Unterblog “blog” bin ich zu “Werkzeuge” -> Domain Mapping gegangen, habe dies so eingegeben: “blog.hauptdomain.de” und als primary gesetzt.
Wenn ich aber nun diesen Unterblog über die Subdomain aufrufen will, also http://blog.hauptdomain.de, dann erhalte ich ein “server not found”.
Dummerweise geht nun auch der direkte Aufruf des Unterverzeichnisses nicht mehr: http://hauptdomain.de/blog/: “server not found”.
Ich bin langsam am Verzweifeln …
Hat jemand oder du, Stefan, eine Idee, was hier schief läuft?
Vielen Dank.
Mal was anderes:
Die Einstellungen des alten Blogs konntest du nicht mit umziehen, oder?
Was mache ich, wenn ich 4 Blogs auf einer Maschine laufen lasse, und die Plugins überall die gleichen Einstellungen benutzen sollen, ohne, dass ich es überall einzeln einrichte?
Da hast Du recht: Ich habe die Gelegenheit genutzt, die “Einstellungen nochmal zu überdenken”
Plugins können auf “Blogbasis” oder auf “Blognetzwerkbasis” aktiviert werden. So habe ich bei allen Blogs Antispambee & WPtouch laufen. Die Konfiguration ist aber wiederum individuell (was ja auch Sinn macht)
Hi und Danke für die 1 A Beschreibung. Habs noch nicht umgesetzt, sondern erstmal nach einer Anleitung wie der Deinen gesucht
Gute Anleitung – vielen Dank dafür.
Aber zu Deinem “Blogs von Einzelinstallationen ins Blognetzwerk umziehen” – so ganz klappt das nicht. Ich habe das 404 Plugin drin und das meldet mir, wenn jemand versucht auf Daten zuzugreifen, die es nicht (mehr) gibt.
In meinem Fall sind es viele Grafiken. Bei einer WP Einzelinstallation liegen die Daten unter /uploads/… bei einer WP MultiSite unter /blogs.dir/files/ … – und so bekomme ich natürlich massenweise “Fehlermails” gesendet.
Ich kann damit zwar leben, wollte aber diesbzgl mal einen Hinweis da lassen.
Stimmt, das habe ich auch erst später gemerkt, und mit dem “Suchen und Ersetzen Plugin” von Jörg Bültge(?) erledigt. No risk, no fun
Hallo,
ich habe mich an die Anleitung gehalten.
Erstmal super, vielen Dank. Aus unerfindlichen Gründen bekam ich aber irgendwann einen kritischen Fehler, der dafür sorgte, dass mein Blog “verschwand”. Also habe ich alles wieder zurückgesetzt, deinstalliert, gelöscht.
Nun – befaffnet mit weiteren Infos wollte ich es wieder probieren. Als es aber darum geht, in die wp-config den sunrise-Part zu schreiben, erscheint auf der Seite “Error establishing a database connection”
Eine Ahnung, woran das liegen kann? Warum genau der sunrise-Eintrag zu der Fehlermeldung führt? DB-Angaben etc. funktionieren ohne diesen Eintrag wunderbar. Über Hilfe wäre ich dankbar.
Keine Ahnung, sorry. Da es bei mir einwandfrei funktioniert, habe ich mich nicht genauer damit beschäftigen müssen.
Auf welche Datenbank lässt Du Deine Neuinstallation los? Auf eine bereits gefüllte oder auf eine neue? Ich kann mir vorstellen, dass bei einer bestehenden Datenbank Fehler auftauchen könnten.
Hallo,
ich habe eben wordpress 3.2.1 frisch installiert (die englische Version ohne Übersetzung). Die Datenbank habe ich frisch angelegt. Plugins habe ich nicht installiert. Standardmäßig sind ja auch keine aktiviert.
Die Installation von WordPress selbst klappte wunderbar.
Als ich in der wp-config.php
define(‘WP_ALLOW_MULTISITE’, true);
eingefügt hatte, konnte ich die Netzwerke konfigurieren.
Danach habe ich die drei Änderungen vorgenommen (wp-content/blogs.dir erstellt / wp-config.php ergänzt / .htaccess erstellt).
Daraufhin erhalte ich die Meldung:
Error establishing a database connection
Irgendwelche Ideen?
Ciao,
Christian
P.S.: meine PHP-Version:
PHP 5.3.3-7+squeeze1 with Suhosin-Patch (cli) (built: Mar 18 2011 20:10:12)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with the ionCube PHP Loader v4.0.10, Copyright (c) 2002-2011, by ionCube Ltd.
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
Ich würde als erstes prüfen, ob die Datenbank tatsächlich noch läuft, und dann ob in wp-config.php noch die korrekten Werte eingetragen sind.
Manchmal sind es die einfachen Dinge…hoffentlich!
Wow danke für die ausführliche Beschreibung. Genau danach habe ich gesucht. WordPress Mu gibt es ja leider nicht mehr so wirklich…
Wenn ich es funktionierend umgesetzt habe, gibt es noch einen Trackback
Hi Stefan,
danke für die Anleitung. Habe das jetzt auch irgendwie hinbekommen, obwohl ich von dem ganzen Serverkram sonst keinen Plan habe. Aber da sieht man mal, wie einfach doch letztendlich WordPress ist
Danke für die Information, also diese seite werde ich mir besser unter die Lupe nehmen.!!
Hallo Stefan, jetzt muss ich doch noch mal nachfragen (so für die Laien)
“Sicherstellen, dass die Domain auch auf die Hauptseite verweist.
Das bedeutet, dass der DNS-Eintrag auf den entsprechenden Server zeigen muss, und dass die WP3.0 Installation auch vom Webserver angesprochen werden muss.”
D.h. ich trage bei den A records die gleiche IP ein, die auch die Hauptdomain der WordPressinstalation hat?
So funktioniert das bei mir: krone-neuenburg.de, stefan.waidele.info und alles andere auch zeigen auf 213.133.111.45 – wo auch 310g.com mit der WP3.0 Installation läuft.
Super übersichtliche Erklärung, vielen Dank! Genau danach habe ich gesucht.
Hallo,
echt eine klasse Anleitung. Danke dafür. Ich habe noch ein Problem und zwar funktioiert das auch wenn die “schönen Domains” auf einer anderen IP Adresse liegen? Und wenn Ja kannst Du mir erklären was ich da einstellen muss. Ich hab da meine ich schon ziemlich alles versucht aber leider nichts passendes gefunden.
Danke Stefan!
Gern gescheh’n
Hallo Stefan,erst mal super tolle Anleitung!
Ein Bekannter von mir hat jetzt auch 3 Domains bei einem Anbieter bestellt und durch Zufall habe ich herausgefunden, dass alle 3 dieselbe WordPress Installation benutzen. Jetzt hat der Bekannte mich gefragt ob es möglich ist, dass ich eine der 3 Seiten breiter machen kann. Sag ich: “Na klar kein Thema!” Ich denk mir, einfach nur die style.css bearbeiten und fertig. Aber leider funktioniert das nicht. Ich weiß, dass ich an der richtigen Stelle ansetze und auch an der richtigen Stelle die Breite ändere. Die style.css liegt fertig so wie ich sie brache auf dem Server, aber Wordpredd übernimmt die Änderungen nicht. Hast du dazu auch eine Lösung parat?
Die Stylesheets werden in WordPress verwaltet und z.D. generiert. Schau Dir mal die Themes an. Dort ist der Ort, wo Du etwas verändern musst.