3. Článek - Instalace Apache 2.2.19+MySQL 5.5.13+PHP 5.3.8+phpmyadmin 3.4.3.1 (+video k tomuto článku)

 2011-07-17 00:00:00
 Dmitry Burobin
Dneska konečně nainstalujeme localhost na Váš počitač.

Co rozebereme:

1) Odkud a co stáhnout.
2) Jak spravně nainstalovat.
3) Spravné nastavení konfiguračních souborů.
Série článků:
1) Instalace Apache 2.2.19+MySQL 5.5.13+PHP 5.3.8+phpmyadmin 3.4.3.1 (+video k tomuto článku).
2) Doplnění ke třetímu článku. Alternativní metoda instalace lokálního serveru “PHP Developer Pack” a instalace na Linux.

Na konci článku jsem přidal video, ve kterém provádim instalaci na Windows 7

Co to je?
Co to vlastně je localhost, to je imitace Internetového prostředí ve kterým budeme zkoušet naše aplikace a k tomu nebudeme potřebovat připojení na Internet. Budeme potřebovat akorat nainstalovat tyto programy PHP(jazyk ve kterým budeme psát), MySQL(databaze),Apache(to je vlastně virtualní server) a phpmyadmin(to je prostředí, které budeme používat k tvorbě tabulek pro MySQL).

Instalačky:

Všechny instalačky stáhneme z oficiálních zdrojů(možna, že jsou už novější verze, stahujte je):
- PHP 5.3.13 najdete zde, stáhneme si php-5.3.13-Win32-VC9-x86.zip archiv nebo novější
- Mysql si stáhnete odsud, tuto instalačku Windows (x86, 32-bit), MSI Installer
- Apache 2.2.19, tady stáhneme tuto instalačku: Win32 Binary including OpenSSL 0.9.8r (MSI Installer): httpd-2.2.19-win32-x86-openssl-0.9.8r.msi

Před samotnou instalaci si vytvoříme složku třeba server na disku C, to je úplně jedno kde si ji vytvořite, akorat nezapomínejte měnit cestu kam to budete instalovat po mně, protože budu ukazovat právě disk C a složku server.

Apache2.2


Začneme instalaci Apache, spustíme instalační soubor. V prvním okénku jenom klepneme dál, pak se souhlasíme s licenčnimi pravidly a uvidíme okno (Server information) vyplnime ho následovaně:


toto jsou jen informativní parametry, které budou odeslané jestli nastane chyba. V dalším okně vybereme typ instalace pro nás to bude Custom, protože chceme změnit cestu. Ted´ je před Vámi tohle:



změnime cestu instalace na náši C:/server/Apache2.2


klepneme dál a Install.
A máme nainstalovaný virtuálni server, ted´ restartujte počítač.
Po úspěšné instalaci by se Vám měla objevit tahle ikonka.

jestli je v ní zelená šipka tak je vše správně udělaný, pokud je v ní červený obdélníček, zkuste provést instalaci ještě jednou, když i tohle nepomůže tak mi napište zkusíme to nějak naladit. A taky zkuste zadat do browseru http://localhost nebo přímo ip adresu, na které se nacházi localhost tudiž 127.0.0.1 a mělo by se vyvést na obrazovku

It works!


Instalace PHP

Pokračovat budeme tím, že rozbalime archiv s php do složky server, jako cestu ukažeme C:/server/php

Ladění konfiguračních souborů php a Apache


Otevřeme soubor httpd.txt, který se nacházi na adrese C:/server/Apache2.2/conf, tohle je konfigurační soubor Apache, musíme v něm udělat par změn.(nebudu ho celý popisovat jenom to co budeme měnit)

První změnou bude to, že ho spojime s php a to tak, že nastavime php jako modul Apache najděte řádky 60 až 129 v nich se připojuji moduly a vložte nakonec tohoto bloku, tudiž na řádek 130 toto LoadModule php5_module "c:/server/php/php5apache2_2.dll".

Druhou změnou bude to, že ukážeme Apache, kde se nacházi konfiguračni soubor php (php.ini) ,vložime tento řádek PHPIniDir "C:\server\php\php.ini" hned po tom, kde jsme nastavovali modul, takže na 131 řádek.

Třetí bude to, že vytvořime složku, kde se budou nacházet WEB-složky (zdrojové soubory) a odkud Apache je bude načítat do browseru. Takže vytvořte složku www (nebo ji nazvete jak chcete) v složce server. V konfiguračním souboru httpd najdeme řádek
<?php

DocumentRoot "C:/server/Apache2.2/htdocs" 

?>
a vyměnime ho na
<?php

DocumentRoot "C:/server/www" 

?>
o trošku níž bude odstavec
<?php

<Directory "C:/server/Apache2.2/htdocs">

#

# Possible values for the Options directive are "None", "All",

# or any combination of:

#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

# The Options directive is both complicated and important.  Please see

# http://httpd.apache.org/docs/2.2/mod/core.html#options

# for more information.

#

Options Indexes FollowSymLinks



#

# AllowOverride controls what directives may be placed in .htaccess files.

# It can be "All", "None", or any combination of the keywords:

#   Options FileInfo AuthConfig Limit

#

AllowOverride None



#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all



</Directory>

?>
trochu ho upravíme
<?php

<Directory "C:/server/www">

#

# Possible values for the Options directive are "None", "All",

# or any combination of:

#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

# The Options directive is both complicated and important.  Please see

# http://httpd.apache.org/docs/2.2/mod/core.html#options

# for more information.

#

Options Indexes Includes FollowSymLinks MultiViews



#

# AllowOverride controls what directives may be placed in .htaccess files.

# It can be "All", "None", or any combination of the keywords:

#   Options FileInfo AuthConfig Limit

#

AllowOverride All



#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all



</Directory>

?>
zase změnime cestu, kde se budou nacházet WEB-složky, pak zaměnime tenhle řádek Options Indexes FollowSymLinks na Options Indexes Includes FollowSymLinks MultiViews.

Ted’ Vám vysvětlím co znamenají jednotlivá slova.
- Indexes nám povoli listing složky i když v ní neni index soubor třeba(index.html).
- Includes povoli funkce jako jsou (include) ve zdrojovém kodu (nejspiš ještě nevite co děla funkce include, to Vám povím později).
- FollowSymLinks to něco jako ikonky(shortcut) v Windows. Umožňuje odesílat fajly, které nejsou fyzicky v daném adresáři, ale jsou označený jako (symbolic link).
Toto jsou hlavní body.

Poslední co jsme zaměnili je AllowOverride None na AllowOverride All, tato funkce umožňuje překrývat nastavení, které dělamé ted´ v httpd.txt, pomoci souboru .htaccess(co dělá ten soubor vám povím v jiném článku, protože to je velmi důležita součast každého webu).
Další věc kterou budeme měnit je tento blok:
<?php

<IfModule dir_module>

DirectoryIndex index.html 

</IfModule>

?>
přidame toto:
<?php

<IfModule dir_module>

DirectoryIndex index.html index.htm index.php index.php5

</IfModule>

?>
dělame to proto, aby se načítali stránky s index souborem s koncovkami html,htm a php.

Tak a poslední věc, najdeme blok začinající přiblížně 363 řádek a po těchto řádcich
- AddType application/x-compress .Z
- AddType application/x-gzip .gz .tgz

vložíme ještě několik

- AddType application/x-httpd-php .php
- AddType application/x-httpd-php-source .phps
- AddType application/x-httpd-php phtml php
tím řekneme, aby apache zpracovávál fajly s rozšiřením php.

Restartujeme Apache, jestli jste neudělali nějakou chybu tak by se Vám měla objevit zelená šipka.

Ted´ nakonfigurujeme soubor php.ini, ten se nacházi na adrese C:/server/php/php.ini-developmen. Zaprvé ho přejmenujeme na php.ini, takže jenom odstranime koncovku DEVELOPMENT. Pak najdeme řádek 809 ; extension_dir = "ext" a změníme ho na extension_dir = "C:\server\php\ext", to je cesta kde se nacházi všechna rozšíření.
A poslední co změníme bude, že zapneme některá rozšíření. Začínaji se od řádku 947, funguje to tak, že když smažeme ; na začátku řádku, tak se to rozšíření aktivuje. Zapneme tyto rozšíření:

- extension=php_gd2.dll
- extension=php_mbstring.dll
- extension=php_mysql.dll
- extension=php_mysqli.dll

Co dělji jednotlivá rozšíření můžete najit na adrese http://www.php.net/manual/en/install.windows.extensions.php

Ověříme, zda všechno funguje správně. Vytvořte soubor index.php s obsahem
<?php
phpinfo();
?>
a uložte ho do složky www. Otevřeme tento soubor v prohlížeči http://localhost/. Měla by se Vám objevit informace o serveru a zapnutých modulech.

MySQL

No a poslední věc, kterou nainstalujeme bude databaze MySQL, samotna instalace je velice jednoducha. Zpust´te instalačku, mačkejte dál, až do okna kde vyberete custom způsob instalace a změníte cestu na C:/server/MySQL:

a date install. Dal se objevi toto okno:

date jenom dva krát next a pak finish. Mělo by se Vám otevřit okno MySQL Server konfiguraci, na prvním okně zmačkneme next - na druhým taky - pak vybereme Detailed Configuration - dál Developer Machine - Multifunctional Database - Next - Decision Support - Next - tady vybereme Manualní způsob nastavení(poslední možnost) a charset utf8 - Next - v tomto okně nastavíme heslo pro přistup k databázi(pole Current root password nechejte volné) - Execute.
MySQL server máme nainstalovaný, akorat ještě musíme změnit jeden řádek v konfiguračním souboru. Otevřeme si my.ini, který se nacházi zde C:/server/MySQL/my.ini a zaměnime 77 řádek datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" na datadir="C:/server/MySQL/Data/".

Tím jsme ukončili instalaci lokálniho serveru
Ale to není vše, ještě nainstalujeme prostředí, pomoci kterého budeme vytvářet tabulky a databáze v MySQL a to je phpmyadmin.

phpmyadmin

Stáhneme zip archiv phpMyAdmin-3.4.3.1-all-languages.zip, odsud http://www.phpmyadmin.net/home_page/downloads.php.
Rozbalime ho do složky www a přejmenujeme složku na phpmyadmin, aby nam fungoval tak si otevřeme soubor config.sample.inc, který se nacházi hned ve složce phpmyadmin, najdeme tyto řádky:
<?php

$cfg['blowfish_secret'] = ''/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */



/*

* Servers configuration

*/

$i 0;



/*

* First server

*/

$i++;

/* Authentication type */

$cfg['Servers'][$i]['auth_type'] = 'cookie';

.

.

.

?>
v prvním řádku doplňte heslo pro přístup pomoci cookie, můžete napsat cokoliv. Dál doplňime 3 řádky se jménem, heslem a způsobem připojeni. Jméno nechejte root, v pole password zadejte heslo, které jste zadávali při instalaci MySQL a způsob bude config, to znamená, že budeme furt připojeni k serveru (nebudeme muset pokaždé zadávat login a heslo). A posledné bude, že zakomentujeme auth_type cookie, to udělame dvěma lomítkami na začátku řádku.
Uložíme tento soubor jako config.inc.php, do stejného adresáře.
<?php

$cfg['blowfish_secret'] = 'abcd'/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/*

* Servers configuration

*/

$i 0;



/*

* First server

*/

$i++;

/* Authentication type */

$cfg['Servers'][$i]['user']          = 'root';

$cfg['Servers'][$i]['password']      = '********'// use here your password

$cfg['Servers'][$i]['auth_type']     = 'config';

//$cfg['Servers'][$i]['auth_type'] = 'cookie';

?>
No a to je vše, ted´ zkusíme zda to funguje správně, zadejte do browseru http://localhost/phpmyadmin a mělo by se Vám otevřit prostředi pro práci s MySQL serverem.

Závěr

Takže konečně máme nainstalovaný lokální server a můžeme se pustit do programování.

P.S. opravujte chyby a podepisujte se na RSS.

Tu ještě vykládam konfigurační soubory, tak jak maji být správně nastavený a video:
- pro Apache httpd.conf
- pro php php.ini
- pro MySQL my.ini
- Videoinstalace localhost.rar
Poznámka: kdybyste se po restartování počítače nemohli dostat do phpmyadmin měli byste udělat toto:

1) upravit my.ini ( konfigurační soubor MySQL ), přidat do bloku [mysqld]

skip-grant-tables 

2) pak restartovat MySQL server a spustit mysql příkazový řádek ( /server/MySQL/mysql ) v něm, pak zadat:

flush privileges//nezapomeň na středník

//dále nastavíme heslo pro uživatele root

set password for root@localhost=password('mypassword'); 
a zase smazat skip-grant-tables a restartovat MySQL server.
Systém Orphus
Napište komentář.
Celkem komenrářů(74)
Admin - 2014-02-19  06:50:35
 Bez phpmyadmin, byste těžko dělal registraci. Určitě můžete použit i www.ic.cz, akorat potom v souboru pro spojení s DB musíte uvést údaje od jejich serveru ( server, user name, databázi a login ) pro připojeni k DB.
Jarek - 2014-02-18  22:00:13
 Ještě jednou dobrý den, nakonec to i tak nešlo... nevím kde je chyba...

ale chtěl jsme se zeptat, potřeboval bych na web registraci (http://www.koding.cz/priklady.php?id=110) a tam se pracuje právě s tím PhpMyAdmin..

takže se chci zeptat, jestli musí být nainstalovaný, jestli nestačí popřípadě jen na stránce www.ic.cz?
a nebo jestli ta registrace jde udělat i bez této aplikace?

Děkuji
Admin - 2014-02-18  17:56:45
 Zdravím, je to těžké takto určit, ale zkuste si všechno odstranit a nainstalovat si tento balíček xampp.
Jarek - 2014-02-18  15:16:35
 Dobrý den, celkem hezký návod, jen mám trochu menší problém, a to ten, že mi Apache nefunguje. Nejen mě, i kamarádka to zkoušela s taktéž stejným výsledkem.

Instaluji podle návodu a asi zhruba nakonci se objevuje příkazový řádek (nebo jak to jinak nazvat - če
á tabulka)...

..Normální je povoleno pouze jedno použítí každé adresy (protokolu, sítové adresy, portu) soketu. : make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down
Unable to open logs...

Možná je to součást instalace, možná ne, to nevím...

instalace pak dobehne dokonce, restartuji počítač a ikonka Apache je pořád stejná. Kolečko, uprostřed červený čvereček, ne zelený trojúhelníček..

Mohl bych poprosit o radu, kde se stala chyba, nebo co dělám blbě? Vím, že je to tak těžké určit, ale kdyby někdo věděl, byl bych vděčný, děkuji.

verze Apache. 2.0.65
Martin - 2013-11-16  12:30:52
 Skvělý navod :) vše mi funguje jak ma. Moc diky autorovy :)
Franta - 2013-09-28  15:17:26
 Nejlepší návod, jaký jsem kde našel. Velký dík autorovi.
Admin - 2013-09-19  07:46:55
 Zdravím,
podívejte se jestli mate správně nastavenou tuto direktivu DirectoryIndex index.php
Raptor - 2013-09-17  12:05:10
 Ahoj,
mám stejný problém jako Ondra, co pomohlo za změnu ?
Děkuji
Admin - 2013-07-26  19:53:55
 Zdravím,
pošlete mi Váš Apache konfigurační soubor, podívam se na něj. Na tento email koding.burobin@gmail.com
Ondra - 2013-07-25  21:25:55
 Zdravím, mám stejný problém jako McMirenjBS, ale opravením dle Vaší rady na DirectoryIndex index.php se nic nezměnilo. Problém přetrvává. Mohl bych požádat o další radu? díky
Admin - 2013-07-22  20:48:24
 Zdravím,
to bude nastavením serveru, musíte mít v http.conf tento řádek DirectoryIndex index.php
McMirenjBS - 2013-07-22  18:53:06
 Ahoj,
když otevřu v prohloížeči localhost, tak místo toho, aby mi zobrazil php výstup, stahuje soubor index.php :(((( Proč? Jak to mám napravit? Děkuji
Sawipa - 2013-05-25  00:01:36
 Zdravím, chybí vám zde dost podstatná část!
Celý tento návod je v pořádku!
Nicméně jedna důležitá část tu chybí!
Dokončuji dokumentaci apache a poté zde přidám vlastní verzi návodu!
Problém je ve Visual C++ 2008
Sawipa - 2013-05-24  22:17:16
 Zdravím, jsem opět bezradný, na jednom VPS to funguje i s nejnovější verzí od PHP a teď to zkouším na dalším a opět nic, nicméně to funguje s php 5.2.2, není problém někdy ve firewallu ?
Admin - 2013-05-19  23:11:45
 Tady mate link http://dev.mysql.com/downloads/mysql/ .

Co vlastně Vám nefungovalo u Apache s php ? ( ptám se, abych měl větší přehled o problémech spojených s instalaci serveru )
Sawipa - 2013-05-19  19:31:35
 Tak apache funguje i s php!, ale problém mám s mysql, kde ji mám stáhnout, je tu hrozně verzí, pošlete mi link ?
Děkuji
Sawipa - 2013-05-19  13:54:22
 Dobrý den,
dostal jste již email s konfiguračními soubory?
Děkuji
S pozdravem
Sawicki
Sawipa - 2013-05-18  23:32:38
 editováno administrátorem

Pošlete mi prosím Váš konfigurační soubor na tento e-mail koding.burobin@gmail.com
A hned bych Vám něco poradil, zkuste stáhnout jinou php instalačku php-5.2.17-Win32-VC6-x86.zip
Sawipa - 2013-05-18  23:30:27
 editováno administratorem.
Admin - 2013-05-13  09:47:20
 Díky
[1] [2] [3] [4] 
*v komentářich nesmíte používat sprostá slova a odkazy!!!Děkuji za pochopeni.