PHP kézikönyv
Előző |  | Következő

# 4. Fejezet. Telepítés Unix rendszerre

Ez a fejezet bemutatja, hogy miként kell feltelepíteni és beállítani a PHP-t Unix rendszeren. Mielőtt elkezded a telepítést, nézd meg a rendszerednek ás szerverednek megfelelő fejezetet is!

Mint ahogy azt kézikönyvünk az Általános telepítési szempontok című részben felvázolta, ebben a részben legfőképpen a web-centrikus telepítésekkel foglalkozunk, bár a PHP parancssori használatának telepítését is tárgyaljuk.

Számos módja van a PHP telepítésének a Unix rendszereken, vagy egy fordítási és konfigurálási eljárással, vagy különböző előre-csomagolt megoldások használatával. Ez a dokumentáció legfőképpen a fordítási és konfigurálási folyamatokra fekteti a hangsúlyt. Sok Unix-féle rendszernek van valamilyen telepítőrendszere. Ez segít feltelepíteni egy általános konfigurációt, de ha különböző szolgáltatáskészleteket szeretnél (mint például egy biztonságos szerver, vagy különböző adatbázis-meghajtók), magad kell fordítanod a PHP és/vagy a webszervert. Ha nem vagy jártas saját szoftver fordításában, jobb, ha utánanézel, hogy valaki már lefordított-e egy olyan PHP csomagot, amilyet szeretnél.

A fordításhoz nélkülözhetetlen előismeretek és szoftverek:

- Alapvető Unix ismeretek ("make" és a C fordító használata)

- Egy ANSI C fordító

- flex: 2.5.4-es verzió

- bison: 1.28-as (ajánlott), 1.35-ös, vagy 1.75-ös verzió

- A web server

- Bármilyen modul által igényelt elem (mint például a gd vagy pdf könyvtárak, stb.)

Az alapvető konfigurálási folyamatot a configure számára átadott parancssori paraméterek szabályozzák. A ./configure --help paranccsal kérhetsz egy listát a rendelkezésreálló opciókról, rövid magyarázatokkal. Ez a kézikönyv külön tárgyalja a különböző opciókat. Az alapvető opciókat a függelékben találod, a különböző kiterjesztés-specifikus opciók pedig a referencia oldalakon vannak leírva.

Amikor a PHP konfigurálása megtörtént, elkezdheted létrehozni a modulokat és/vagy a végrehajtható állományokat. A make parancs ezt el kell tudja intézni. Ha hiba lép fel, és nem tudod elképzelni, hogy miért, olvasd el a problémákról szóló részt.

# Apache 1.3.x Unix rendszereken

Ez a rész a PHP Apache-hoz történő telepítéséhez tartalmaz megjegyzéseket és javaslatokat Unix rendszerek esetén. Az Apache 2-höz tartozó útbaigazítások és javaslatok külön oldalon találhatóak.

A 10. sorban a configure-nak átadandó argumentumokat a az alapvető konfigurációs beállítások listájából valamint a kiterjesztésekhez tartozó beállításokat a kézikönyv megfelelő részeiből válogathatod ki. A verziószámokat itt elhanyagoltuk, hogy bizonyosak legyünk abban, hogy az utasítások nem helytelenek. Az 'xxx' helyébe a fájlok neveiből származó megfelelő értékeket kell majd behelyettesítened.

Példa 4-1. Telepítési parancsok (Apache osztott modul verzió) PHP-hez
    1.  gunzip apache_xxx.tar.gz
    2.  tar -xvf apache_xxx.tar
    3.  gunzip php-xxx.tar.gz
    4.  tar -xvf php-xxx.tar
    5.  cd apache_xxx
    6.  ./configure --prefix=/www --enable-module=so
    7.  make
    8.  make install
    9.  cd ../php-xxx

    10. Itt konfigurálnod kell a PHP-t. Itt kell testreszabnod a PHP-t
        különféle opciókkal, mint pl. milyen kiterjesztések legyenek
        bekapcsolva. Hajts végre egy ./configure --help parancsot, hogy
        megkapd a használható opciók listáját. Példánkban egy egyszerű
        konfigurációt készítünk Apache 1 és MySQL támogatással.
        Az apxs űtvonala különbözhet a példában szereplőtől.

          ./configure --with-mysql --with-apxs=/www/bin/apxs

    11. make
    12. make install

        Ha a configure opciókat telepítés után szeretnéd megváltoztatni,
        csak az utolsó három parancsot kell újra kiadnod. Az új modul
        betöltéséhez, csak újra kell indítanod az Apache-t. Az Apache
        újrafordítása nem szükséges.

        Figyelj arra, hogy alapesetben a 'make install' a PEAR-t,
        különböző PHP eszközöket, mint pl. phpize, a PHP CLI-t és egyebeket
        is telepít.

    13. A php.ini állomány beállítása:

          cp php.ini-dist /usr/local/lib/php.ini

        PHP opciók beállításához szerkeszd az .ini fájlt. Ha szeretnéd a
        php.ini-t máshova tenni, a 10. lépésben használd a
        --with-config-file-path=/ut/vonal

        Ha a php.ini-recommended fájlt választod, ne felejtsd el elolvasni
        a változtatások listáját, mivel az befolyásolhatja a PHP működését.

    14. Módosítsd a httpd.conf állommányt úgy, hogy a PHP modult töltse be.
        A LoadModule jobb oldalán szereplő útvonal a rendszereden lévő
        PHP modul útvonala kell legyen. A fenti make install parancs már
        el kellett végezze ezt helyetted, de jobb ha megbizonyosodsz róla.

        PHP 4 esetén:

          LoadModule php4_module libexec/libphp4.so

        PHP 5 esetén:

          LoadModule php5_module libexec/libphp5.so

    15. A httpd.conf AddModule részében, valahol a ClearModuleList alá
        tedd be ezt:

        PHP 4 esetén:

          AddModule mod_php4.c

        PHP 5 esetén:

          AddModule mod_php5.c

    16. Meg kell mondani az Apache-nak, hogy bizonyos kiterjesztéssel
        rendelkező fájlokat a PHP-vel szerint értelmezzen. Például
        mondjuk meg az Apache-nak, hogy a .php fájlokat PHP-vel
        interpretálja. Több kiterjesztést úgy adhatsz meg, hogy
        egyszerűen szóközzel választod el őket. Példaképpen itt még
        a .phtml-t adjuk meg.

          AddType application/x-httpd-php .php .phtml

        Elég népszerű, hogy a .phps kiterjesztést úgy állítják be, hogy
        a színezett PHP-t mutassa, ez így érhető el:

          AddType application/x-httpd-php-source .phps

    17. Használd a normális eljárást az Apache szerver elindítására. (Le kell
        állítanod, majd elindítanod, nem elegendő a szerver újratöltése
        HUP vagy USR1 szignállal.)

A PHP-t statikus objektumként is telepítheted:

Példa 4-2. Telepítési parancsok (Apache statikus modul verzió) PHP-hez
    1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
    2.  cd apache_1.3.x
    3.  ./configure
    4.  cd ..

    5.  gunzip -c php-4.x.y.tar.gz | tar xf -
    6.  cd php-4.x.y
    7.  ./configure --with-mysql --with-apache=../apache_1.3.x
    8.  make
    9.  make install

    10. cd ../apache_1.3.x

    11. ./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a
        (Mindamellett, hogy ezen a ponton a libphp4.a nem létezik, a fenti sor
        helyes. Nem is kell léteznie, létre lesz hozva.)

    12. make
        (most kell rendelkezzél egy httpd binárissal, amelyet az Apache bin
        könyvtárába másolhatsz, ha ez az első telepítésed, majd a "make install"
        parancsot is ki kell adnod)

    13. cd ../php-4.x.y
    14. cp php.ini-dist /usr/local/lib/php.ini

    15. Szerkeszd a /usr/local/lib/php.ini állományt a PHP opciók beállításához.
        Szerkeszd a httpd.conf vagy a srm.conf állományt és add hozzá ezt a sort:
        AddType application/x-httpd-php .php

Az Apache telepítéstől és a Unix változattól függően, több módon lehet a szervert leállítani vagy újraindítani. Az alábbiakban felsorolunk néhány a tipikus sorokat amelyeket különböző apache/unix konfigurációkon szerver-újraindításra használnak. Az /útvonal/ helyébe helyettesítsd a megfelelő alkalmazás útvonalát.

Példa 4-3. Példa-utasítások az Apache újraindításához
    1. Számos Linux és SysV variáns:
    /etc/rc.d/init.d/httpd restart

    2. Az apachectl szkriptek használata:
    /útvonal/apachectl stop
    /útvonal/apachectl start

    3. A httpdctl és a httpsdctl (OpenSSL használata
       esetén), hasonlóan az apachectl-hez:
    /útvonal/httpsdctl stop
    /útvonal/httpsdctl start

    4. mod_ssl vagy más SSL szerver használata esetén,
       kézzel kell leállítani és elindítani:
    /útvonal/apachectl stop
    /útvonal/apachectl startssl

Az apachectl és a http(s)dctl helyen gyakran változik. Ha van a rendszeredben locate, whereis vagy which parancs, ezek segíthetnek megtalálni a szervervezérlő programokat.

Itt egy másik példa a PHP Apache-hoz való fordítására:

    ./configure --with-apxs --with-pgsql

Ez létrehozza a `libphp4.so` osztott könyvtárat ami az Apache-ba töltödik be a `httpd.conf` LoadModule sora által A PostgreSQL támogatás bele van építve ebbe a `libphp4.so` fájlba. library.

    ./configure --with-apxs --with-pgsql=shared

Ez létrehoz egy `libphp4.so` osztott könyvtárat az Apache számára, de egy `pgsql.so` osztott könyvtérat is készít, amely a PHP-be a `php.ini` extension direktívája által vagy a szkriptben szereplő dl() függvénnyel kerül betöltésre.

    ./configure --with-apache=/útvonal/apache_source --with-pgsql

Ez létrehoz egy `libmodphp4.a` könyvtárat, egy `mod_php4.c`-t és néhány velejáró fájlt és bemásolja ezeket az Apache forrásfájának src/modules/php4 könyvtárába. Ezután lefordítod az Apache-t --activate-module=src/modules/php4/libphp4.a opcióval, majd az Apache fordító rendszere létrehozza a `libphp4.a`-t, majd statikusan belinkeli a `httpd` binárisba. A PostgreSQL támogatás közvetlenül ebben a `httpd` binárisban van benne, így a végeredmény egy egyedüli `httpd` bináris, ami tartalmazza az egész Apache-t és az egész PHP-t.

    ./configure --with-apache=/útvonal/apache_source --with-pgsql=shared

Ez hasonló az előzővel, kivéve, hogy a PostgreSQL-t nem építjük közvetlenül bele a végső `httpd`-be, hanem készítünk egy `pgsql.so` osztott könyvtárat, amit betölthetsz a PHP-be `php.ini`-ből, vagy a dl() függvénnyel.

Amikor a PHP különféle fordítási módjai közül választasz, figyelembe kell venned a különböző módszerek előnyeit és hátrányait. Ha osztott fájlt hozol létre, az Apache-t külön fordíthatod, és nem kell mindent újrafordítanod, ha valamit hozzá akarsz adni, vagy módosítani a PHP-ben. Ha a PHP az Apache-ba építed be, azt jelenti, hogy a PHP gyorsan töltődik be és gyorsan fut. További információkért lásd az Apache DSO támogatásról szóló weboldalát.

> Megjegyzés: Az Apache alapértelmezett `httpd.conf` fájlja jelenleg egy hasonló részt tartalmaz:

>     User nobody
>     Group "#-1"

> Amíg nem változtatod meg "Group nogroup"-ra vagy valami hasonlóra (a "Group daemon" elég általános) a PHP nem fog tudni fájlokat megnyitni.

> Megjegyzés: Győződj meg róla, hogy az Apache-nak a telepített verzióját adod meg a --with-apxs=/útvonal/apxs opcióban. NE használd a apache forráskódban szereplű apxs verziót, hanem azt, amelyik ténylegesen telepítve van a rendszeredre.

Előző | Tartalom | Következő
Általános telepítési szempontok | Fel | Apache 2.0 Unix rendszereken