WordPress als mobiles Informationssystem

Die Idee ein Content-Management-Systems als lokales Informationssystem zu nutzen, ist grundsätzlich nichts Neues. In größeren Unternehmen oder Einrichtungen gibt es oft lokalen Webserver, über den die Mitarbeiter Informationen, wie z.B. Telefonnummern, ein Schwarzes Brett oder Ähnliches, abrufen können. Dies kann man sich auch für Unterwegs, z.B. bei Veranstaltungen in unter Umständen schon vorhandenen lokalen Netzwerken, nutzbar machen.

WordPress bietet sich hierfür meiner Ansicht nach besonders an, da es unter Open-Source-Lizenz verfügbar und sehr einfach zu bedienen ist. Für die abwechselnde Nutzung in unterschiedlichen Netzwerken ohne lokale Namensauflösung, wie z.B. an der Fritzbox im Fahrzeug oder im Unternehmens-LAN im Büro sind jedoch einige Dinge zu beachten, da die Netzwerkkonfiguration für ein tragbares Gerät zweckmäßigerweise per DHCP bezogen wird.

Die Einstellungen von Home-Adresse und WordPress-Verzeichnis müssen jedesmal vor dem Einsatz in einem anderen Netzwerk angepasst werden. Diese Einstellungen befinden sich unter Administration => Einstellungen => Allgemein. Damit dieses bei jedem Netzwerkwechsel automatisch geschieht, fügt man zu der Datei wp-config.php die folgenden Zeilen zu (WICHTIG: ganz Oben, als allererste Codezeilen nach dem <?php):

define('WP_HOME','http://'.$_SERVER['SERVER_ADDR']);
define('WP_SITEURL','http://'.$_SERVER['SERVER_ADDR'].'/wordpress');

Die jeweiligen Felder in den Einstellungen sind dann ausgegraut und zeigen die jeweils aktuelle IP-Adresse an. Um WordPress über „localhost“ aufzurufen, auch wenn es in einem Unterverzeichnis liegt, muß die index.php in das root-Verzeichnis des Webserves kopiert werden und „require(‚/wp-blog-header.php‘);“ muß in „require(‚/wordpress/wp-blog-header.php‘);“ geändert werden. Die restlichen Programmdateien verbleiben im Ordner /wordpress.

Beim Einfügen von Links in Beiträge und Seiten muss jedesmal darauf geachtet werden, dass die Pfadangabe relativ angegeben werden. Der Link zu „192.168.1.10/seite.php“  muss stattdessen „./seite.php“ lauten. Sonst geht der Link beim Netzwerkwechsel ins Leere.

Die Links bei den Individuellen Links in den Menues dürfen nur mit dem Slash und ohne den vorangestellten Punkt eingegeben werden. Das im Feld URL vorgegebene http:// muss dabei entfernt werden. Beispiel für eine Seite mit Permalink: /index.php?page_id=80

Bei einer Nutzung im Fahrzeug sollte das Nachladen der Google-Fonts unterbunden werden, da dies bei einer schlechten Internetverbindung zum stocken der Weboberfläche führt. Hierzu kann z.B. das WordPress-Plugin „Disable Google Fonts“ verwendet werden. Aus dem gleichen Grund sollte in den Einstellungen auch die Verwendung von Avataren abgeschaltet werden.

Um die statische Seiten übersichtlicher zu gestalten, sollte die Kommentarfunktion in den Einstellungen ebenfalls abgeschaltet werden.

Damit die CUPS-Oberfläche für die Druckerverwaltung bei einem unixoiden Betriebssystem über einen Link zu erreichen ist, ist es notwendig eine kleine Hilfsdatei zu verwenden um den Browser auf den entsprechenden Port umzuleiten. Hierzu habe ich im root-Verzeichnis des Webservers die Datei cups.php mit folgendem Inhalt angelegt:

<?php header("Location: http://" . $_SERVER['SERVER_ADDR'] . ":631", true, 301); die();?>

Anschließend empfiehlt es sich die maximale Uploadgröße in der PHP-Konfigurationsdatei anzupassen, da zu publizierende Dokumente für die Voreinstellungen von PHP oft zu groß sind. Hierzu habe ich in der php.ini folgende Parameter angepasst:

post_max_size = 50M
[...]
upload_max_filesize = 50M

WordPress habe ich dieses am Ende der wp-config.php ebenfalls mitgeteilt:

define('WP_MEMORY_LIMIT', '50M');

Auf die Absicherung der Loginseite von WordPress über https habe ich verzichtet, da der Server nur aus dem lokalen Netzwerk erreichbar ist.

Eine Installation von phpMyAdmin sollte weiterhin zur Standardausstattung gehören, um die Datenbank entsprechend einrichten zu können. Ich bevorzuge hierbei die manuelle Installation der aktuellen Version von phpMyAdmin von dessen Projektseite, da die Version aus den jeweiligen Paketquellen oft schon älter sind.