wz

Lokální webserver Apache s Php a MySQL na Windows x64 - 64bitové verze

Testováno bylo na Windows 7 x64

Obsahuje tyto verze SW:

Zároveň jsou to odkazy na originální distribuční balíky, které byly použity.


Protože se neustále objevují žádosti o radu, jak zprovoznit webserver na lokále, tak jsem udělal jednoduchou "instalaci", kde si můžete zvolit, jestli chcete Apache 2.2 nebo Apache 2.4, pak jestli chcete PHP 5.3 nebo PHP 5.4 a nakonec si můžete vybrat i mezi MySQL 5.1, 5.5 a 5.6, MariaDB 5.5 nebo PostgeSQL 8.3 nebo 9.2. A webserver podporuje jak http (to je samozřejmost), tak i https.
Jednoduchost "instalace" spočívá v tom, že se nemusí nic instalovat, jen si stáhnete potřebné zip soubory a rozbalíte je do patřičného adresáře a pak už jen spustíte Apache a případně také vámi vybranou databázi.
Tuto instalaci jsem rozchodil jednomu kolegovi i na USB flashce - sice to není moc rychlé, ale stačí ji zasunout do libovolného PC, nastavit, aby měla správně přiřazené "písmenko disku" a už vám běží webserver.
Je také ověřeno, že vše funguje i pod uživatelem, který je pouze ve skupině "users" a nemusí být administrátorem (pouze musí mít právo zápisu do adresářů, které se mění).
Je možné stáhnou všechny části a spouštět verze SW dle potřeby, nebo si vyberte jen tu verzi, kterou chcete a zbytek přeskočte.

Toto je jen základní konfigurace, která vychází z distribuovaného defaultu a je zaměřena pouze na vzájemnou funkčnost Apache s PHP a vybranou databází. Není zde nijak řešena nějaká vyšší bezpečnost, takže je to vhodné jen na testovací lokální stránky.


Instalace

Takže již k vlastní "instalaci" - je připravená pro disk C: a cílový adresář je v zipu uložen, takže rozbalit se to dá např. pomocí WinRaru tak, že do rootu disku c: uložíte první soubor web.zip, na něm kliknete pravým talčítkem myši a zvolíte volbu "Extrahovat zde", tím vám vznikne adresář c:\web s dalšími podadresáři. Další soubory si uložíte do adresáře c:\web a podobným způsobem je rozbalíte zase volbou "Extrahovat zde".

  1. Základní adresářová struktura, s první stránkou index.html a s phpinfo(), s certifikáty potřebné pro https a s konfiguračními soubory - rozbalte, aby adresář web byl v rootu disku C: (tedy c:\web\)
  2. Apache 2.2 - rozbalte do adresáře c:\web\Apache2.2 (pokud máte nainstalovanou předchozí 32-bitovou verzi z http://webserver.chytrak.cz, tak ta se instaluje do adresáře Apache_2.2 - je zde navíc podtržítko, takže se tyto dvě verze nepoperou, neboť každá má svůj vlastní adresář)
  3. Apache 2.4 - rozbalte do adresáře c:\web\Apache2.4
  4. PHP 5.3 - rozbalte do adresáře c:\web\PHP5.3
  5. PHP 5.4 - rozbalte do adresáře c:\web\PHP5.4
  6. MySQL 5.1 - rozbalte do adresáře c:\web\MySQL_5.1
  7. MySQL 5.5 - rozbalte do adresáře c:\web\MySQL_5.5
  8. MySQL 5.6 - rozbalte do adresáře c:\web\MySQL_5.6
  9. MariaDB 5.5 - rozbalte do adresáře c:\web\MariaDB_5.5
  10. PostgreSQL 8.3 - rozbalte do adresáře c:\web\PostgreSQL_8.3
  11. PostgreSQL 9.2 - rozbalte do adresáře c:\web\PostgreSQL_9.2

Databázoví uživatelé - u MySQL a MariaDB je uživatel root bez hesla a je vytvořena databáze pro phpMyAdmina s názvem phpmyadmin a pro ní uživatel pma s heslem pma.
U PostgeSQL je uživatel pguser s heslem pgpass.

Toto už není potřeba pro vlastní funkci webserveru, ale může se to někomu hodit.


Spuštění a zastavení

A nyní už stačí spustit Apache jedním z následujících skriptů (a nelze spustit víc verzí najednou, může běžet vždy jen jeden z nich):

Předpokládám, že pro tu variantu, kterou spouštíte, jste si stáhli danou verzi Apache a PHP.
Po spuštění Apache, vám zůstane okno otevřené (prázdné černé okno, kde pouze bliká kurzor) a pokud budete chtít Apache ukončit, tak v tomto okně stiskněte CTRL-C a tím Apache ukončíte. Většinou to chvíli trvá, než se Apache ukončí a pak se objeví "Chcete ukončit dávkovou úlohu (A/N)?" a je jedno, jestli stisknete A nebo N nebo ještě jednou CTRL-C a okno se zavře, což však platí jen pokud nemáte spuštěnou databázi PostgeSQL.
Pokud spouštíte Apache s databází PostgeSQL, tak ale MUSÍTE stisknout N, aby se dávková úloha dokončila a správně zastavila i databázi PostgeSQL.

A pokud potřebujete MySQL nebo MariaDB databázi, tak si jí spustíte patřičným zástupcem (zase se dá spustit jen jedna z nich, v této konfiguraci nelze spustit najednou všechny verze):

A když MySQL nabo MariaDB nepotřebujete, tak jí zastavíte patřičným zástupcem a pokud zadáte heslo pro uživaele root, tak ho musíte zadat i v tom zástupci za --password= - teď je bez hesla, proto tam není nic vyplněno

Pokud byste potřebovali spustit nebo zastavit databázi PostgreSQL - např. po změně konfigurace PostgreSQL - standardně se totiž spouští a zastavuje spolu se startem webserveru Apache (takže to za normálních okolností není potřeba), tak jsou zde následující zástupci:


Otestování funkčnosti

A nyní už stačí jen vyzkoušet, že se vám otevře výchozí stránka webu, který je uložen v cestě C:\web\WWW na adrese http://localhost:8888 případně přes https (máte-li Apache spuštěn s podporou https) https://localhost
Web je dostupný pouze na IP adrese localhost (127.0.0.1), takže nehrozí, že by se vám v nějaké síti někdo na tento váš web dostal - funguje jen z toho PC, kde je spuštěn, pokud byste chtěli, aby byl přístupný i z jiných PC ve vaší síti, tak byste ho museli dát na vaší IP adresu (změnou v konfiguraci Apache). Dále je puštěn na portu 8888, neboť na portu 80 je leckdy nějaký jiný web server (buď Windowsovské IIS nebo třeba i Skype obsazuje tento port).

Obsah adresářů:

Konfigurační soubory, které jsem měnil:

A doporučuji si občas promazat log soubory od Apache a PHP (viz výše, kde leží) a taky od MySQL - ty jsou v datových adresářích dané verze MySQL (tedy např. MySQL_5.1_data a jmenují se podle jména PC, na kterém byla databáze spuštěna s příponou err).



Pro uživatele Netbeans ještě instalace Xdebug - možnost ladění PHP skriptů

Xdebug ve spojení s Netbeans umožňuje ladit PHP skripty - tedy krokovat skript po jednotlivých příkazech, zobrazovat si hodnoty proměnných atd. Takže velmi šikovná věc.

Na stránkách Netbeans je postup instalece na Windows, který vám zkrátím. Následující text přidejte na konec vámi používaného php.ini
pro PHP 5.3:
[xdebug]
zend_extension=php_xdebug-2.2.2-5.3-vc9-x86_64.dll
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1

pro PHP 5.4
[xdebug]
zend_extension=php_xdebug-2.2.2-5.4-vc9-x86_64.dll
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1

DLL knihovny stáhněte ze stránek Xdebugu a uložte je do adresáře Apache2.x/bin (x je verze Apache, kterou používáte - tedy 2 nebo 4) - v tomto okamžiku je aktuální verze 2.2.2 a jsou potřeba soubory ze sekce "Windows binaries" pro vaší verzi PHP a končící TS (64 bit), takže výše uvedená konfigurace je pro soubory, které stáhnete z odkazů PHP 5.3 VC9 TS (64 bit) a PHP 5.4 VC9 TS (64 bit).
Pokud bude novější verze Xdebugu, tak do php.ini zadejte jako zend_extension název souboru, který jste si stáhli.
No a to je vše - v phpinfo() byste měli vidět novou sekci Xdebug, a neměla by u ní být hláška, že je to extenze pro zend. Teď už stačí jen spustit Netbeans a zkusit nějaký php skript, jestli se vám podaří jeho debugování.



Odkazy na oficiální stránky Apache, PHP, MySQL, MariaDB a PostgreSQL

kde lze stáhnout aktuální verze a jsou tam i potřebné manuály

Aktuální verze SW:

Manuály:


Pokud se u https komunikace chcete zbavit hlášky o nedůvěryhodné certifikační autoritě, tak si z C:\web\Certifikat přidejte certifikát localhost.p12 mezi důvěryhodné kořenové certifikační autority ve vašem webovském prohlížeči.

Pokud byste chtěli tento webserver "naistalovat" na jiný disk, či do jiného adresáře, tak to není problém, jen musíte najít veškerý výskyt c:\web (v cmd souborech a zástupcích) a c:/web (v konfiguračních souborech Apache, PHP a databázích, které jsem měnil) a nahradit ho vaší skutečnou cestou.

Jinak lze úpravou konfigurace mít spuštěno víc verzí Apache najednou, jen se v konfiguraci musí zajistit, aby každý měl jinou IP adresu nebo jiný port.

Obdobně lze úpravou konfigurace mít spuštěno víc verzí MySQL najednou, které se nejspíš budou lišit portem, na kterém běží.

A pokud někdo chce jinou verzi některé z aplikací, tak neni problém si do adresáře dané aplikace nakopírovat verzi, kterou chcete a buď použít konfigurační soubor ode mě nebo si konfigurační soubor z dané verze modifikovat podle mého původního.

A rychlým pohledem do manuálu k Apache nebo MySQL si tam můžete najít, jak je zaregistrovat jako služby Windows, aby se vám automaticky spouštěly při startu PC a nemuseli jste je pouštět ručně (to má význam pokud chcete používat jen jednu vybranou verzi Apache a MySQL).
Tak abyste neřekli, tak tady máte odkazy Apache 2.2 Apache 2.4 MySQL 5.1 MySQL 5.5 MySQL 5.6. A služby je třeba nainstalovat se správnými parametry, tak jako je to uděláno v těch cmd souborech pro Apache a zástupcích pro MySQL.

Co týče PostgreSQL, tak zde jsou příkazy, kterými instalátor instaluje Postgre jako službu:

Postgre 8.3 (zde je potřeba vytvořit uživatele, pod kterým služba běží, a který musí mít práva čtení a zápisu k souborům PostgreSQL včetně dat v PostgreSQL_8.3_data) :
C:\web\PostgreSQL_8.3\bin\pg_ctl.exe register -N postgresql-8.3 -U username -P password -D "C:\web\PostgreSQL_8.3_data" -w

Postgre 9.2 (zde je potřeba zajistit, aby interní uživatel NT AUTHORITY\NetworkService, pod kterým se služba instaluje, měl přístup k souborům PostgreSQL) :
C:\web\PostgreSQL_9.2\bin\pg_ctl.exe register -N "postgresql-x64-9.2" -U "NT AUTHORITY\NetworkService" -D "C:\web\PostgreSQL_9.2_data" -w

Návštěvní kniha na výměnu zkušeností a rad

Nemám v úmyslu tuto "distribuci" nějak dál udržovat, doufám, že každému to bude stačit, aby si připadný upgrade už udělal sám.

Počet přístupů:

Valid HTML 4.01 Transitional