Wer hauptsächlich mit WordPress arbeitet – sei es nun als Entwickler oder auch Webmaster – sollte über eine Multisite Installation nachdenken. Das aktualisieren der Themes, Plugins aber auch WordPress selbst wird hierdurch um ein Vielfaches einfacher und eine Multisite ist auch ratz fatz umgesetzt. Wie, erkläre ich hier.

1. Blog für Multisites vorbereiten

Aus einer herkömmlichen Blog-Installation kann man sehr einfach eine Multisite erzeugen, in dem man lediglich ein paar wenige Schritte vornimmt. Zunächst öffnet man die wp-config.php im Dokumentroot-Verzeichnis und trägt oberhalb von /* That’s all, stop editing! Happy blogging. */ folgendes ein:

define('WP_ALLOW_MULTISITE', TRUE);

/* That's all, stop editing! Happy blogging. */

Nach der Anmeldung als Admin im Blog findet man unter „Werkzeuge“ den neuen Menüpunkt „Netzwerk einrichten“.

2. Netzwerk einrichten

Nachdem man nun den Menüpunkt „Werkzeuge“ -> „Netzwerk einrichten“ angeklickt hat, sollte man die Einstellungen (aktuell bei WP-3.4) so belassen:

  • Sub-Verzeichnisse aktivieren (auch empfohlen, wenn man die Blogs unter eigenen Domains erreichbar machen möchte – dazu später mehr)
  • Titel und Email-Adresse sollten ausgefüllt werden

Anschließend wird mit „Jetzt installieren“ Multisite installiert und man erhält im Anschluss weitere Instruktionen.

3. Multisite Installation abschließen

Um die Installation einer Multisite abzuschließen, müssen die Schritte auf der Folgeseite nach der Multisite-Installation sorgfältig ausgeführt werden. Unter anderem setzt man unterhalb der letzten Änderung in der wp-config.php die neuen Konstanten:

define('WP_ALLOW_MULTISITE', TRUE);

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
$base = '/';
define('DOMAIN_CURRENT_SITE', 'domain.tld');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

/* That's all, stop editing! Happy blogging. */

und fügt in die .htaccess im Dokumentroot (falls noch nicht vorhanden, diese bitte mit dem folgendem Inhalt erstellen) aus dem zweiten Teil der Schritte die RewriteRules ein:

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*.php)$ $1 [L]
RewriteRule . index.php [L]

Im Anschluss muss man sich neu in das System einloggen und siehe da, schon verfügt man über eine Multisite-Installation, in der man als „Netzwerk-Administrator“ unter „Blogs“ dann sehr simpel weitere Blogs anlegen kann, die ab sofort dann unter „domain.tld/blogname“ erreichbar sind.

4. Die Subblogs mit eigenen Domains der Multisite erreichbar machen

Um die sog. Subblogs nun mit eigener Domain erreichbar zu machen, benötigt man nun noch das Plugin WordPress-Mu-Domain-Mapping, welches Netzwerkweit nach dem Upload aktiviert werden muss. In dem Verzeichnis des Plugins ist auch eine Datei namens sunrise.php, die in das Verzeichnis /wp-content raufgeladen werden muss und in der wp-config.php muss noch folgender Eintrag hinzugefügt werden:

define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'domain.tld' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
define( 'SUNRISE', 'on' );

/* That's all, stop editing! Happy blogging. */

Wie man mit dem Plugin nun Domains korrekt zuordnet, kannst Du im Folge – Artikel Multisite & Subblogs mit unterschiedliche Domains nachlesen.