Das Putzlowitsch Test- und SEO-Blog

Strato-AppWizard verhindert WordPress-Update, so geht es trotzdem

WordPress mit wenigen Klicks installieren

Sie sind ja ganz nett, diese Ein-Klick-Installationen bei den großen Webhostern wie 1&1 (Click&Build), Host Europe (Webanwendungen) und Strato (AppWizard). Mit wenigen Klicks kann man im Konfigurationsbereich des Hostingpaketes ein komplettes WordPress installieren. Man muß sich nicht um die Einrichtung von Datenbanken, die Anpassung der wp-config.php-Datei und den Upload per FTP kümmern.

Leider haben diese Installationen auch Nachteile. Bei Strato soll man das WP-Update per AppWizard durchführen. Schlecht ist es nur, wenn gar kein Update oder nur die kleinen Updates angeboten werden.

Strato AppWizard WP-Update

Für die älteren Versionen gibt es nur die kleinen Updates (3.0→3.0.4, 3.5.1→3.5.2) und bei 3.8 sieht es ganz schlecht aus. Vermutlich ist auch gar kein Updated er Hauptversion, also z.B. von 3.8 auf 3.9 oder 4.0 vorgesehen.

Kein Update möglich

Normalerweise ist es ja kein Problem, das Update direkt im Adminbereich von WordPress durchzuführen. Nur leider wird diese Möglichkeit von den 1-Klick-Paketen schlicht und ergreifend ausgeknipst, ist nicht vorhanden.

Strato-AppWizard - kein WP-Update

Nun habe ich mich auf die Suche begeben, an welcher Stelle denn das Update wegkonfiguriert wird. Fündig wurde ich in der Datei wp-includes/capabilities.php. Dort gibt es Funktionen mit denen Abgefragt werden kann, welche Rechte ein angemeldeter Nutzer hat, also was er alles im Adminbereich tun darf.

So sieht dort eine Funktion im StratoAppWizard-Paket aus:

function current_user_can( $capability ) {
	$current_user = wp_get_current_user();

	if ( empty( $current_user ) )
		return false;

	$args = array_slice( func_get_args(), 1 );
	$args = array_merge( array( $capability ), $args );

	if ( $capability == 'update_core' ) { return false;	} else { return call_user_func_array( array( $current_user, 'has_cap' ), $args ); }
}

Die Frage, ob der aktuelle Nutzer WordPress updaten darf (‚update_core‘), wird in der letzten Zeile immer mit false beantwortet. Es darf als niemand, es wird gar nicht erst geprüft, ab man als Admin dieses Recht hat. Nö, die Funktion sagt immer nein.

WP-Update wieder hervorzaubern

Entsprechend simpel ist die Lösung des Update-Problems. Man muß einfach die originale Funktion wieder herstellen. Das geht einfach mit einem FTP-Programme oder auch mit dem Strato Web-FTP.

Wir wechseln in das Verzeichnis /WordPress_01/wp-includes/, wobei die Nummer am Ende die laufende Nummer der AppWizard-Installation ist.

Strato Web-FTP capabilities.php

Dort finden wir die Datei capabilities.php und direkt darunter eine capabilities.php.bak.1387242074, ggf. mit einer anderen Zahl am Ende. Das ist die nicht manipulierte, originale WordPress-Datei. Genau die brauchen wir.

Nun können wir einfach zuerst die capabilities.php in capabilities.php.strato umbenennen und anschließen die capabilities.php.bak.1387242074 in capabilities.php.

Das Umbenennen geht im Strato-WebFTP mit der rechten Maustaste auf der Datei.

Strato Web-FTP - Datzei umbenennen

Das wars auch schon, im Adminbereich sollte nun das Update auf die neue WP-Version angeboten werden.

Getestet habe ich das nur mit der Version 3.8, bei den älteren Versionen könntes aber prinzipiell genauso funktionieren.

WP Version 3.2.x und 3.4.x

Bei WordPress Version 3.2.x und 3.4.x hat Strato das Core-Update an einer anderen Stelle ausgeschaltet (Veränderung in der Datei /wp-include/update.php). Es wäre aber zu aufwändig, diese Änderungen rückgängig zu machen.

Strato AppWizard WP-Update 3.5.1

Als Ausweg bleibt hier das schrittweise Update im Strato-AppWizard bis zur WordPress-Version 3.5.1-4. Bei dieser Version ist das Update nicht gesperrt und damit dann direkt im WP-Backend möglich.

Strato auf die Sprünge helfen

Es ist ja nun nicht das erste Mal, daß ich eine Strato-Problem bzw. -Fehler ausbügeln muß. Wenn ich da so an das www/ohne-www Problem oder die Sache mit der Remote-Adresse denke. Das früher fehlende mod_rewrite will ich gar nicht erst an die große Glocke hängen.

Wie auch immer, ich hoffe, daß ich dem einen oder anderen leidgeplagten Strato-User ein bißchen helfen konnte. Dann hat es sich doch schon gelohnt. :-)

38 Kommentare »

WordPress Update von 3.3.1 auf 3.4

Seit gestern gibt es die neue WordPress-Version 3.4 „Green“, praktisch zeitgleich auch als DE-Ausgabe.

Gestaltung

Wordpress 3.4 - Customize

Eine neue Funktion ist die Anpassung von Themes in einer Art Vorschaumodus. Man kann damit im Backend unbeschwert z.B. das Headerbild und die Farben ändern und erst, wenn einem alles gefällt, die Einstellungen übernehmen. Bisher wurden solche Änderungen sofort wirksam, was möglicherweise zu Verwirrung bei den Nutzern führen konnte. Das Theme muß entsprechende Funktionen allerdings unterstützen.

Auch wenn man mit diesem neuen Feature alle Farben auf Grün stellen kann, hat der Name „Green“ der neuen WP-Version nichts damit zu tun. Vielmehr ist die aktuelle Ausgabe dem Jazz-Gitarrist Grant Green gewidmet.

Gezwitscher

Außerdem kann man jetzt Twitter-Tweets direkt in einen Artikel einbinden. Dazu muß einfach die URL des Tweets in den Text eingefügt werden, WordPress kümmert sich dann um die eingebettete Darstellung:

In der U7 liest eine Mutter...

Dazu muß bei den Einstellungen zur Mediathek die Option „Automatische Einbettungen“ aktiviert sein. Alternativ kann man die URL mit dem Shortcode [oembed]…[/oembed] umschließen. Da das oEmbed hier irgendwie nicht funktioniert, habe ich es durch einen Screenshot simuliert.

Gelungen

Ich habe heute zwei Blogs per automatischem Update auf die neue WordPress-Version 3.4 aktualisiert. Einmal ein Testblog bei 1&1 (mit nur 32M PHP-Speicher) und mein Schnurpsel-Blog hier (bei Strato). Das hat in beiden Fällen ohne Probleme und einwandfrei funktioniert.

Der Speicherverbrauch ist leicht gestiegen, im Frontend um 0,5M und im Backend im 1M.

Laut Beschreibung der Veränderungen und Verbesserungen gab es auch ein paar Optimierungen unter der Haube, besonders im Bereich Übersetzung/Lokalisierung und beim WP-Query-Objekt. Für Programmierer con Themes und Plugins gabe es auch Veränderungen, aber davon wird der Nur-Nutzer sowieso nichts merken.

7 Kommentare »

WordPress Update von 2.9.2 auf 3.2.1

Wordpress 3.2.1 - Backend (Admin-Bereich)

Großer Versionssprung

Mein letztes WordPress-Update liegt schon länger zurück (April 2010). Nun habe ich kurz entschlossen gleich den Sprung von Version 2.9.2 auf 3.2.1 gewagt. Allerdings nicht mit dem WP-eigenen Onlineupdate, sondern gewissermaßen „zu Fuß“. Bei großen Versionssprüngen ist mir das sicherer, man weiß ja nicht, ob alle Plugins und das Theme noch unter der neuen Version funktionieren.

Nur kleine Panne

Das Update lief auch problemlos durch, allerdings war dann plötzlich meine Startseite nicht mehr erreichbar (Fehler 404). Das Problem kam durch eine eigene Erweiterung zustande, in der der ich URL-Parameter und numerische Werte überprüfe. Neuerdings erzeugt WordPress für die Startseite intern die leeren Parameter pagename und page, welche ich nun als Sonderfalll bei der Prüfung berücksichtige.

Neue Funktionen und Verbesserungen

Mit den neuen Funktionen und Möglichkeiten werde ich mich erst in den nächsten Tagen beschäftigen. Aber so auf den ersten Blick sieht alles schon ganz gut aus. Angeblich soll WP 3.2.x auch schneller sein, man wird sehen. Mit knapp 17 MB auf der Startseite und 19 MB im Adminbereich ist zumindest der Speicherbedarf nicht gestiegen. Ich habe die alten Werte jetzt nicht im Kopf, aber es könnte sogar etwas weniger sein, als bei WP 2.9.x.

Weitere Artikel mit Bezug zu diesem:
Ein Kommentar »

WordPress 3.0 – automatisches Update bei 1&1 ohne Problem

Das neue WordPress 3.0 ist erschienen. Herausragende Neuerung ist die neue Multisite-Funktion, gewissermaßen die Integration von WordPress-MU in das „normale“ WordPress. Zudem gab es den Abschied vom lange bewährten Standard-Theme „Kubrick“. Neu als Standardtheme ist nun „TwentyTen“ an Board.

Brötchen mit WP 3.0 RC als Test

Seit ein paar Wochen habe ich die RC-Versionen von WordPress 3.0 bereits für meine Brötchen-Bilder im Testbetrieb zu laufen. Dabei gab es keine Probleme.

Für meine „Produktions-Systeme“ Putzlowitsch und Schnurpsel will ich aber nicht gleich auf WP 3.0 umsteigen, das ist mir zu heikel. Da stehen zunächst lokale Tests an.

Automatisches Update bei 1&1 erfolgreich

Mit einer WordPress 2.9.1 Testinstallation bei 1&1 habe ich hingegen gleich mal ein automatisches Update angestoßen. Das hat einwandfrei funktioniert. Allerdings habe ich dort nur eine handvoll einfacher Plugins aus eigenem Hause installiert. Insofern ist das kein echter Produktionstest.

Der (angezeigte) Speicherbedarf ist von 11,5 auf 13,5 MB im Frontend und von 14 auf 16,5 MB im Backend angestiegen, mithin also um 2 bzw. 2,5 MB. Insgesamt kommt man mit den 32 MB, die bei 1&1 zur Verfügung stehen, noch ganz gut über die Runden. Eng kann es bei gleichzeitigen Einsatz vieler Plugin oder bei Upload großer Bilder werde.

Generell sollte man für WordPress bei 1&1 (Shared Webhosting) einige Dinge beachten.

Ein Kommentar »

Ein nacktes WordPress installieren

WordPress-Installation

Eine neue WordPressinstallation enthält üblicherweise bereits ein paar Beispieldaten. So sind schon eine Seite und ein Artikel mit einem Kommentar vorhanden, etwa wie dieser hier. Die Blogrolle ist auch schon mit ein paar Links gefüllt.

Wenn man das nicht möchte, weil man beispielsweise einen WordPress-Export (per WP-Export als xml) importieren möchte und die IDs der Artikel und Seiten erhalten bleiben sollen, kann man eine benutzerdefinierte Installation verwenden.

WordPress lädt am Anfang der Installation die Datei wp-content/install.php, falls sie vorhanden ist. In dieser kann man einige Installationsfunktionen „überschreiben“. Das funktioniert so wie bei den Funktionen aus der pluggable.php im Verzeichnis wp-includes. WordPress prüft, ob eine Funktion bereits vorhanden ist:

if ( !function_exists('wp_install') ) :
 ...
endif;

Falls nicht, wird die WordPress-Funktion „installiert“, andernfalls wird die bereits vorhandene verwendet. Die wordpresseigenen Installationsfunktionen findet man in wp-admin/includes/upgrade.php, diese kann man sich als Vorlage für eigene Modifikationen hernehmen.

WordPress ohne „Hallo Welt“

Um nun eine leere WordPress-Installation zu erhalten, wird die Funktion wp_install_defaults in der Datei wp-content/install.php neu definiert:

<?php
function wp_install_defaults($user_id) {
}
?>

Es ist einfach eine leere Funktion, dadurch wird aber auch keine Default-Kategorie für Artikel und Links erstellt. Möchte man die Standardkategorien trotzdem haben, nimmt man den oberen Teil aus der originalen WP-Funktion (bis // Now drop in some default links) in die eigene Funktion mit rein. Dabei das global $wpdb nicht vergessen.

Wie man auf diese Weise bereits Plugins bei der Installation aktivieren kann, hatte ich früher schon mal beschrieben.

Nachdem die Anpassungen in der install.php vorgenommen wurden und diese in das WordPress-Content-Verzeichnis kopiert wurde, kann man die WordPressinstallation wie gewohnt starten.

Weitere Artikel mit Bezug zu diesem:
Keine Kommentare »