Stefan.Waidele.info

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)

This entry was posted in Business, Overhyped Plastic Gadgets, Tech-Stuff, Wordpress. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Both comments and trackbacks are currently closed.

31 Comments

  1. Mandy
    Posted 1. Juli 2010 at 13:27 | Permalink

    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
    Posted 1. Juli 2010 at 14:09 | Permalink

    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
      Posted 6. Juli 2010 at 14:45 | Permalink

      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
    Posted 8. Juli 2010 at 12:21 | Permalink

    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. Posted 17. Juli 2010 at 15:03 | Permalink

    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
    Posted 17. Juli 2010 at 18:33 | Permalink

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

    • Posted 19. Juli 2010 at 14:37 | Permalink

      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
        Posted 20. Juli 2010 at 10:01 | Permalink

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

        Sonst fällt mir auch gerade nichts ein…

        • Posted 20. Juli 2010 at 14:22 | Permalink

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

          Danke
          Oliver

          • stwaidele
            Posted 20. Juli 2010 at 17:53 | Permalink

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

  6. Posted 9. August 2010 at 12:04 | Permalink

    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
    Posted 24. Oktober 2010 at 17:18 | Permalink

    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
      Posted 24. Oktober 2010 at 17:59 | Permalink

      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
    Posted 20. Januar 2011 at 2:55 | Permalink

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

  9. Posted 12. Februar 2011 at 9:50 | Permalink

    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
      Posted 14. Februar 2011 at 18:41 | Permalink

      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
    Posted 13. März 2011 at 18:24 | Permalink

    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
      Posted 14. März 2011 at 10:43 | Permalink

      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.

      • Posted 23. Juli 2011 at 3:37 | Permalink

        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
          Posted 23. Juli 2011 at 8:33 | Permalink

          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. Posted 14. April 2011 at 11:16 | Permalink

    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. Posted 16. April 2011 at 20:37 | Permalink

    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. Posted 25. September 2011 at 1:26 | Permalink

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

  14. Posted 17. Oktober 2011 at 8:07 | Permalink

    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
      Posted 17. Oktober 2011 at 18:19 | Permalink

      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. Posted 20. Dezember 2011 at 22:01 | Permalink

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

  16. Posted 6. Februar 2012 at 9:37 | Permalink

    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. Posted 4. März 2012 at 17:11 | Permalink

    Danke Stefan!

    • Stefan Waidele
      Posted 7. März 2012 at 18:18 | Permalink

      Gern gescheh’n 🙂

  18. Björn
    Posted 23. September 2012 at 6:32 | Permalink

    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?

    • Posted 28. September 2012 at 10:08 | Permalink

      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.

5 Trackbacks

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

  2. […] 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. […] Mehrere Domains auf einer WordPress Installation weitersagen: […]

  4. By BarCamp Graz 2011 | HDR Fotograf on 8. September 2011 at 11:35

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

  5. […] 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: […]