Mehrere WordPress-Blogs auf unterschiedlichen Subdomains
Montag, 16. Juni 2008
Ich hab mich mal mit dem Thema auseinander gesetzt, mehrere Blogs auf einem WebSpace-Account zu betreiben. Dazu gibt es verschiedene Ansätze, die natürlich alle ihre Vor- und Nachteile haben.
Hier mein Lösungsansatz, kurz vorgestellt:
Man benötigt eine WordPress-Installation auf dem Server. Diese wird ganz normal installiert. ist schon ein Blog vorhanden, auch kein Problem. Funktioniert genauso. Die Datei wp_config.php muss einfach nur angepasst werden. In Zeile 7 oder 11 (je nach Version) findet sich der Eintrag $table_prefix = 'wp_';, evtl. mit einem Kommentar dahinter. Diese Zeile muss durch folgenden Code ersetzt werden:
$arrPrefix = explode( ".", $_SERVER["HTTP_HOST"] );
$table_prefix = $arrPrefix[0].'_';
switch($arrPrefix[0]) {
case 'blog1':
$table_prefix = 'wp_';
break;
default:
$table_prefix;
}
Der Code ist eine Mischung aus den Blogs von “Open Source Brain” und “CBSchmidt“. Als Beispiel dient hier jetzt mal die Subdomain “blog1.domain.tld” als Ursprungs-Standard-Blog. Bei dieser Subdomain wird auf die Datenbank-Tabellen mit dem Präfix “wp_” verwiesen, welche die Standard-Tabellen der aktuellen Datenbank darstellen sollten. Natürlich nur, wenn das Präfix bei der Installation nicht geändert wurde. Jede weitere Subdomain legt bei der Installation neue Tabellen an, die die entsprechende Subdomain als Präfix erhalten. Beispiel: “blog2.domain.tld” erhält Tabellen mit dem Präfix “blog2_”. Die Installation neuer Blogs funktoniert nach dem ändern der wp_config.php ziemlich einfach. Man registriert sich bei seinem Provider eine neue Subdomain und lässt diese auf den Wordpress-Ordner verweisen. Dann gibt man bei der Subdomain “blog2.domain.tld” im Browser einfach blog2.domain.tld/wp-admin/install.php ein und schon erstellt man sich innerhalb weniger klicks ein neues Blog.
Das ganze Konstrukt hier funktioniert jetzt aber nur, wenn die Domain gleich bleibt und sich nur die Subdomain ändert.
Das Prinzip sieht wie folgt aus:
Es gibt eine Installation, also eine Instanz von Wordpress. Für jedes Blog werden eigene Tabellen innerhalb einer Datenbank angelegt. Jedes Plugin oder Theme, das “installiert” wird, ist in jedem Blog verfügbar, da ja alles im selben Ordner liegt. Jedes Bild, das hochgeladen wird, ist somit ebenfalls in jedem Blog verfügbar. Die Zuweisung der Plugins, Themes und Dateien erfolgt bei Wordpress ausschließlich über die Datenbank-Einträge. Meiner Meinung nach eignet sich eine solche Variante nur für eine Person, die mehrere Blogs speicherplatzsparend betreiben möchte. Bei mehreren Personen könnten Bilder, Dateien, Plugins und Themes schnell und zu einfach gelöscht werden. Klassisches Sicherheitsproblem eben.
Hier noch weitere Lösungen. Einmal ein Tutorial von mel.melaxis, dann natürlich ein Hinweis von WordPress auf die wp_config-Datei, hier noch eine englische Anleitung, ähnlich der von CBSchmidt und WordPress liefert im Codex-Bereich auch noch eine Anleitung. Etwas ausführlicher gibt’s eine Anleitung, nicht nur für Blogs, auch noch im SoftwareGuide.
