PEAR-Handbuch | ||
---|---|---|
Zurück | Kapitel 2. Installation | Nach vorne |
Viele Benutzer sind bei Web-Hostern mit einer system-weiten PEAR-Installation. In einigen Fällen kann es notwendig sein, eine eigene PEAR-Installation zu verwalten, z.B. zur Installation nicht vorhandener Packages. Das ist möglich entweder über Telnet/SSH oder allein per FTP.
Um ein lokales PEAR über SSH zu installieren, führen Sie folgende Befehle aus:
PEAR 1.3.5 und frühere Versionen
$ pear -s -c ~/.pearrc -d doc_dir=~/pear/docs \ -d ext_dir=~/pear/ext -d php_dir=~/pear/lib \ -d data_dir=~/pear/data -d test_dir=~/pear/tests \ -d cache_dir=~/pear/cache -d bin_dir=~/pear/bin |
PEAR 1.4 und Neuere
$ pear config-create /home/user/pear .pearrc |
Damit erzeugen Sie eine lokales Konfigurations-Datei in ihrem Home-Verzeichnis sie heißt .pearrc.
Wenn Sie dann in .bashrc im Path-Eintrag das Verzeichnis ~/pear/bin hinzufügen, müsste nachfolgender Aufruf funktionieren. Die Path-Angabe muß an erster Stelle in der Datei stehen! (Lautet ihr Startup-Datei anders, müssen Sie den Eintrag natürlich dort machen.)
PEAR 1.3.2 und frühere Versionen
$ pear -c ~/.pearrc install Archive_Tar PEAR Console_Getopt XML_RPC |
PEAR 1.3.3 und Neuere
$ pear install -o PEAR |
Damit wird in ihrem Home-Verzeichnis ein Verzeichnis pear erzeugt, dass die zukünftigen Packages aufnimmt.
Damit erzeugen Sie eine lokale PEAR-Installation, die oberhalb der systemweiten liegt. Damit die lokalen Packages auch benutzt werden, müssen Sie die include_path-Einstellung von PHP anpassen:
<?php ini_set('include_path', '~/pear/lib' . PATH_SEPARATOR . ini_get('include_path')); // Ab PHP 4.3.0 aufwärts können Sie auch folgenden // Aufruf verwenden, der bei Massen-Hosternhilfreich ist set_include_path('~/pear/lib' . PATH_SEPARATOR . get_include_path()); ?> |
Alternativ können Sie dies auch in der .htaccess für Apache vornehmen über die Einstellung php_value.
Es gibt zwei Wege eine lokale PEAR-Installation per FTP auf einen anderen Server zu spiegeln: den alten, schweren Weg und den neuen, einfachen Weg. Der neue Weg erfordert unbedingt ein Upgrade von PEAR auf Version 1.4.3.
Die Installation einer Kopie einer bestehenden PEAR-Installation über FTP würde mit PEAR 1.4.0 vereinfacht.
Häufig ist es problematisch PEAR auf einem Server zu installieren, zu dem man keinen Shell-Zugang besitzt. Die einzige Möglichkeit ist auf FTP zurückzugreifen. Das führt aber bei manchen Packages zu Problemen, wenn diese auf fortgeschrittene Funktionen des Installers aufsetzen, wie z.B. der Einsatz von systemspezifischen Ersetzungen im Quelltext.
Der grundlegende Ablauf für die FTP-Variante ist folgender:
Sie benötigen unbedingt auf ihrem Rechner PHP 5.0 oder höher.
Wenn Sie FTPS benutzen wollen, dann muss in Ihrer lokalen PHP-Installation die OpenSSL-Erweiterung aktiviert sein.
Wenn Sie SFTP benutzen wollen, dann muss in Ihrer lokalen PHP-Installation die SSH2-Erweiterung aktiviert sein.
Sie benötigen eine lauffähige CLI-Version von PEAR auf dem lokalen System. Damit ist das pear-Kommando gemeint, nicht das Web-Interface.
Stellen Sie sicher, dass zumindest der FTP-Zugang zum Server funktioniert und Sie die erforderlichen Zugriffsrechte zum Schreiben besitzen. Die Verwendung von SFTP oder FTPS wird unbedingt empfohlen, wenn dies möglich ist, da diese sicherer sind.
Merken Sie sich den vollständigen Pfad zu Ihrem Home-Verzeichnis.
Erzeugen Sie eine angepasste Konfigurationsdatei für das lokale System und den Server.
Laden Sie die angepasste Konfigurationsdatei für den Server eben dorthin.
In der lokalen Konfigurationsdatei setzen Sie den Wert remote_config auf den Pfad der Konfigurationsdatei auf dem Server.
Installieren Sie die Packages, die Sie benötigen. Dazu verwenden sie die Befehle remote-install, remote-uninstall, remote-upgrade und remote-upgrade-all.
1. Sie benötigen eine lauffähige CLI-Version von PEAR auf dem lokalen System. Damit ist das pear-Kommando gemeint, nicht das Web-Interface!
Mehr dazu finden Sie in der Installationsanleitung.
2. Installieren Sie lokal das Package PEAR_RemoteInstaller, wenn Sie es noch nicht getan haben.
3. Stellen Sie sicher, dass der FTP-Zugang zum Server funktioniert und Sie die erforderlichen Zugriffsrechte zum Schreiben besitzen.
Das ist unbedingt notwendig - wenn Sie sich mit einem FTP-Programm auf ihrem Webspace einloggen können, dann haben Sie FTP-Zugang.
Merken Sie sich den Benutzernamen und das Passwort, mit dem Sie sich einloggen, Sie werden es nachher benötigen.
Der Test, ob Sie Schreibrechte besitzen ist einfach: Wenn Sie eine Datei hochladen können, dann besitzen Sie Schreibrechte.
3. Merken Sie sich den vollständigen Pfad zu Ihrem Home-Verzeichnis.
Wenn Sie den Pfad nicht wissen, dann laden Sie dieses kleine Skript auf Ihren Webspace und rufen es auf:
<?php echo dirname(__FILE__); ?> |
Dann sollten Sie eine Ausgabe erhalten wie z.B. /home/username/htdocs.
4. Erzeugen Sie eine angepasste Konfigurationsdatei für das lokale System und den Server.
Die Dateien erzeugen Sie mit dem PEAR-Installer:
Unter Windows:
Wählen Sie zuerst ein Verzeichnis für die lokale Installationskopie von PEAR, z.B. C:\remote\pear. Auf der Kommandozeile geben Sie ein (wenn Sie sich direkt im Wurzel-Verzeichnis befinden):
C:\> mkdir remote C:\> cd remote C:\remote\> mkdir pear C:\remote\> cd pear C:\remote\pear> pear config-create -w C:\remote\pear remote.ini C:\remote\pear> pear config-create /home/username/pear .pearrc |
Unter Linux/Unix funktioniert es analog:
$ cd $ mkdir remote $ cd remote $ mkdir pear $ cd pear $ pear config-create /home/mylocaluser remote.conf $ pear config-create /home/username/pear .pearrc |
5. Laden Sie die angepasste Konfigurationsdatei für den Server eben dorthin.
Benutzen Sie einfach ein FTP-Programm Ihrer Wahl zum Hochladen der gerade erzeugten Datei .pearrc in das zu erzeugende Verzeichnis /home/username/pear/.
6. In der lokalen Konfigurationsdatei setzen Sie den Wert remote_config auf den Pfad der Konfigurationsdatei auf dem Server.
Wenn Sie das normale, nicht verschlüsselte FTP benutzen, dann benutzen Sie ftp:// als Stream-Angabe. Soll hingegen FTPS benutzt werden, wählen Sie ftps://, für SFTP schreiben Sie ssh2.sftp als Stream-Angabe.
Der vollständige Pfad für die remote_config-Variable muss unter Umständen der vollständige Pfad angegeben:
ssh2.sftp://user:pass@myremotehost.com/home/username/.pearrc |
Wenn die Verbindung fehlschlägt, dann kann auch versucht werden relative Pfadangaben zu verwenden:
ftps://user:pass@myremotehost.com/.pearrc |
Unter Windows:
C:\remote\pear\> pear -c remote.ini config-set remote_config \ ftp://user:pass@myremotehost.com/.pearrc |
Unter Linux/Unix:
$ pear -c remote.conf config-set remote_config \ ftp://user:pass@myremotehost.com/.pearrc |
7. Installieren Sie die Packages, die Sie benötigen. Dazu verwenden sie die Befehle remote-install, remote-uninstall, remote-upgrade und remote-upgrade-all.
Sie können den PEAR-Installer von nun an regulär benutzen. Die lokale und die entfernte PEAR-Installation werden automatisch synchroniziert, wenn neue Packages installiert/geupdatet werden.
Wie funktioniert dass?
Der Installer installiert ein Package zuerst lokal und verwendet dann die FTP-Stream-Fahigkeiten von PHP, um eine Kopie jeder installierten Datei auf den Server an die korrekte Position hochzuladen. Alle Befehle, welche die Installation betreffen (wie z.B. install, upgrade, selbst upgrade-all) haben entsprechende Gegenstücke zur Verwaltung der Packages auf dem Server (remote-install, remote-uninstall, remote-upgrade, remote-upgrade-all). Die Option remote_config teilt dem Installer mit, dass die lokale Installation automatisch auf dem Server gespiegelt werden soll.
Eine Besonderheit ist, dass die Einstellungen der Konfigurationsdatei auf dem Server für Ersetzungen bei der Installation auf dem Server benutzt werden. Z.B. wenn in einer Datei der Pfad zum PEAR-Daten-Verzeichnis (data_dir-Eintrag in der Konfiguration) gesetzt werden soll, dann wird der Pfad auf dem Server eingetragen (z.B. /home/username/pear/data) anstatt dem lokalem Pfad (hier: C:\remote\pear\data). Das hat allerdings den Nebeneffekt, dass die lokale Installation u.U. nicht auf dem lokalen Rechner läuft. Die lokale Installation fungiert hier eher als Back-up-System. Dies hat allerdings den Vorteil, das bei Problemen auf dem Server, die lokale PEAR-Installation 1:1 auf den Server kopiert werden kann, um wieder einen stabilen Zustand herzustellen.
Warnung |
Einige Packages konfigurieren sich bei der Installation abhängig vom zugrundeliegenden Betriebssystem (Windows vs. Linux). Prüfen Sie vor der Installation, ob dies der Fall ist, bzw. stellen Sie sicher, dass das lokale System und der Server mit dem selben Betriebssystem laufen. Desweiteren können lokal installierte Packages bestimmte PHP-Erweiterungen benötigen. Diese müssen ebenfalls auf dem Server verfügbar sein, dies kann mit der Ausgabe von phpinfo() überprüft werden. |
Die Vorrausetzung für die Installation über FTP ist ein FTP-Programm, dass die Zugriffsrechte setzten kann. Erzeugen Sie zuerst ein Verzeichnis, das NICHT in ihrem öffentlich zugänglichen Web-Verzeichnis liegt; die Benennung ist egal. Es muß für jeden les- und schreibbar sein (Zugriffsrechte: 0777). Holen Sie sich dann das go-pear.php-Skript von http://go-pear.org/ und laden Sie es in ein öffentlich zugängliches Unter-Verzeichnis Ihres Web-Verzeichnisses. Sie sollten dieses Verzeichnis unbedingt über die .htaccess mit einem Passwort schützen.
Rufen Sie als zweites über den Browser das go-pear.php-Skript auf. Ist die URL ihrer Webseite http://www.example.com/, und befindet sich das Skript in public_html/install/go-pear.php; und http://www.example.com/ zeigt die Inhalte von public_html/, dann rufen Sie auf: http://www.example.com/install/go-pear.php. Folgen Sie den Installations-Anweisungen. Wenn Sie gefragt werden, wohin Sie PEAR installieren wollen, wählen Sie das Verzeichnis, das für jeden les- und schreibbar ist. Ausserdem werden Sie gefragt, wo sich die Kommandozeilen-Version von PHP befindet. Führen Sie dazu auf dem Server folgendes PHP-Skript über den Browser aus und übernehmen die Ausgabe:
<?php echo `which php`; // Wenn das nicht funktioniert, sollten Sie // prüfen, welchen Wert die Konstante PHP_BIN // enthält ?> |
Nachdem PEAR installiert wurde, können Sie über den Web-Installer Packages installieren und aktualisieren wie mit jeder anderen PEAR-Installation. Um die installierten Packages zu benutzen, müssen Sie ebenfalls den Include-Path anpassen.
<?php ini_set('include_path', '~/pear/lib' . PATH_SEPARATOR . ini_get('include_path')); // Ab PHP 4.3.0 und höher sollte man besser diese Variante verwenden: set_include_path('~/pear/lib' . PATH_SEPARATOR . get_include_path()); ?> |
Zurück | Zum Anfang | Nach vorne |
Der Kommandozeilen-Installer | Nach oben | Manuelle Installation |