Installation PEAR

PEAR beinhaltet viele Packages, die wir z.B. für Sieve oder so brauchen.

Installation

mkdir /www/server/SH_includes/_PEAR
fetch http://pear.php.net/go-pear.phar

Das ladet eine PHP Datei runter, die entweder übers Web oder Per Shell ausgeführt werden kann. Wir machen es übers Shell, da das Includes DIR nicht übers Web aufrufbar ist.

php -q go-pear.phar 

Sollten hier im Output nur 4 Fragezeichen erscheinen,

????

einfach die Unicode Detection abstellen:

php -d detect_unicode=0  go-pear.phar 

Nun sollte der start Screen erscheinen:

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)                   : /usr/local
 2. Temporary directory for processing            : /tmp/pear/install
 3. Temporary directory for downloads             : /tmp/pear/install
 4. Binaries directory                            : /usr/local/bin
 5. PHP code directory ($php_dir)                 : /usr/local/share/pear
 6. Documentation directory                       : /usr/local/docs
 7. Data directory                                : /usr/local/data
 8. User-modifiable configuration files directory : /usr/local/cfg
 9. Public Web Files directory                    : /usr/local/www
10. Tests directory                               : /usr/local/tests
11. Name of configuration file                    : /usr/local/etc/pear.conf

1-11, 'all' or Enter to continue: 

Und jetzt einfach alle Instruktionen durchlesen und followen.

Ich habe hier einfach den Prefix (Installation base) geändert, da ich PEAR in einem anderen Verzeichnis gespeichert haben möchte:

1) /www/server/SH_includes/_PEAR

Meine Verzeichnisstruktur sieht nun so aus:

 1. Installation base ($prefix)                   : /www/server/SH_includes/_PEAR
 2. Temporary directory for processing            : /tmp/pear/install
 3. Temporary directory for downloads             : /tmp/pear/install
 4. Binaries directory                            : /www/server/SH_includes/_PEAR/bin
 5. PHP code directory ($php_dir)                 : /www/server/SH_includes/_PEAR/share/pear
 6. Documentation directory                       : /www/server/SH_includes/_PEAR/docs
 7. Data directory                                : /www/server/SH_includes/_PEAR/data
 8. User-modifiable configuration files directory : /www/server/SH_includes/_PEAR/cfg
 9. Public Web Files directory                    : /www/server/SH_includes/_PEAR/www
10. Tests directory                               : /www/server/SH_includes/_PEAR/tests
11. Name of configuration file                    : /usr/local/etc/pear.conf

Ich habe alles Installiert inkl. den default Packages.

Dann noch bestätigen, dass der Path

/www/server/SH_includes/_PEAR/share/pear

im php.ini include_path ergänzt wird.

Jetzt noch kurz ‚pear‘ im PATH eintragen.

 vi ~/.profile

und ergänzen:

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:~/bin:/www/server/SH_includes/_PEAR/bin/

pear.conf

Das Config File wird nach der Installation in die Datei

/root/.pearrc

ODER

/usr/local/etc/pear.conf

geschrieben und sieht so aus:

#PEAR_Config 0.9
a:12:{s:15:"preferred_state";s:6:"stable";s:8:"temp_dir";s:17:"/tmp/pear/install";s:7:"bin_dir";s:33:"/www/server/SH_includes/_PEAR/bin";s:7:"php_dir";s:34:"/www/server/SH_includes/_PEAR/PEAR";s:7:"doc_dir";s:34:"/www/server/SH_includes/_PEAR/docs";s:8:"data_dir";s:34:"/www/server/SH_includes/_PEAR/data";s:8:"test_dir";s:35:"/www/server/SH_includes/_PEAR/tests";s:12:"download_dir";s:17:"/tmp/pear/install";s:10:"http_proxy";s:0:"";s:10:"__channels";a:4:{s:5:"__uri";a:0:{}s:11:"doc.php.net";a:0:{}s:15:"pear.phpunit.de";a:0:{}s:12:"pecl.php.net";a:0:{}}s:7:"cfg_dir";s:33:"/www/server/SH_includes/_PEAR/cfg";s:7:"www_dir";s:33:"/www/server/SH_includes/_PEAR/www";}

Damit nun die Scripts auch alle funktionieren, müssen beide Files existieren.

Ist .pearrc vorhanden, mach:

ln -s /root/.pearrc /usr/local/etc/pear.conf

Ist pear.conf vorhanden, mach:

ln -s /usr/local/etc/pear.conf /root/.pearrc

Gibt es irgend ein Problem mit der Config, hab ich mal das in einem Forum gefunden:

Nochmal zur Kontrolle, die 3 Befehle ausführen

Code:

pear -c /usr/local/etc/pear.conf config-get php_dir
pear -c /root/.pearrc config-get php_dir

Die beiden Befehl sollten „/www/server/SH_includes/_PEAR/PEAR“ ausgeben, da sie ja das selbe (symlinked) Configfile haben.  Ist es aus einem Grund nicht so, Symlink checken!

FrontEnd

Nun das Frontend für den Browser erreichbar machen.

pear install PEAR_Frontend_Web

Wenn man einen Fehler dieser Art erhält…

Failed to download pear/PEAR_Frontend_Web within preferred state "stable", latest release is version 0.7.5, stability "beta", use "channel://pear.php.net/PEAR_Frontend_Web-0.7.5" to install
install failed

muss man die BETA Version installieren:

pear install PEAR_Frontend_Web-beta

Nun haben wir im docs Verzeichnis HTML_Template_IT sowie PEAR_Frontend_Web drin.

Nun einfach das index File ins gewünschte Webdir kopieren.

cp /www/server/SH_includes/_PEAR/docs/PEAR_Frontend_Web/docs/index.php.txt /PEAR/index.php

Sowie das PearDir anpassen:

vi /PEAR/index.php
// $pear_dir must point to a valid PEAR install (=contains PEAR.php)
$pear_dir = '/www/server/SH_includes/_PEAR/share/pear'; // default of install

Nun einfach in einem Browser das index File öffnen. Das Frontend Web wird nun ready to use 🙂

Achtung – unbedingt darauf achten, dass das Frontend Web Passwort geschützt ist!

Installation Packages

Packages können entweder per Web Frontend oder übers Shell installiert werden. Um z.B. den pear install PHPUnit2-2.3.6 Befehl über die Shell ausführen zu können, muss man einfach wissen, wo sich der pear Befehl versteckt:

ll /www/server/SH_includes/_PEAR/bin

-rwxr-xr-x  1 root  www  874 May 14 17:35 pear*
-rwxr-xr-x  1 root  www  895 May 14 17:35 peardev*
-rwxr-xr-x  1 root  www  811 May 14 17:35 pecl*

Net_GeoIP

Package über das eigene Frontend http://pear.example.com/ suchen und installieren (einfach aufs grüne + klicken)

Oder normal über die Shell

# pear install Net_GeoIP

Installationsprotokoll:

WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
downloading Net_GeoIP-1.0.0RC2.tgz ...
Starting to download Net_GeoIP-1.0.0RC2.tgz (15,194 bytes)
..
...done: 15,194 bytes
install ok: channel://pear.php.net/Net_GeoIP-1.0.0RC2

Installation

The first order of business is to install all the required pieces. I’ll assume here that you have a working PHP and Apache installation, and so first direct you to the PEAR Net_GeoIP package. This package provides an object-oriented framework to retrieving geographical information from an IP address. You can install this package directly from the Web, either by downloading it or by using the instructions provided.

Once you’ve got that installed, the next step is to download and install the free MaxMind country database. This database contains an extensive list of IP address ranges mapped to countries, and provides the foundation for the geo-location code we’re going to write in the next section. The database is supplied only in binary format, and is required by the Net_GeoIP package.

Ensure that both the Net_GeoIP class files and the MaxMind binary database file are located under the Web server document root, and are readable by the Web server user.

Note:MaxMind provides both commercial and free versions of its databases, and each is subject to different license terms and usage restrictions. For our purposes, the free version is sufficient; however, if your application requires extremely precise geo-location, you should consider investing in one of the commercial solutions. Remember to read the license terms before using either version on your Web site to ensure you are in compliance.

Scripts

Dafür habe ich hier einen eigenen Abschnitt erstellt: Installation GeoIP

Quellen

  • *

    Du kannst diese HTML tags verwenden: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <s> <strike> <strong>

  • Kommentar-Feed für diesen Beitrag
nach oben