Instalace Apache 2.2, PHP 5.2 a MySQL 5.1 na Windows Vista

Instalace Apache 2.2, PHP 5.2 a MySQL 5.1 na Windows VistaV životě by mě nenapadlo, jak bude složité nainstalovat Apache, PHP a MySQL pro vývoj na Windows Vista. O instalaci na Windows XP a starší jsem psal dříve – Instalace Apache, PHP a MySQL. Za tyto komplikace mohou nová bezpečnostní opatření ve Windows Vista. Řešení je poměrně krkolomné, neobejdete se totiž pouze s automatickou instalací přes instalátor. Hlavní ale je, že to konečně funguje. Jako alternativu můžete použít triády – XAMPP, WAMP nebo Apache2Triad.

Ze všeho nejdříve je potřeba stáhnout potřebné soubory

Vytvořte si adresářovou strukturu (doporučená)

  • Apache – c:\dev\prog\apache2
  • PHP – c:\dev\prog\php5
  • MySQL – c:\dev\prog\mysql5
  • Adresář pro www stránky – c:\dev\www

Začneme instalací Apache

  • Odinstalujte všechny předchozí verze webového serveru Apache (Start->Ovládací panely->Programy-Odinstalovat program)
  • Vypněte firewall (Start->Ovládací panely->Zabezpečení->Zapnout nebo vypnout bránu firewall systému Windows)
  • Vypněte UAC neboli Řízení uživatelských účtů (Start->Ovládací panely->Uživatelské účty a zabezpečení rodiny->Uživatelské účty->Zapnout nebo vypnout nástroj Řízení uživatelských účtů)
  • Spusťte příkazový řádek jako správce (Start->Všechny programy->Příslušenství->Příkazový řádek/kliknout na něj pravým tlačítkem a dát „spustit jako správce“)
  • Nejdříve si nahrajte instalátor apache (soubor msi) přímo na disk c:\. Přejmenujte instalátor na apache.msi. Potom ho spusťte příkazem msiexec /i apache.msi
  • Nyní můžete nainstalovat Apache přes instalátor. Jako domain a computer name zadejte localhost. Zvolte typ instalace custom. Jako adresář pro instalaci doporučuji použít c:\dev\prog\apache2
  • Teď je čas na restart systému.
  • Po nabootování systému se objeví okno s chybou „Operace skončila úspěšně“. Tato chyba se bude objevovat po každém nabootování. Zbavíme se jí tak, že ze složky Po spuštění v nabídce Start odstraníme spouštění Apache Monitor, který je nekompatibilní s Windows Vista (Start->Všechny programy->Po spuštění)
  • Teď už by měla fungovat adresa http://localhost, zjistíte to podle toho, že se vypíše „It works!“. Pokud nebude, tak je pravděpodobně chyba v souboru httpd.conf. Ale jak zjistit na kterém řádku? Apache server obsahuje program, který chybu odhalý, ten spustíte následovně: Start->Všechny programy->Apache HTTP Server 2.2.4->Configure Apache Server->Test Configuration. Opravte chybu v souboru httpd.conf.
  • Jako poslední krok jsem si nechal přesměrování adresáře pro www stránky do c:\dev\www. Otevřete soubor httpd.conf a upravte řádek 149. Bude vypadat následovně: DocumentRoot „c:/dev/www“

Dalším krokem bude instalace PHP

  • Postupujeme obdobně jako u instalace Apache, musí být tedy vyplý firewall a UAC.
  • Analogicky jako u instalace apache si spustíme instalaci php přes příkazový řádek
  • Při instalaci to chce trochu zkušeností, aby jste věděli, které php extensions budete potřebovat – určite zvolte mbstring, mysql, mysqli, GD2 a SQLite. Dále zvolte Web Server Setup->Apache 2.2.x Module.
  • Nyní pomocí průvodce nakonfigurujeme apache server pro PHP. Potřebuje znát umístění adresáře c:\dev\prog\apache2\conf
  • Do souboru c:\dev\prog\apache2\conf\httpd.conf doplňte na konec na nový řádek DirectoryIndex index.html index.htm index.php
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  • Jestli je PHP funkční otestujeme vytvořením souboru index.php v adresáři c:\dev\www, který bude obsahovat <?php phpinfo(); ?>. Na adrese http://localhost by se měl objevit výpis fce phpinfo().

Poslední krok je instalace MySQL

  • Instalaci MySQL již není třeba spouštět přes příkazový řádek.
  • Vyberte typ instalace custom, aby jste mohli změnit umístění instalace! Instalaci umístěte do složky c:\dev\prog\mysql5
  • Jinak v konfiguraci již není třeba nic měnit. Snad jen v domácím prostředí si můžete dovolit vytvořit účet root se všemi právy bez hesla.

Závěr

  • Zapněte firewall (doporučuji) (Start->Ovládací panely->Zabezpečení->Zapnout nebo vypnout bránu firewall systému Windows)
  • Zapněte UAC (pokud se cítíte jako zkušený uživatel můžete nechat vypnuté) (Start->Ovládací panely->Uživatelské účty a zabezpečení rodiny->Uživatelské účty->Zapnout nebo vypnout nástroj Řízení uživatelských účtů)
  • Doporučuji restartovat PC, ale stačí i restart Apache serveru.

Na závěr bych jen chtěl dodat, že nejsem žádný zkušený administrátor a můj návod je spíše souhrn informací, které jsem vyhledal na internetu v zahraničí. Případné problémy můžete napsat do komentářů, pokusim se vám poradit. Server si dále můžete konfigurovat například podle návodů – Radek Hulán nebo Jakub Mrozek.

Update 9.7.2007 Instalace PHP4 na Apache 2.2



Komentáře

  1. Katka 16.08.08 12:10

    Comment Arrow

    Ahoj, díky za návod. Vše fungovalo až po instalaci apache, kdy localhost normálně vypsal it works. Ale po instalaci php už píše jen chybu 403, web odmítl načíst tuto stránku, je nutné se přihlásit. Netušíte prosím někdo, kde jsem udělala chybu? Díky


  2. Snypy 08.09.08 09:55

    Comment Arrow

    Zdravím, díky za návod, apache sem nainstaloval, i s mysql a php. Akorát řeším problém, jako hodně lidí tady, že když zadám normalně adresu scriptu (třeba web/install.php) tak se mi zobrazí bílá obrazovka (ten script funguje a existuje – na xp mi to bezelo vyborne). Zkousel jsem – jak už někdo psal zapnout „short_open_tag“ ale ani to nepomohlo. Budu rád, když někdo poradí.

    Díky. Snypy


  3. leon 08.09.08 10:01

    Comment Arrow

    mám stejný problém jako PavelZet o pár příspěvků výše.


  4. leon 08.09.08 10:39

    Comment Arrow

    vyřešeno: z http://snaps.php.net/…2-latest.zip jsem si stahnul PHP., rozbalil do c:/dev/prog/php5. Soubor php.ini-recommended překopírujte a přejmenujte na php.ini a světe div se, funguje to :-)


  5. leon 08.09.08 10:40

    Comment Arrow

    snaps.php.net/win32/php5.2-win32-latest.zip


  6. leon 08.09.08 11:30

    Comment Arrow

    pak jeste do http.conf v /apache2/conf/ dopsat nakonec radky:
    AddType application/x-httpd-php .php
    PHPIniDir „C:/dev/prog/php5/“
    LoadModule php5_module „C:/dev/prog/php5/php5apache2_2.dll“

    a k DirectoryIndex dopisu za index.html jeste index.php


  7. kajo2000 16.09.08 21:18

    Comment Arrow

    Mal som problem, ze pri spusteni lubovolneho php skriptu sa Apache restartol a v error logu zostala hlaska „Parent: child process exited with status 255 – Restarting“.
    V mojom pripade bol problem php_threads.dll, ktory som zakomentoval v php.ini a potom to fungovalo.


  8. creaturex 12.10.08 14:20

    Comment Arrow

    Ludia do tagu v configu apache dajte toto co tam mam ja

    Options Indexes FollowSymLinks Includes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from All

    Poradil kamos a mne to pomohlo…

    Tak ste do toho take lami ako ja tak smelo do toho :-D


  9. creaturex 12.10.08 14:21

    Comment Arrow

    sorac, som si neuvedomil ze to tu nezobrazy tagy , takze to co som napisal musi byt samozrejme v tagu Directory ;)


  10. Aureas 09.01.09 21:12

    Comment Arrow

    Dobrý večer
    lidičky prosím co stímto
    You don't have permission to access / on this server.
    výše zminovanou upravu configu jsem provedl,ale stjne se mi zobrazuje toto.
    Děkuji za Vaši pomoc


  11. David 17.01.09 21:46

    Comment Arrow

    Zdravicko, tak neska sem se rozhodl ze se naucim zase dalsi jazyk, tet PHP a chtel bych si nejak zacit zkouset na pc…docetl sem ze potrebuju server apache, ale at se snazim jak se snazim porad skoncim u tohodle :
    http://www.f-guitars.ic.cz/chyba.jpg
    nevi nekdo jak to opravit ? viubec si nejsem v tom nejak jistej :( jinam mam VISTU BUsiness kdyby to bylo k tomu dulezity.


  12. David 18.01.09 00:04

    Comment Arrow

    Zdravicko, tak uz v poradku, zprooznil sem to nakonec, jede mi local server a jdou mi spoustet i PHP skripty. Coz mi zatim pro zacatky staci :P kdyby neco tak se jeste ozvu..caaau


  13. Jano 15.10.09 16:13

    Comment Arrow

    Zdravim Vas…tak som skusal aj tento navod na tej poondiatej Viste a tyzden sa neviem pohnut z miesta. Mam stiahnuty Apache-Http-Server2.2.14.msi potom php-5.3.0-nts-Win32-VC9-x86.msi a nakoniec mysql-essential-5.1.39-win32.msi a samozrejme Apache sa mi nainstaluje sice po restartovani mi nevyhadzuje tu chybu ako v navode a monitor bez problemov funguje. Lenze dalsi problem je s PHP5.3 pri instalacii mozem nastavit jedine IIS FastCGI, Other CGI alebo Do not setup web server, ine nic…pri instalacii MySQL som problem nevidel…Ked toto vsetko nainstalujem pri localhoste/info.php sa mi spusti chyba Forbidden… a dalej nic…Uz tyzden a pol preinstalluvavam, ladim chyby aj podla jednotlivych rad v diskusii a stale nic…
    Poradite mi niekto, co s tym…???


  14. Jano 16.10.09 17:58

    Comment Arrow

    Uz to funguje…konecne…teda aspon ten vypis phpinfo()


  15. Jano 18.10.09 09:03

    Comment Arrow

    Uz som to rozbehal…postup je dobry…zlyhal ludsky faktor :)


  16. Dodo 19.11.09 19:22

    Comment Arrow

    Ahoj Jano, môžeš mi, prosím Ťa, poradiť ktorú voľbu PHP si zvolil a ako si to rozbehal?


  17. PadL 06.09.12 13:32

    Comment Arrow

    Ahoj, děkuji za návod ačkoli už není moc aktuální, ale s pomocí dalších návodů jsem apache2.2.22, mysql5.1.65 a myphpadmin3.5.2.2 zprovoznil na Win 7 Pro x64. Ovšem stále mám problém s PHP5.2.5. Při zadání localhost mi vypíše chybu:
    hyba protokolu HTTP 500 (Internal Server Error): Při pokusu o splnění požadavku došlo na serveru k neočekávané situaci.

    výpis apache error.log:
    [error] [client 127.0.0.1] PHP Parse error: syntax error, unexpected T_STRING in C:\\dev\\www\\index.php on line 2

    obsah index.php:

    Vše jsem dělal přesně podle návodu. Prosím poradíte mi někdo?
    Instalováno je to přes msi instalátory protože klasicky přes httpd -k install v příkazovém řádku se mi to u 64 bit OS nikdy nepodaří propojit s php5. Proto jsem i volil starší verze, které jsou v instalačních balíčcích
    Předem díky.
    PS: 64bit OS potřebuji kvůli RAM paměti.


  18. PadL 06.09.12 13:33

    Comment Arrow

    index.php je jako v návodu.


  19. PadL 06.09.12 13:39

    Comment Arrow

    Problém vyřešen. Chyba byla samozřejmě mezi židlí a PC. Měl jsem špatně ten index.php přesně tam kam mě směroval error.log na řádku 2. Měl jsem tam navíc php: ?php php phpinfo(); ?
    školácká chyba jen jsem si toho všiml až teď.


Přidej vlastní názor

  • Author Avatar

    Ty


Comment Arrow




O autorovi

Petr Parimucha

Vítejte na mém blogu, rád bych se v krátkosti představil. Je mi 26 let. Momentálně nejvíce času věnuji projektu Lepime.cz - obchod se samolepkami na zeď a tvorbě webů postavených na redakčním systému Drupal pod značkou MEPA.CZ.