Multi-Subdomains unter WordPress installieren

Dieser Beitrag widmet sich dem Thema Multi-Subdomains unter WordPress. Mehr solcher Wordpress Artikel und Themen finden Sie auf meiner Seite http://blog.brandt-net.de/.

Auf einer Seite habe vor einiger Zeit einen Artikel zum Thema Multi-(Sub)Domain-WordPress gefunden, der sich genau mit diesem Thema beschäftigt. Er beschrieb dort eine recht interessante Methode mehrere Blogs auf unterschiedlichen Subdomains oder sogar auf verschiedenen Domains mittels einem WordPress-Interface zu verwalten. Ich habe die dort beschriebene 1. Variante gleich einmal für meinen aktuellen Blog und zwei internen Testblogs umgesetzt und beschreibe hier nun kurz meine Erfahrungen zu dem Thema Multi-Subdomains unter WordPress.

Herausforderung

Die Herausforderung bei der Umstellung bestand darin, meinen bestehenden Blog nicht zu “zerstören”.

Deshalb habe ich rein zum Test erst einmal eine komplette parallele Installation zu meinen aktuellen Blog durchgeführt. Dies ist für eine Umstellung eines bestehenden Blogs natürlich nicht zwingend notwendig.

Testinstallation

A) Zuerst habe ich dafür eine neue Instanz von WordPress 2.0.5 in deutsch heruntergeladen und diese vor dem hochladen auf den Server als “Multi-Blog” konfiguriert (siehe unten 1. Anpassen der wp-config.php). Danach die WP-Dateien auf dem Server in ein neues Verzeichnis kopiert. Die Konfiguration der Subdomain muss dann auf dieses Verzeichnis zeigen.
Beispiel: blogtest.brandt-net.de ==> /blogtest
Danach wird durch den Aufruf der Subdomain die normale Installation von WP durchlaufen!

B) Als zweites habe ich dann für einen Testblog eine weiter Subdomain konfiguriert. Diese Subdomain muss auf das gleiche Verzeichnis der WordPress Installation verweisen!
Beispiel: wptest1.brandt-net.de ==> /blogtest
Danach wird durch den Aufruf der 2. Subdomain (wptest1.brandt-net.de) erneut die normale Installation von WP durchlaufen! Im Hintergrund werden dann aber neue Tabellen für den Blog angelegt (konfiguriert vorher in der Datei wp-config.php).

C) So kann man nun viele weiter Blogs für Subdomains anlegen. ich habe dies noch einmal für einen weiteren Testblog durchgeführt. Also erneut für einen Testblog eine weiter Subdomain konfiguriert. Diese Subdomain muss wiederum auf das gleiche Verzeichnis der WordPress Installation verweisen!
Beispiel: wptest2.brandt-net.de ==> /blogtest
Danach wird durch den Aufruf der 3. Subdomain (wptest2.brandt-net.de) erneut die normale Installation von WP durchlaufen! Im Hintergrund werden erneut neue Tabellen für den Blog angelegt.

Umstellung meines Live Blogs “Brandt Aktuell”

Da die Testinstallation erfolgreich durchlaufen wurde habe ich mich danach an meinen bestehenden Blog gewagt. Zuerst muss natürlich das komplette Blog WP-Verzeichnis und die komplette aktuelle WP-Datenbank einem Backup unterzogen werden – man weis ja nie :-) .

Nachdem das Backup erfolgreich durchgeführt wurde habe ich mich an die Arbeit gemacht, die ich hier nun in den einzelnen Schritten beschreibe:

1. Anpassen der wp-config.php

In der Konfigurationsdatei von Wordpress habe ich die original variable $table_prefix auskommentiert und die Zeilen 4-6 hinzugefügt. Dies entspricht der Variante 1: eine Domain, multiple Subdomains.

[source:php]
// You can have multiple installations in one database if you give each a unique prefix
//$table_prefix = ‘wp_’; // Only numbers, letters, and underscores please!
//table_prfix ersetzt um einen Multi Blog aufzusetzen!
$arrPrefix = explode( “.”, $_SERVER["HTTP_HOST"] );
$table_prefix = $arrPrefix[0].’_';
$table_prefix = str_replace( “-”, “_”, $table_prefix );
[/source]

2. Umbenennen der bestehenden WP-Tabellen

Da meine Blog den Subdomain Namen blog.brandt-net.de verwendet, müssen nun alle originalen WP-Tabellen umbenannt werden für die neue Struktur. Dies ist leider notwendig, da meine bisherigen WP-Tabellen den Prefix wp_ hatten aber mit der neuen Struktur blog_ heißen müssen! Das umbenennen der Tabellennamen habe ich direkt mit myPHPAdmin per Hand durchgeführt.

altesPrefix_WPTABELLENNAMEN ==> neuesPrefix_WPTABELLENNAMEN
Beispiel: wp_tabellen ==> blog_tabellen

3. Update einiger Tabelleninhalte auf die neuen Tabellennamen

Beim Umzug bereits vorhandener Blogs auf diese Multi-Domain-Variante müssen einige Tabelleninhalte, die auf alte Tabellennamen verweisen angepasst werden. Dazu habe ich folgende My-SQL Scripte verwendet:

[source:sql]

UPDATE `neuesPrefix_options`
SET `option_name` = “neuesPrefix_user_roles”
WHERE `option_name` = “altesPrefix_user_roles”

UPDATE `neuesPrefix_usermeta`
SET `meta_key` = “neuesPrefix_user_level”
WHERE `meta_key` = “altesPrefix_user_level”

UPDATE `neuesPrefix_usermeta`
SET `meta_key` = “neuesPrefix_capabilities”
WHERE `meta_key` = “altesPrefix_capabilities”

[/source]Hinweis: Hat sich noch der Subdomainname geändert, muss noch in der Tabelle options der Eintrag siteurl auf den Namen der neuen URL geändert werden!

4. Test der Plugin Funktionalitäten

Nachdem nun die gröbste Arbeit nun schon erledig war, habe ich noch die Funktionalität der installierten WordPress Plugins getestet auf meinem Blog getestet – alles bestens.

5. Umbiegen der “Test” Subdomains auf das aktuelle Live WP-Verzeichnis

Somit war mein aktueller Blog schon umgestellt.
Nun habe ich noch schnell die vorher installierten Test-Blogs (wptest1.brandt-net.de und wptest2.brandt-net.de) auf das Verzeichnis der aktuellen WP-Instanz umgestellt.

Dazu muss nur die Subdomain Konfiguration auf das Verzeichnis des bestehenden Blogs (hier blog.brandt-net.de) umgebogen werden. So muss die Subdomain Konfiguration beim Provider aussehen:

blog.brandt-net.de ==> /wordpress
wptest1.brandt-net.de ==> /wordpress
wptest1.brandt-net.de ==> /wordpress

Mehr Anpassungen waren dabei nicht notwendig, da die Tabellen schon der Multi-Subdomain Struktur entsprachen. Das war es auch schon. Die Testinstallation von WordPress habe ich dann wieder gelöscht. Fertig.

Fazit

In nur einer Stunde hatte ich meinen kompletten Blog umgestellt und zwei weitere Blogs zum Testen konfiguriert. Alles läuft auf einem WP-Installations-verzeichnis. Plugins und Templates können somit gemeinsam genutzt werden. Die WordPress Tabellen mit den Beiträgen, Kommentaren und was sonst noch alles zu WordPress internen Verwaltung gehört, stehen getrennt für jeden einzelnen Blog zur Verfügung.

Verlinken Sie diesen Artikel auf Ihrer Webseite:

nach oben |

Ranking-Hits