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:

  1. 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.
  2. Multisite-Support aktivieren:
    In der wp-config.phpmuss folgende Zeile stehen:

    define('WP_ALLOW_MULTISITE', true);
  3. 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.
  4. 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!
  5. WordPress MU Domain MappingPlugin installieren
    Am besten über das Backend suchen, herunterladen und installieren, und für alle Blogs aktivieren (“Network activate“)
  6. 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
  7. 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:

  1. Blog anlegen z.B. http://rubysrudel.310g.com
    Unter “Super Admin -> Sites
  2. In das Backend des Blogs wechseln
  3. 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!
  4. 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)

36 Responses to “Mehrere Domains auf einer WordPress-Installation mit WP3.0 Multisites”

  1. Mandy 1. Juli 2010 at 13:27 #

    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

  2. mandy 1. Juli 2010 at 14:09 #

    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?

    • Gabriel 6. Juli 2010 at 14:45 #

      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.

  3. stwaidele 8. Juli 2010 at 12:21 #

    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/

  4. Oliver Rumpf 17. Juli 2010 at 15:03 #

    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

  5. stwaidele 17. Juli 2010 at 18:33 #

    @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.

    • Oliver Rumpf 19. Juli 2010 at 14:37 #

      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

      • stwaidele 20. Juli 2010 at 10:01 #

        Hast du http://www.raum-lifting.de als “Primary Domain” eingestellt? (Unter Tools -> Domain Mapping)

        Sonst fällt mir auch gerade nichts ein…

        • Oliver Rumpf 20. Juli 2010 at 14:22 #

          Sowohl als Primary und auch ohne Haken bei Primary kommt dieser Effekt.
          Hast Du die Einstellung auf Primary oder nicht?

          Danke
          Oliver

          • stwaidele 20. Juli 2010 at 17:53 #

            Ich habe die Einstellung bei der Domain, die ich in der Adresszeile haben will auf “Primary”.

  6. Chris 9. August 2010 at 12:04 #

    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.

  7. Stefan 24. Oktober 2010 at 17:18 #

    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?

    • stwaidele 24. Oktober 2010 at 17:59 #

      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)

  8. Laura 20. Januar 2011 at 02:55 #

    Hi und Danke für die 1 A Beschreibung. Habs noch nicht umgesetzt, sondern erstmal nach einer Anleitung wie der Deinen gesucht :-)

  9. Torsten 12. Februar 2011 at 09:50 #

    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.

    • stwaidele 14. Februar 2011 at 18:41 #

      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 :)

  10. sven 13. März 2011 at 18:24 #

    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.

    • stwaidele 14. März 2011 at 10:43 #

      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.

      • Christian Neise 23. Juli 2011 at 03:37 #

        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

        • stwaidele 23. Juli 2011 at 08:33 #

          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!

  11. bazz 14. April 2011 at 11:16 #

    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 ;)

  12. Achim 16. April 2011 at 20:37 #

    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 ;)

  13. Manda 25. September 2011 at 01:26 #

    Danke für die Information, also diese seite werde ich mir besser unter die Lupe nehmen.!!

  14. Ben 17. Oktober 2011 at 08:07 #

    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?

    • Stefan Waidele 17. Oktober 2011 at 18:19 #

      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.

  15. Deutschland 20. Dezember 2011 at 22:01 #

    Super übersichtliche Erklärung, vielen Dank! Genau danach habe ich gesucht.

  16. Joachim 6. Februar 2012 at 09:37 #

    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.

  17. Bodenseepeter 4. März 2012 at 17:11 #

    Danke Stefan!

    • Stefan Waidele 7. März 2012 at 18:18 #

      Gern gescheh’n :)

  18. Björn 23. September 2012 at 06:32 #

    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?

    • Stefan Waidele 28. September 2012 at 10:08 #

      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.

Trackbacks/Pingbacks

  1. CNAME, A-Record, WP3.0,… – Stefan.Waidele.info - 7. Juli 2010

    [...] es darum, ob eine Domain als CNAME oder ANAME eingerichtet ist. Hier eine kleine Übersicht, um die Verwirrung zu [...]

  2. Mehrere Domains auf einer Wordpress-Installation | Websiteknowledge.ch - 5. August 2010

    [...] Wie man das hinkriegt ist in diesem Tutorial sehr gut beschrieben: http://stefan.waidele.info/2010/06/30/mehrere-domains-auf-einer-wordpress-installation-mit-wp3-0-mul… [...]

  3. BarCamp Graz 2011 | Almstudio Achim Meurer Fotograf HDR Design Musik Wordpress Blog Österreich - 8. Mai 2011

    [...] Mehrere Domains auf einer WordPress Installation weitersagen: [...]

  4. BarCamp Graz 2011 | HDR Fotograf - 8. September 2011

    [...] Mehrere Domains auf einer WordPress Installation [...]

  5. Wordpress Multisite: Zu viele Weiterleitungen… | Stefan.Waidele.info - 21. September 2011

    [...] WPMU bzw. WordPress Multisite lief bei mir eigentlich schon immer schmerzlos. Nur als ich nach dem großen Crash des LinuxBasics.org-Servers auch diese Website in die große WP-Installation übernehmen wollte, hatte ich ein Problem mit dem Umleitungen: [...]

Hinterlasse eine Antwort

Kommentarlinks könnten nofollow frei sein.