Helyi PEAR másolat telepítése egy shared host-on

Sok felhasználó rendelkezik olyan shared hosting szolgáltatóval, amely hozzáférést biztosít a rendszerén telepített PEAR verzióhoz. Ugyanakkor sok esetben érdemes egy helyi PEAR másolatot fenntartanunk, amit azokhoz a csomagokhoz használunk, melyek nincsenek telepítve a szolgáltatónál. Ezt több különböző módon is megtehetjük, telnet/ssh hozzáféréssel, vagy akár egy egyszerű ftp hozzáféréssel is.

A PEAR helyi másolatának telepítése SSH-n keresztül

A PEAR SSH-n keresztül történő telepítéséhez a következő parancssort használhatjuk:

PEAR 1.3.5 és korábbi verziók

$ 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+

$ pear config-create /home/user/pear .pearrc
      

Ezzel létrejön egy helyi konfigurációs fájl a home könyvtárunkban .pearrc néven.

Ezt követően ha hozzáadjuk a ~/pear/bin könyvtárat az elérési úthoz (első bejegyzésként a .bashrc-ben, vagy ami a startup fájl), és lefuttatjuk a következő parancssort:

PEAR 1.3.2 és korábbi verziók

$ pear -c ~/.pearrc install Archive_Tar PEAR Console_Getopt XML_RPC
      

PEAR 1.3.3+

$ pear install -o PEAR
      

Ezáltal létrejön egy könyvtárszerkezet a home könyvtárunkban lévő pear alkönyvtár alapján, a telepítendő csomagok tárolására. Így rendelkezni fogunk a PEAR egy helyi másolatával, ami hatástalanítja a rendszeren lévő másolatot. Az újonnan telepített fájlok használatához hozzá kell adni a PHP include_path direktívájához az új elérési utat, amit megtehetünk kódból:

<?php
ini_set('include_path', '~/pear/lib' . PATH_SEPARATOR . ini_get('include_path'));
?>

vagy, az apache .htaccess fájljában a php_value direktíva használatával.

A PEAR egy helyi másolatának telepítése FTP protokollon keresztül

Kétféle módszer létezik a PEAR helyi másolatának telepítésére FTP protokollon keresztül: a régi, nehéz mód, és az új, könnyű mód. Az új mód igénybevételéhez a PEAR legújabb változatára történő előzetes frissítésre van szükség.

Új, továbbfejlesztett módszer a PEAR 1.4.0 és a Net_FTP csomagok használatával

A PEAR egy helyi példányának telepítése FTP protokollon keresztül a PEAR 1.4.0+ verziójától kezdve nagyon leegyszerűsödött.

Sok felhasználó ütközött problémába a PEAR telepítése során távoli kiszolgálók esetében, amelyeken nem rendelkeznek parancssori hozzáféréssel. Gyakran az egyetlen lehetőségük az FTP használata volt, de ez nem hatékony megoldás olyan összetett csomagok esetében, amelyek a telepítő különböző funkcióit kihasználják (például a sztringcseréket).

A szükséges lépések a helyes távoli telepítéshez:

  1. Győződjünk meg róla, hogy rendelkezünk működő parancssori PEAR telepítővel számítógépünkön (a "pear" parancs, nem a webes felület).

  2. Győződjünk meg róla, hogy rendelkezünk FTP hozzáféréssel a távoli szerveren, és írási jogosultsággal FTP-n keresztül.

  3. Jegyezzük fel a teljes elérési utat a home könyvtárunkhoz a távoli szerveren

  4. Hozzunk létre egy testreszabott konfigurációs fájlt mind a helyi, mind a távoli kiszolgálónak

  5. Töltsük fel a távoli konfigurációs fájlt a távoli szerverre

  6. A helyi konfigurációs fájlt felhasználva állítsuk be a remote_config értéket a távoli szerveren található konfigurációs fájl helyére

  7. Telepítsünk csomagokat tetszés szerint!

1. Győződjünk meg róla, hogy rendelkezünk működő parancssori PEAR telepítővel számítógépünkön (a "pear" parancs, nem a webes felület).

Olvassuk el a telepítési útmutatót.

2. Győződjünk meg róla, hogy rendelkezünk FTP hozzáféréssel a távoli szerveren, és írási jogosultsággal FTP-n keresztül.

Ez nagyon egyszerű - amennyiben be tudunk jelentkezni a távoli szerverre az FTP parancs használatával DOS parancssorból vagy UNIX shellből, rendelkezünk FTP hozzáféréssel. SFTP hozzáférés egyelőre nem támogatott, de amint a Net_FTP csomag támogatni fogja, elérhető lesz.

Jegyezzük fel a bejelentkezéshez használt felhasználói nevet és jelszót.

Az írási jogosultság tesztelése egyszerű. Ha tudunk fájlt feltölteni, van írási jogosultságunk.

3. Jegyezzük fel a teljes elérési utat a home könyvtárunkhoz a távoli szerveren

Ez is nagyon egyszerű. Megállapításához töltsük fel a következő szkriptet a könyvtárunkba:

<?php
    echo dirname(__FILE__);
?>

Valószínűleg a következőhöz hasonló eredményt kapunk: /home/username/htdocs. Ha bejelentkezünk FTP-n keresztül és be tudunk lépni a /home/username könyvtárba, jó úton járunk.

4. Hozzunk létre egy testreszabott konfigurációs fájlt mind a helyi, mind a távoli kiszolgálónak

A következőképpen tehetjük meg Windows és UNIX alatt:

Windows:

Válasszunk egy helyet a helyi számítógépen a távoli kód tárolására. Például C:\remote\pear. Parancssorból (Start menü => Kellékek => Parancssor) hívjuk meg a következőket:

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

Unix alatt is hasonlóképpen járjunk el:

$ cd
$ mkdir remote
$ cd remote
$ mkdir pear
$ cd pear
$ pear config-create /home/mylocaluser remote.conf
$ pear config-create /home/username/pear .pearrc

5. Töltsük fel a távoli konfigurációs fájlt a távoli szerverre

Mindkét operációs rendszerben használjunk egy FTP programot a .pearrc fájl feltöltésére /home/username/pear/.pearrc néven.

6. A helyi konfigurációs fájlt felhasználva állítsuk be a remote_config értéket a távoli szerveren található konfigurációs fájl helyére

Windows:

C:\remote\pear\> pear -c remote.ini config-set remote_config ftp://user:pass@myremotehost.com/.pearrc

Unix:

$ pear -c remote.conf config-set remote_config ftp://user:pass@myremotehost.com/.pearrc

7. Telepítsünk csomagokat tetszés szerint!

Ettől kezdve használhatjuk a pear parancsot a szokásos módon, amely automatikusan szinkronizálni fogja a helyi és a távoli fájlokat.

Hogyan működik?

Egyszerű. A telepítő feltelepíti a csomagot helyileg, aztán a Net_FTP csomag használatával minden helyileg telepített fájlt feltölt a megfelelő helyre a távoli szerveren. Minden parancs, ami érinti a telepítést (install, upgrade és az upgrade-all is) használható ezzel a módszerrel. A "remote_config" opció mondja meg a telepítőnek hogy automatikusan tükröznie kell a helyi másolatot a távoli szerverre.

Még izgalmasabb, hogy a távoli konfigurációs fájl kerül használatra sztringcserék elvégzésekor. Magyarul, ha egy fájlnak szüksége van az adatfájlok útvonalára a data_dir konfigurációs direktíván keresztül, akkor a távoli szerver elérési útját fogja megkapni (/home/username/pear/data) a helyi másolat útvonala helyett ( C:\remote\pear\data). Ennek egy mellékhatása van: a helyi másolat nem fog működni a helyi gépen, de ha egy biztonsági mentésként gondolunk rá, akkor hasznosnak fogjuk találni (vészhelyetben bármikor feltölthetjük a könyvtár egész tartalmát a távoli szerverre hagyományos FTP vagy SCP használatával).

Fontos megjegyezni, hogy néhány csomag eltérően települ Windows és Unix alatt. Egy ilyen telepítés előtt győződjünk meg róla, hogy a telepíteni kívánt csomag esetében ez nem így van, vagy használjunk megegyező operációs rendszereket a helyi és a távoli számítógépeken.

A hagyományos módszer a PEAR egy helyi másolatának telepítésére FTP-n keresztül

A PEAR helyi másolatának ftp-n keresztül történő telepítésére szükségünk van egy jogosultságokat beállítani képes FTP kliensre. Elsőként hozzunk létre egy könyvtárat, ami NEM a publikusan elérhető webtárhelyen van, és adjunk neki egy nevet. Állítsuk be minden felhasználó által olvashatóra és írhatóra (0777 jogosultságok), ezt követően töltsük le a http://go-pear.org/ egy másolatát, és mentsünk el go-pear.php néven. Töltsük fel egy alkönyvtárba a publikusan elérhető webtárhelyen. Ajánlott a könyvtárat jelszóvédetté tenni egy .htaccess fájl segítségével.

Ezután jelenítsük meg böngészőnkben a feltöltött go-pear.php fájlt. Ha webcímünk http://www.example.com/, a go-pear.php-t a public_html/install/go-pear.php elérési úton helyeztük el, és a http://www.example.com/ a public_html/ könyvtárra mutat, akkor böngészőnkben a http://www.example.com/install/go-pear.php -t jelenítsük meg. Kövessük a telepítési utasításokat. Amikor a telepítő megkérdezi, hogy hova szeretnénk telepíteni a PEAR-t, válasszuk azt a könyvtárat, amelyet létrehoztunk és olvashatóvá-írhatóvá tettünk minden felhasználó számára. Szükséges továbbá a PHP cli verziójának elérési útjának ismerete. Ennek felderítéséhez a következő szkriptet használhatjuk:

<?php
echo `which php`;
// if this does not work, also try echo PHP_BIN;
?>

Miután a PEAR telepítésre került, ugyanúgy használhatjuk a web installert csomagok telepítéséhez és frissítéséhez mint bármilyen más PEAR telepítés esetén tennénk. Az újonnan telepített fájlok használatához az új elérési utat hozzá kell adni a PHP include_path-jához.

<?php
ini_set('include_path', '~/pear/lib' . PATH_SEPARATOR . ini_get('include_path'));
?>