Ez a fejezet az IIS (Microsoft Internet Information Server) szerverekre
vonatkozó PHP telepítési útmutatókat tartalmazza.
WarningHa a PHP-t CGI
felületen dolgoztatod, ez a szervereden bizonyos támadási
felületeket nyit. Kérlek, olvasd el
CGI biztonság fejezetünket,
hogy megtudd, hogy tudod megvédeni magad ezen támadásokkal
szemben.
Windows NT/200x/XP és IIS 4 vagy újabb
A PHP kétféle módon telepíthető, CGI binárisként és ISAPI
modulként.
Mindkét esetben el kell indítanod a Microsoft Management
Console programot (lehet 'Internet Services Manager', a
Windows NT 4.0 Option Pack ágban vagy a Control
Panel=>Administrative Tools-ban Windows 2000/XP alatt).
Majd jobbklikk a Web szerver csomópontra (ami valószínűleg
'Default Web Server'-ként jelenik meg), majd válaszd ki a
'Properties' menüpontot.
Ha a CGI binárist szeretnéd használni, akkor:
-
A 'Home Directory', 'Virtual Directory', vagy
'Directory' alatt végezd el a következőket:
-
A Execute Permissions-t (Futtatási jogosultság) állítsd
'Scipts only'-ra ('Csak szkriptek')
-
Klikkelj a 'Configuration' gombra, majd válaszd ki az
Application Mappings fület. Kattints az Add-ra, majd az
Executable path-ot állítsd be a megfelelő CGI fájlra.
Egy példa PHP 5 esetén: C:\php\php-cgi.exe.
Kiterjesztésként .php -t adj meg. A 'Method
exclusions' mezőt hagyd üresen, és jelüld be a 'Script engine'
négyzetet. Ezután nyomj OK-t néhányszor.
-
Állíts be megfelelő védelmet. Ez az Internet Service Manager-ben
megvan, és ha az NT szervered NTFS fájlrendszert használ,
adj futtatási jogot I_USR_ számára ara a könyvtárra ahol a
php.exe / php-cgi.exe
található.
Ha ISAPI modulként akarod használni, akkor:
-
Ha nem szeretnél PHP segítségével HTTP Autentikáviót végezni,
hagyd ki ezt a lépést. Az ISAPI Filters alatt, hozz létre
egy új ISAPI filtert. A filter neve legyen PHP, majd add meg a
php4isapi.dll / php5isapi.dll
fájl útvonalát.
-
A 'Home Directory', 'Virtual Directory', vagy 'Directory' alatt
végezd el a következőket:
-
A Execute Permissions-t (Futtatási jogosultság) állítsd
'Scipts only'-ra ('Csak szkriptek')
-
Klikkelj a 'Configuration' gombra, majd válaszd ki az
Application Mappings fület. Kattints az Add-ra, majd az
Executable path-ot állítsd be a megfelelő ISAPI DLL-re.
Egy példa PHP 5 esetén: C:\php\php5isapi.dll.
Kiterjesztésként .php -t adj meg. A 'Method
exclusions' mezőt hagyd üresen, és jelüld be a 'Script engine'
négyzetet. Ezután nyomj OK-t néhányszor.
-
Állítsd le teljesen az IIS-t (NET STOP iisadmin)
-
Indítsd el újra az IIS-t (NET START w3svc)
IIS 6 esetén (2003 Server), nyisd meg az IIS Manager-t, menj a
Web Service Extensions-be, válaszd az "Add a new Web service
extension"-t, írj be egy nevet, mint például PHP, válaszd az
Add gombot és keresd meg vagy az ISAPI fájlt
(php4isapi.dll vagy
php5isapi.dll)
vagy pedig a CGI-t (php.exe vagy
php-cgi.exe), majd jelöld be a
"Set extension status to Allowed"-et, végül OK.
Ahhoz, hogy az index.php-t használja
alapértelmezett oldalként, a következőket kell tenned:
A Documents fülön, válaszd az Add gombot. Írd be:
index.php majd OK. Állítsd a sorrendet
a Move Up és Move Down gombokkal. Ez hasonló az Apache
DirectoryIndex beállításával.
A fenti lépéseket minden olyan kiterjesztésre hajtsd végre,
amelyet a PHP szkriptekhez szeretnél rendelni. A
.php a legeltejedtebb, bár egyes régi
programok esetén szükséges lehet a .php3.
Ha egy idő után 100%-os CPU kihasználtságot észlelsz, kapcsold ki
a Cache ISAPI Application IIS beállítást.
Windows és PWS/IIS 3
Ezen szervereken a konfigurálás a disztribúciókban szereplő REG fájlok
segítségével javasolt (PHP 4 esetén a SAPI könyvtáran szereplő
pws-php4cgi.reg, PHP 5 esetén pedig a főkönyvtárban
szereplő pws-php5cgi.reg).
Szerkeszd ezt a fájlt, bizonyosodj meg arról, hogy a kiterjesztések
és a PHP könyvtár megfelel a konfigurációnak, vagy kövesd az alábbi
lépéseket, hogy elkészítsd ezt saját kezűleg.
Warning
Az alábbi lépések a windows registry-ben való
közvetlen szerkesztést igénylik. Egyetlen hiba
használhatatlanná teheti a rendszeredet! Mindenképpen
készíts egy biztonsági másolatot, mielőtt bármi mást
tennél. A PHP fejlesztői csapata nem tehető felelőssé, ha
kárt teszel a registry-ben!
-
Indítsd el a Regedit-et.
-
Keresd meg a HKEY_LOCAL_MACHINE /System
/CurrentControlSet /Services /W3Svc /Parameters
/ScriptMap kulcsot.
-
Az Edit menüben válaszd ki a New->String Value
menüpontot.
-
Írd be a fájl kiterjesztést, amit használni szeretnél, pl.
.php
-
Klikkelj kétszer az új értékre és írd be a
php.exe elérési útját,
PHP 4 esetén például C:\php\php.exe "%s" %s,
PHP 5 esetén pedig C:\php\php-cgi.exe "%s" %s.
-
Ismételd ezeket a lépéseket az összes kiterjesztésre,
amit PHP szkripthez szeretnél használni.
A következő lépések nem befolyásolják a web szerver üzembehelyezését,
és csak akkor van rá szükség, ha a php szkriptjeidet parancssorból is
szeretnéd futtatni (pl. c:\myscripts\test.php) -
vagy a fájlkezelőben duplakattintásra elindítani azokat. Ugord át ezeket
a lépéseket, ha azt akarod, hogy duplakattintásra inkább a
szövegszerkesztődbe töltődjenek be a PHP szkriptek.
-
Keresd meg a: HKEY_CLASSES_ROOT kulcsot.
-
Az Edit menüben válaszd a New->Key menüpontot.
-
Nevezd el az új kulcsot az előzőekben megadott kiterjesztés
nevére, pl. .php
-
Válaszd ki az új kulcsot, aztán a jobb oldalon kattints kétszer
a "default value" soron, és írd be, hogy phpfile.
-
Ismételd az utóbbi lépést az összes kiterjesztésre,
amit az előző részben beállítottál.
-
Most hozz létre ismét egy új kulcsot (New->Key) a
HKEY_CLASSES_ROOT alatt, és nevezd el
phpfile-ra.
-
Válaszd ki az új phpfile kulcsot, aztán a
jobb oldalon kattints kétszer a "default value" sorra,
és írd be, hogy PHP Script.
-
Kattints jobb gombbal a phpfile kulcsra és válaszd ki a
New->Key menüpontot. Nevezd az új kulcsot
Shell-nek.
-
Kattints jobb gombbal a Shell kulcsra és válaszd ki a
New->Key menüpontot. Nevezd az új kulcsot
open-nek.
-
Kattints jobb gombbal az open kulcsra és válaszd ki a
New->Key menüpontot. Nevezd az új kulcsot
command-nak.
-
Válaszd ki az új command kulcsot, aztán a
jobb oldalon kattints kétszer a "default value" soron, és
írd be a php.exe elérési útját, pl.
c:\php\php.exe -q %1. Ne felejtsd el a
%1-et!
-
Lépj ki a Regedit-ből.
-
Ha Windows alatt PWS szervert használsz, indítsd újra
a gépet, hogy újratöltse a rendszer a registry-t.
PWS és IIS 3 használók így már rendelkeznek
egy teljesen funkcionális rendszerrel. IIS 3 használóknak
ajánlható Steven Genusa ötletes script map » konfiguráló eszköze.