tobias.kochs-online.net

Mehrere Blogs mit einer einzigen WordPress-Installation

| 4 Comments

Als ich mich dieser Tage daran begab, die Blogs einzurichten, begann ich zunächst für jedes Blog eine Subdomain und dann ein Verzeichnis auf dem Server zu erstellen, wohin ich das WordPress installierte. Dabei fiel mir schnell auf, wie umständlich und fehlerträchtig so ein Vorgehen ist und ich überlegte auf Alternativen herum, die es erlauben mehrere getrennte Blogs zu führen, während man jedoch nur eine einzelne Software-Installation administrieren und aktuell halten muss. Im Netz finden sich hierzu mehr oder minder komplexe Hacks für WordPress. Zudem gibt es eine explizite Multiuser-/Multiblog-Version von WordPress mit dem Name WordPress µ, die sich aber offensichtlich eher an sehr große Projekte wendet und entsprechende Änderungen an der zugrundeliegenden WordPress-Variante mit sich bringt. Relativ gut umsetzbar wirkt hingegen der Virtual Multiblog-Ansatz von Strider. Aber auch das erschien mir auf einen ersten schnellen Blick hin mit dem zu installierenden WordPress-Plugin als etwas zu umständlich.

Schließlich kam ich selber auf eine überaus elegante Lösung: Da WordPress alle Einstellungen eines Blogs – samt der Einträge, Kommentare und Benutzer – in den MySQL-Tabellen ablegt, die in der Datei wp-config.php angegeben sind, würde es ausreichen, abhängig von der verwendeten Subdomain verschiedene Konfigurationsdateien einzusetzen. Also habe ich die wp-config.php so modifiziert, dass sie lediglich die aufgerufene Subdomains auswertet und anhand des Ergebnisses die gewünschte Konfiguration lädt. Das sieht dann so aus:

<?php
if ($_SERVER['SERVER_NAME'] == 'blog1.example.com')
{
require('wp-config.blog1.php');
}
else if ($_SERVER['SERVER_NAME'] == 'blog2.example.com')
{
require('wp-config.blog2.php');
}
?>

Bei den Dateien wp-config.blog1.php und wp-config.blog2.php handelt es sich dabei um ganz normale WordPress-Konfigurationsskripte, die ohne eine Zeile Extra-Code auskommen. Verwendet man darin unterschiedliche Präfixe für die MySQL-Tabellen, so reicht sogar eine einzige Datenbank aus, um alle Blogs zu speichern. So simpel, wie das ist, ebenso pflegeleicht ist es auch, da bei einem WordPress-Update weder die neue wp-config.php noch die angelegten Konfigurationsdateien überschrieben werden. Gleichzeitig kommen natürlich alle Blogs in den Genuss des Software-Updates.

[Update: Mir fiel soeben auf, dass man Schwierigkeiten bekommen könnte, wenn man in mehreren Blogs dasselbe Plugin verwendet. Falls nun ein Update dieses Plugins eine Aktualisierung der Plugin-Datenbank-Tabellen erfordert, so muss sichergestellt werden, dass die Tabellen aller Blogs, die das Plugin einsetzen, aktualisiert werden!]

Author: Tobias

Hallo, ich bin Tobias. Meine Leidenschaft gilt alten Autos. Je ausgefallener desto besser. Im Alltag schwöre ich auf meinen treuen '88 Volvo 745 und im Laufe der Zeit sammelten sich daneben in der Garage noch ein '79 AMC Pacer, ein '70 Chrysler 300 Hurst, ein '90 Toyota Sera und ein '94 Mazda 121 Ginza. Wenn ich gerade nicht an den Autos herumschraube, lasse ich den Nerd raushängen und schreibe hier irgendwas zu Online- und IT-Themen, Filmen oder Musik. Ihr findet mich auch .

4 Comments

  1. Hi —

    Just FYI — Virtual Multiblog doesn’t require the plugin; it’s optional. The plugin turns on a diagnostic screen in admin.

    Ultimately, the base system is extremely similar to what you ended up doing. 🙂

  2. Mist, da hätte ich wohl doch genauer hinschauen müssen. 🙂

  3. Udn wie schaut es aus wenn WP eine Aktualiesierung fährt wie z.B. die von letzte Woche auf WP 3.0. zerschiest dir das dann nicht alles ?

  4. Da kann man sich natürlich nie so 100 % sicher sein. Etwas Vorsicht ist bei den größeren Versionssprüngen also schon angebracht (will heißen: Backup anlegen). Andererseits hatte ich bisher auch noch keine Probleme damit.
    Das Update auf WordPress 3.0 habe ich jedoch bis dato noch vor mir hergeschoben. Vor allem, weil ich mir das MultiSite-Feature vorher genauer anschauen und damit dann eventuell das hier beschriebene Setup ablösen möchte.

Leave a Reply

Required fields are marked *.