Telepítés Unix rendszerre
Table of Contents
- Apache 2.0 Unix rendszereken
- Caudium
- fhttpd megjegyzések
- Sun, iPlanet and Netscape servers on Sun Solaris
- CGI és parancssori verzió
- Telepítés HP-UX rendszerre
- Telepítés OpenBSD rendszerre
- Telepítés Solaris rendszerre
- Telepítés Gentoo 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.
Example#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:
Example#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.
Example#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.
Note: Az Apache alapértelmezett httpd.conf fájlja jelenleg egy hasonló részt tartalmaz:
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.User nobody Group "#-1"
Note: 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.