2024. április 25., csütörtök

Gyorskeresés

PHP telepítése Windows 7, 8-ra (Vista-ra is szerintem)

Írta: | Kulcsszavak: windows . php . iis . web platform

[ ÚJ BEJEGYZÉS ]

Nem, Apache-ot nem telepítünk. Pfuj.

Windows-on a web server szerepét az Internet Information Services (IIS) fogja betölteni, ami amellett, hogy rendelkezik egy normális grafikus kezelőkonzollal, remekül tudja futtatni a PHP-t Windows-on egy pár kattintásos telepítés után, sőt, akár több verziót is fenn tudunk tartani vele könnyen.

PHP telepítését semmi esetre sem kézzel fogjuk végezni, a Microsoft ehhez is ad nekünk nem kis segítség a Microsoft Web Platform Installer személyében, amivel PHP mellet IIS modulokat telepíthetünk (fogunk is), de van itt ASP.NET-hez cucc, alkalmazások is megtalálható, szóval minden, ami webfejlesztéshez kellhet.

Első lépésként telepítsük fel a WPI-t a fenti linkről, a picike exe-t simán futtassuk böngészőből, kis szöszmötölés után meg fog jelenni egy katalógus keresővel a jobb felső sarkában, beállításokkal a jobb alsó részén.

Először a beállítások fognak kelleni, itt megadjuk, hogy nem Express IIS-t akarunk használni, hanem rendeset.

Keresőbe véssük be a "php" kulcsszót, majd [enter]

Keressük meg az elérhető legújabb PHP verziót, és még két elemet:
PHP manager for IIS - WIndows 8/Server 2012-n nem fog megjelenni mert alapból IIS7-hez van (@CodePlex, mindenki az operációs rendszerének megfelelőt húzza le)
URL Rewrite 2.0

Ha megtaláltuk az egyik elemet, kattintsunk az Add gombra rögtön mellette a jobb szélen, bal alul láthatjuk, miket fog feltelepíteni a WPI.

Ha megtaláltunk mindent, [Install] jobbra lent. Vegyük észre, hogy IIS-t magát nem kellett piszkálnunk, a WPI függőségként behúzta magának a szükséges IIS feature-öket.

PHP manager for IIS-sel kapcsolatban kell még egy kiegészítés WIndows 8/Server 2012 kapcsán: ennek a modulnak szüksége van a .NET Framework 2.0-ra, ami a Vezérlőpulton keresztül tudunk felrakni a Windows szolgáltatáson ablakból a Programok hozzáadása/eltávolítása képernyőről kiindulva.
Telepítését mindenképp a WPI-vel való munka után tegyük meg, hiszen addig IIS-ünk sem lesz, ahová beépülhetne.

Ha lejött minden, és feltelepült, akkor keressük meg az IIS console-t a Start menüben, és indítsuk el (WPI bezárható).

Az IIS web site-okkal üzemel, a különböző alkalmazásokat mindet web site-ok alá kell beraknunk, minden site-nak megadhatjuk az alap mappáját, milyen porton figyeljen, milyen binding-okkal, illetve egy host nevet is meg kell adnunk a site név mellett. Alkalmazást úgy tudunk felvenni, hogy a site-on nyomunk egy jobb klikket, majd az Add application-t (alkalmazás hozzáadása) választjuk. Annyi a dolgunk, hogy adunk neki egy nevet (localhost/idekerülmajdaneve) a virtuális könyvtárnak, amiben futni fog, illetve ki kell neki választani egy AppPool-t (alkalmazáskészletet), amiben futni fog. AppPool-t létrehozhatunk magunk is, PHP mellé nem kell managed-t (felügyelt) code sem.

Ha mindent megcsináltunk, akkor van egy igen kiváló PHP telepítésünk. :) Nyilván IIS alatt nem fognak mennie a .htaccess fájlok (van erre is modul, hogy menjenek valamennyire, de ne fáradjon ezzel senki), IIS esetében ugyanis web.config XML fájlokkal kell mindent elintéznünk.

Ebben a kis firkálmányban nem tértem ki az IIS-sel kapcsolatban semmire, ha valakinek kérdése van, kérdezzen a topikban.

Hozzászólások

(#1) Peter Kiss


Peter Kiss
senior tag
LOGOUT blog

[ értesítő ]

(#2) Sk8erPeter


Sk8erPeter
nagyúr

Ahh, na végre, hogy valaki leírta! :K Én is akartam már ezzel kapcsolatos bejegyzést írni, hogy kicsit kilássanak az emberkék a Windows-ra is erőltetett Apache-mániájuk mögül, de eddig a lustaság győzött (vagy épp nem jutott eszembe). :D

Javaslat a cikkbővítésre:

- ha el akarjuk indítani az IIS Managert, akkor azt a leggyorsabban így tehetjük meg:
Win+R billentyűkombináció (ekvivalens a Start-Futtatás menüpontra kattintással) >
inetmgr
(legalábbis nekem így a leggyorsabb, bár a Start menü saját keresőjébe bepötyögve az "iis" karakterláncot, szintén kidobja egyből az Internet Information Services (IIS) Managert, SSD-n ez nyilván villámgyors; de érdekességként lehet, hogy érdemes megemlíteni az c:\windows\System32\inetsrv\InetMgr.exe-t)

- leírhatnád a legegyszerűbb módszert arra, ha valaki saját tesztdomaint akar localhoston, majd tetszőleges helyre akarja pakolni a weboldala fájljait (hogy ne ragaszkodjon már a c:\inetpub\wwwroot\ könyvtárhoz):
indítsunk egy Notepadet (vagy más szövegszerkesztőt) rendszergazdai jogokkal, majd nyissuk meg ezt a fájlt:
%systemroot%\System32\drivers\etc\hosts
tegyük bele pl. a következőt:
## Test site
127.0.0.1 test.local

innentől a test.local a localhost IP-címére mutat.
utána IIS Managerben kinyitva a fő csomópontot, a Sites csomóponton jobb klikk > Add Web Site

Site name: TESZT (ide akármi kerülhet, amilyen név tetszik)
Physical Path: D:\My_Web_Sites\test.local (a nekünk tetsző elérési út az adott weboldal fájljaihoz)
Host name: test.local

Innentől már rakhatjuk a test.local címen elérhető weboldal fájljait a D:\My_Web_Sites\test.local könyvtárba (csak szemléltető példa az elérési út és a név is, amúgy akármi lehet, ami nekünk tetszik).

- esetleg megemlíthetnéd, hogy nagyon egyszerű a Web Platform Installeren keresztül akár CMS-t (Drupal, WordPress, stb.) is egyből telepíteni, ami behúzza a függőségeket: PHP-t, MySQL-t, esetleg cache-kiterjesztéseket, stb., mert ez többeknek is jól jöhet, amire bizonyíték a Weblapkészítés topicban előforduló problémák sorozata a telepítés során (plusz ugye itt is mindenki feltétlenül erőlteti a WAMP-csomagokat).

- flame-ek elkerülése érdekében lehet, hogy érdemes megemlíteni, hogy mindenki döntse el, neki melyik a legkedvezőbb, akarja-e az éleshez hasonló környezetben tesztelni a weboldalát (akarja-e Windows-on is Apache-csal szopatni magát), mert az az általános ellenérv, hogy jujj, mi lesz, ha az éles szerveren Apache van, de valaki localhoston mégis IIS-sel tesztel, akkor biztos összeomlik a világ. :) (én így szoktam tesztelni, és még nem omlott eddig össze :DDD)

Cikkben javítandó helyesírási hiba:
"Server 2012-őn"
--> helyesen Server 2012-n (mivel nem "kétezer-tizenkettő-őn")

[ Szerkesztve ]

Sk8erPeter

(#3) Peter Kiss válasza Sk8erPeter (#2) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Azért bízok benne, hogy nem teljesen hülyék foglalkoznak a témával, aki pedig nem veszi a fáradságot arra, hogy felfedezze azokat a dolgokat, amelyeket megemlítettem, annak kiegészíthetném akárhogy ezt a kis firkálmányt, nem segítene rajta.

(#4) Sk8erPeter válasza Peter Kiss (#3) üzenetére


Sk8erPeter
nagyúr

Hát jó, végül is most a kommentben leírtam, úgyhogy nem kell kiegészíteni, ha valaki végiggörgeti az írásodat, akkor a végén úgyis egyből látja az én firkálmányomat is. :D

Egyébként meg azért javasoltam a kiegészítést, mert a kezdők általában azt kapják az arcukba, hogy használjanak mindenképp Apache-ot, többnyire az IIS meg sincs említve sajnos (épp ezért ideje ezen változtatni, ezért is örültem, hogy megírtad ezt a cikket), de az Apache+PHP+MySQL kombóhoz jó részletes leírásokat találnak mindenhol, míg az IIS+társairól kevésbé, így gondoltam nem árthat, ha a kezdők minél több infót kapnak, hogy megjöjjön a kedvük a dologhoz. A kezdő meg nem egyenlő a "teljesen hülyével" (hogy szavaiddal éljek), még ha ezek a dolgok egy csöppet sem triviálisak számára.
Mondjuk az igaz, hogy egy kezdő számára jóval nehezebb pl. Apache-nál egy VirtualHostot normálisan bekonfigolni, egy szöveges fájl, meg egy parancssoros felület segítségével, mint IIS Managerben pár másodperc alatt felhasználóbarát grafikus felületen összekattintgatni...

Sk8erPeter

(#5) ilyen_85 válasza Sk8erPeter (#4) üzenetére


ilyen_85
senior tag

hmm...

Érdekes, eddig az összes tanárom, s minden oktató videós előadó a wamp vagy mamp ajánlásával kezdi.

Milyen előnye van az IIS-nek? Miért érdemes inkább ezt használni mint a wampot?

(#6) Sk8erPeter válasza ilyen_85 (#5) üzenetére


Sk8erPeter
nagyúr

"Érdekes, eddig az összes tanárom, s minden oktató videós előadó a wamp vagy mamp ajánlásával kezdi."
Ismerve az általános oktatói színvonalat, ez annyira nem is meglepő, hogy szemellenzős ismereteket adnak át.
Egyik az, hogy az informatikával foglalkozó tanárok sajnos sokszor - tisztelet a kivételnek!! (hangsúlyozom, mielőtt félreértés lenne belőle) - túl lusták ahhoz, hogy képezzék magukat, vagy nyitottak legyenek másra is, mint amit megszoktak (meg ők is ezt látták a tutorialokban többször SAJNOS, meg hát "ááá, használjuk azt, amivel eddig nem volt probléma, nehogy a végén valami nehézséggel szembesüljek"), másik az, hogy Apache van Linuxra és Windows-ra is, az IIS nyilván nem túl meglepő módon Windows-on megy csak, harmadik az, hogy régen sok webalkalmazáshoz csak .htaccess-fájl volt mellékelve, web.config-ot egyedileg kellett konfigurálni hozzá, aztán lehetne még pár szempontot találni biztosan, de manapság ezek egyre kevésbé érdekesek, és főleg ismerethiányból következik, hogy kevésbé ajánlják az IIS-t.

"Milyen előnye van az IIS-nek? Miért érdemes inkább ezt használni mint a wampot?"
Olvastad Athlon64+ cikkét? Szerintem olvasd el még egyszer, abból megtudod.
Apache-ban például nyomorult szöveges fájlokat kell konfigurálni (elég sokat csináltam, utálom), IIS-ben jól átlátható grafikus felületet kapsz a beállításokhoz, kevesebb a hibázási lehetőség, kevésbé bonyolult egy sima újabb weboldal hozzáadása, meg ASP.NET-alkalmazást is hozzáadhatsz. Még egy csomó szempontot fel lehetne sorolni, de nem akarok hitvitát indítani.
Inkább megfordítanám a kérdést: localhoston, Windows-on milyen előnye van az Apache-nak? :)
Egyébként rakd fel a Web Platform Installert, és keress rá mondjuk a Drupalra (vagy ami tetszik), kattints rá, hogy telepíteni szeretnéd, behúzva a függőségeket, telepíteni fogja a PHP-t, MySQL-t, Windows Cache Extensiont, konfigolni fogja megfelelően az IIS-t, és egyebek. Azt hiszem, ez elég kényelmes és gyors...

Sk8erPeter

(#7) ilyen_85 válasza Sk8erPeter (#6) üzenetére


ilyen_85
senior tag

Igen olvastam a cikket, igazából azért bátorkodtam ezt így megkérdezni, mert wampon is megoldhatóak a dolgok csak kicsit máshogy.

Van most pár határidős feladatom, azok után előtúrom azt a leírást amivel kinyírtam teljesen az iis-t, mert befoglalta a 80-as portot és nem tudtam elindítani miatta a wampot :)

Szívesen hagynám ki a legújabb szóban forgó cms letöltését, kicsomagolását, bemásolását, majd telepíteni, s hasonló, ha az iis simán behúzná helyettem. Persze ez max 10 perc, de ennyivel is kevesebb lenne :)

Írhatnátok többet a témában, mert tényleg mindenki a wamp mamp xamp -ra van berendezkedve.

Szívesen olvasnék többet róla, vagy ha van valami normális külföldi fórum, egy linket szívesen elfogadnék ;)

Mostanában ráálltam a linda.com-os tutorialokra, csak gyakran az egész leragad egy termék promóció szintjén :S

(#8) Sk8erPeter válasza ilyen_85 (#7) üzenetére


Sk8erPeter
nagyúr

Én WAMP(P)-pal azt tapasztaltam, hogy gyengébben teljesít, mint az IIS+PHP+MySQL kombó, mármint konkrétan maga a Windows alatt futtatott Apache webszerver volt ebből a szűk keresztmetszet. Linux+Apache és Windows+IIS összevetés már egészen más eredményeket adna, mert Linuxon egyáltalán nem éreztem lassúnak az Apache-ot, sőt (ez a rész fontos, hogy ne tartson senki fanboy-nak, mert Linuxon tényleg nincs gond vele :D - nyilván azt leszámítva, hogy az Apache-hoz nem létezik normális grafikus felület). Hogy a lassulás konkrétan mitől tapasztalható Windows alatti Apache-csal, azt nem tudom, nem vizsgálódtam az ügyben, hiteles mérésekkel sem tudom ezt alátámasztani, egyszerűen ki kell próbálni egyszer egyiket a másik után, és érezni, hogy az IIS gyorsabb. :DDD

"Van most pár határidős feladatom, azok után előtúrom azt a leírást amivel kinyírtam teljesen az iis-t, mert befoglalta a 80-as portot és nem tudtam elindítani miatta a wampot :)"
Őő, hát ha mindkét webszerver a 80-as portot szeretné használni, az nyilván nem túl egészséges... :) Egymás mellett természetesen csak úgy tudsz futtatni különböző webszervereket, ha különböző portokat használnak. (Az alapértelmezett persze a 80-as port.)

"Szívesen hagynám ki a legújabb szóban forgó cms letöltését, kicsomagolását, bemásolását, majd telepíteni, s hasonló, ha az iis simán behúzná helyettem. Persze ez max 10 perc, de ennyivel is kevesebb lenne :)"
Ja, elvileg meg is csinálja, bár most nekem most újból kipróbálva az Acquia Drupal 7 csomag telepítése után érdekes hibák voltak, például bizonyos táblákat nem hozott létre automatikusan, emiatt exceptionöket kaptam, pedig elvileg automatikusan létre kell jönniük a tábláknak a telepítéskor... :D
Remélem, Te több sikerrel jársz.
Korábban nem volt hiba, meglepő, hogy most valami elkúródott.
Ettől függetlenül az tény, hogy behúzza az összes függőséget, ami kell az adott CMS futtatásához, amit Web Platform Installeren keresztül lehet telepíteni.

"Írhatnátok többet a témában, mert tényleg mindenki a wamp mamp xamp -ra van berendezkedve.
Szívesen olvasnék többet róla, vagy ha van valami normális külföldi fórum, egy linket szívesen elfogadnék ;)"

Tulajdonképpen miről szeretnél még olvasni? A lényeg a blogpostban, meg a korábbi kommentekben igazából már elhangzott, amit IIS+MySQL+PHP összehozásához tudni kell. :) (Pl. kezdőknek ez még pluszban kellhet a blogposthoz: http://prohardver.hu/tema/re_athlon64_php_telepitese_windows_7_8-ra_vista-r/hsz_2-2.html)

"Mostanában ráálltam a linda.com-os tutorialokra, csak gyakran az egész leragad egy termék promóció szintjén :S"
A Lynda.com-os videókat erős fenntartással kezeld, mert mint nemrég kiderült, nyomokban baromságokat tartalmaznak:
http://prohardver.hu/tema/javascript_topic/hsz_3785-3788.html

[ Szerkesztve ]

Sk8erPeter

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.