PEAR mit Web-Frontend unter PHP53 bei domainfactory installieren

Vielleicht ein etwas spezielles Problem, aber weil es nicht ganz einfach zu lösen ist und ich die genaue Vorgehensweise sowieso für mich selbst dokumentieren muss, gibt es hier eine entsprechende Anleitung.

Das Ziel ist eine eigene PEAR-Installation auf einem Hosting-Account von domainfactory unter PHP 5.3 inklusive PEAR Web-Frontend um die spätere Verwaltung und Pflege der Installation etwas zu erleichtern.

Da der „go-pear“ Webinstaller (http://pear.php.net/go-pear) mit PHP 5.3 leider nicht mehr funktioniert, müssen wir den Umweg über die Konsole gehen. Das heißt Voraussetzung ist ein Shell-Zugang (SSH).

1. Download go-pear.phar

Statt des alten Web-Installers laden wir uns als erstes den Installer für die Konsole als PHAR-Archiv herunter:

wget http://pear.php.net/go-pear.phar

2. Installationspfade anpassen

Wir starten den Installer auf der Shell mit dem PHP 5.3 Binary

php53 go-pear.phar

und bekommen im ersten Schritt eine Liste der Konfigurationsvariablen und die Möglichkeit diese anzupassen. Über die Ziffernauswahl „1“ passen wir den Wert „1. Installation base ($prefix)“ an und geben dort den Pfad zum Verzeichnis an, in dem PEAR installiert werden soll. Analog passen wir über die Zifferneingabe „2“ und „3“ die Werte „2. Temporary directory for processing“ und „3. Temporary directory for downloads“ an und geben dort den Pfad zu einem temporären Verzeichnis innerhalb unseres Accounts an. Wenn sie noch nicht existieren, legt der Installer diese Verzeichnisse selbst an. Den Wert „11. Name of configuration file“ mit dem Pfad zur Konfigurationsdatei merken oder notieren wir uns für später.

Mit „Return“ bestätigen wir die Konfigurationswerte und starten die Installation. Die folgende Frage „Would you like to alter php.ini “ beantworten wir mit „n“ für „Nein“.

3. pear Shell-Skript anpassen

Im nächsten Schritt wechseln wir in das Verzeichnis der PEAR-Installation und dort in das Unterverzeichnis bin und bearbeiten das Shell-Skript pear indem wir am Beginn von Zeile 28

exec $PHP -C -q $INCARG

durch

exec php53 -C -q $INCARG

ersetzen.

4. PEAR Web-Frontend installieren

Wir installieren nun mit dem angepassten Shell-Skript das PEAR Package für das Web-Frontend

./pear install PEAR_Frontend_Web

Wenn das Package immer noch im BETA-Status sein sollte, muss die konkrete Versionsnummer angegeben werden, z.B. so

./pear install PEAR_Frontend_Web-0.7.5

5. Web-Frontend anpassen und absichern

Wenn die Installation funktioniert hat, wechseln wir in das Verzeichnis share/pear und finden dort die Datei pearfrontendweb.php Diese muss nun ebenfalls noch etwas angepasst werden. Wir bearbeiten die Datei und fügen nach der Zeile:

define('PEAR_Frontend_Web',1);

die folgenden beiden Zeilen ein:

error_reporting(E_ALL &~E_DEPRECATED);
$pear_user_config = '/pfad-zur-konfigurationsdatei/.datei';

Den Wert /pfad-zur-konfigurationsdatei/.datei ersetzen wir durch den Pfad, den wir uns in Schritt 2 „Installationspfade anpassen“ gemerkt oder notiert haben.

Abschließend schützen wir das Verzeichnis share/pear mit einem Passwort bzw. einer .htaccess-Datei vor unberechtigten Zugriffen.

Danach rufen wir das Web-Frontend über die Datei pearfrontendweb.php im Browser auf und können dann die PEAR-Installation wie gewohnt komfortabel pflegen und aktualisieren.

Fertig 🙂

2 Antworten auf „PEAR mit Web-Frontend unter PHP53 bei domainfactory installieren“

  1. hey, vielen Dank für die Anleitung zum teil das sie mir geholfen. ich versuche das gerade auf einem Synology NAS. Leider funktioniert dort (wahrscheinlich wegen der php-Verion) die installation von Paketen nicht (Could not get contents of package „/volume1/web/tmp/HTML_Template_IT-1.3.0.tgz“. Invalid tgz file.) Trotzdem vielen Dank für die helfenden Hinweise!

  2. Ich glaube, dass das Problem an dem Umzug zu Github von Pear liegt, nicht an PHP5 – leider habe ich auch noch keinen guten Weg für Installationen bei DF) ohne SSH Zugang gefunden!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.