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 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.
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.
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:
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).
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.
Jegyezzük fel a teljes elérési utat a home könyvtárunkhoz a távoli szerveren
Hozzunk létre egy testreszabott konfigurációs fájlt mind a helyi, mind a távoli kiszolgálónak
Töltsük fel a távoli konfigurációs fájlt a távoli szerverre
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
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 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'));
?> |