WordPress Multisite auf dem Uberspace

Mit diesem Blog nutze ich die „Multisite“ Option von WordPress auf dem Uberspace. Im letzten Schritt muss man dann etwas Uberspace-spezifisches beachten, sodass ich die Einrichtung kurz vorstellen möchte.

WordPress bietet die Möglichkeit an, direkt aus einer Installation mehrere verschiedene Blog-Instanzen zu erzeugen. Dann kann nützlich sein, wenn man verschiedene Subblogs bezüglich des Hauptblogs haben möchte und nicht für jeden Subblog eine separate Installation durchführen möchte. Es vereinfachen sich dadurch das Einspielen von Updates, Verwalten von Plugins, etc.

Das Backup

Falls ihr die Einrichtung nicht mit einer frischen Installation starten solltet, sollte man ein Backup seiner bisherigen Installation durchführen. Ihr könnt direkt von der Installation ein Backup erstellen, in dem ihr den Installationsordner kopiert.

cp -r ./wordpress wordpress.backup

Zudem könnt ihr direkt aus WordPress heraus ein Backup der Daten erstellen. Geht dazu in WordPress auf „Werkzeuge“->“Daten exportieren“. Wählt nun alle Inhalte und lasst euch den Export erstellen.

Die Einrichtung

Zunächst müsst ihr WordPress mitteilen, dass ihr das „Multisite“-Feature nutzen wollt. Dazu müsst ihr die folgende Zeile in eurer wp-config.php eintragen:

define('WP_ALLOW_MULTISITE', true);

Danach geht ihr zu WordPress zurück und nach einem Neuladen sollte unter „Werkzeuge“ die „Netzwerkeinrichtung“ erscheinen. Ich hatte mich für die Variante mit den Subdomains entschieden. Wählt diese Option aus und bestätigt die Einrichtung. Wenn alles geklappt hat, dann zeigt euch WordPress nun ein wenig Code an, den ihr folgendermaßen verarbeiten müsst.

Den PHP-Code müsst ihr in die wp-config.php eintragen. Der Code sollte so ähnlich aussehen:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'blogbasis.net');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Zudem müsst ihr die Inhalte der .htaccess-Datei mit der entsprechenden Ausgabe ersetzen.

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress

Die Subdomains

Wenn man nun in der Netzwerkverwaltung einen neuen Blog mit einer neuen Subdomain anlegt, und die Seite aufrufen möchte, dann sollte man bei einem 404 landen, denn trotz der DNS-Wildcard Einstellung, welche auf den Uberspace zeigt, gibt es dort den entsprechenden Verweis noch nicht. Dies lässt sich ganz einfach mit einem Symlink von der Subdomain auf das Blogverzeichnis realisieren.

cd /var/www/virtual/$USER/
ln -s blogbasis.net subdomain.blogbasis.net

Nun sollte der Link gesetzt und die entsprechende Subdomain erreichbar sein. Diese Verlinkung müsst ihr dann entsprechend für jede Subdomain anlegen.

~Sebastian