APACHE, PHP, MySQL na Windows XP (Vista)
Znáte to, všechno je snadné, dokud se do toho nepustíte. A existují lidské činnosti, které se opakují sice se železnou pravidelností, ale v intervalech, kdy se už zkušenosti uloží do hluboké paměti. Neboli si je nevybavíte, i kdyby jste se na hlavu postavili.
Mezi tyto činnosti u mě patří konfigurace webového serveru na PC. To že to zvládám dokazují asi 4 servery v provozu, ale když jsem se na nový přírůstek Asus EEE snažil nainstalovat webový server, původní plán „hodinka a nemám co dělat“ se ukázal poněkud optimistickým. Půl dne, přátelé, půl dne mi to zabralo.
Abych předešel podobným excesům píši stručný návod:
Struktura adresářů (nějak jsem si zaužíval následující) – disk C:
| dev | ||
| install | ||
| apache | ||
| php | ||
| mysql | ||
| prog | ||
| apache2 | ||
| php5 | ||
| mysql5 | ||
| manuals | ||
| apache | ||
| php | ||
| mysql | ||
| www | ||
Apache stahuji zde: apache2.2.10-win32-x86-openssl-0.9.8i.msi
Pokud vím, tak 64b verze existuje pouze jako zdrojový kód, kdo si to dokáže
zkompilovat, jistě to dokáže i najít
PHP 5.2 (5.3 ještě nepovažuji za zcela vyzrálou verzi)
MySQL 5.0 (pro XP se mě nepodařilo zprovoznit verzi 5.1 – na Vistách bez problému, možné řešení pro XP je zde)
A instalační soubory rozbalím do do příslušných adresářů v install
Instalační soubor Apache je typu msi, takže ho normálně spustím. Volím Custom instalation a nastavím cestu pro instalaci apache do dev\prog\apache2 . V souboru dev\prog\apache2\conf\httpd.conf provedu následující změny (buď odstraním komentářovou značku # a nebo dopíšu další direktivu):
Listen 127.0.0.1:80
DocumentRoot "C:/dev/www"
<Directory "C:/dev/www">
DirectoryIndex index.html index.htm index.php
Předpokládám, že adresář pro soubory zpracovávaní apachem bude www. Umístím do něho soubor index.html s následujícím obsahem:
<h1>Funguje to!
V adresním řádku prohlížeče zadám locahost a výsledek by měl být:
V adresáři www mohu vytvářet podadresáře, které potom v prohlížeči volám zápisem: localhost/nazev_podadresáře.
Pro spolupráci s PHP jsou nutné ještě tyto úpravy v httpd.conf
PHPIniDir "C:/dev/prog/php"
LoadModule php5_module "c:\dev\prog\php\php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
a zapnutí MOD_REWRITE
LoadModule rewrite_module modules/mod_rewrite.so
AllowOverride All
Nastavení $PATH:
Tento počítač → Zobrazit systémové informace → Vlastnosti systému →
Upřesnit → Promenné prostředí → Path + Upravit: doplnit o
:;c:\dev\prog\php
Zip soubor rozbalím do adresáře dev\prog\php. Soubor php.ini-dist překopíruju jako php.ini do adresáře C:/WINDOWS , všechny následující změny dělám zde!
V souboru php.ini provedu následující změny (buď odkomentováním řádku smazáním ; a nebo dopsáním direktivy):
extension_dir = "c:\dev\prog\php\ext"
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_fdf.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
Toto nastavení zajistí spolupráci s databází MySQL, pro jiné databáze odkomentuju příslušné řádky. Všimněte si, že extension=php_exif.dll je až za extension=php_mbstring.dll, z nějakých, mě nepochopitelných důvodů, je toto pořadí nutné pro správnou funkcu rozšíření EXIF. Prostředí nastavím tak, aby co nejvíce odpovídalo nastavení mému hostingového programu:
safe_mode = On
sql.safe_mode = Off
magic_quotes_gpc = Off
short_open_tag = Off
Nastavení mailů atp. není kritické, kdo potřebuje nastaví podle svého SMTP.
Funkčnost otestujeme souborem c:\dev\www\infophp.php
info php obsahuje:
<?php
phpinfo();
?>
Pokud vše funguje tak, jak má odměnou nám bude výpis nastavení PHP.
V adresáři install\mysql rozbalit zip soubor s instalací MySQL a spustit instalační exe soubor. Zvolit Custom instalaci a změnit umístění MySQL na c:\dev\prog\mysql5 .
Následně se spustí inicializace databáze, zde doporučuji volit znakovou sadu UTF-8, ostatní ponechat. Heslo vyplnit nějakým heslem. Toto je příklad až nesmyslně dokonalého hesla (dle Járy Cimrmana): „Dobro je prisjetitise, da prividno pravku premaciliu, predstavja ustvary zavadlivo krivudanje“. Instalace MySQL je u konce.
Jako utilitu pro správu databáze můžeme použít php aplikce phpMyAdmin
Další užitečné články na tomto blogu vztahující se k tématu:
Čerpal jsem také z:
Ostatní odkazy jsou uvedeny v článku.
18 srpen 2009, 18:59 Autor:Aleš Dobrovolný
Líbil se vám tento článek? Pošlete odkaz na:
Nebo pošlete sponzorskou SMS.