Instalace Apache + PHP + MySQL

Na internetu je sice celkem mnoho návodů jak tuto kombinaci nainstalovat, ale co si budeme povídat, nejlepší je vždycky vlastní výtvor :). Článek je napsaný dost podrobně, ale určité základní znalosti práce s Windows jsou zapotřebí.

Ještě než začneme se samotnou instalací <strong>Psychostats</strong> musíme si nainstalovat několik "programů" bez kterých bychom se neobešli. To co nás čeká je instalace webového serveru, databázového serveru a programovacího jazyku <strong>PHP</strong>, takže pokud se najdou takoví co tohle už doma nainstalované mají, nebo nemají s instalací problémy, nemusí se s tímhle článkem zahazovat. Snad jenom aktivování pluginu <strong>gd2</strong> v <strong>PHP</strong> pro správnou funkci historie v <strong>Psychostats</strong> stojí za přečtení.

Konkrétní kombinace, kterou si zde popíšeme, je <strong>Apache</strong> (webový server) + <strong>MySQL</strong> (databáze) + <strong>PHP</strong> (programovací jazyk). Všechny uvedené programy se zároveň vyskytují v několika vývojových stádiích, takže nejprve musíme vybrat ty správné verze.
V případě webového serveru <strong>Apache</strong> si můžete vybrat mezi verzí 1.3.x a 2.x. Doporučuji verzi <strong>2.x</strong>, která je pro naše potřeby vhodnější. Aktuální verzi si můžete stáhnout <a href="http://httpd.apache.org/download.cgi" class="email" target="_blank">zde</a>. V případě Windows stahujte binární balík s příponou <strong>.msi</strong>. Verze 2.0.52 pro kterou je určen konfigurační soubor v závěru článku je ke stažení <a href="files/apache_2.0.52-win32-x86-no_ssl.msi" class="email" target="_blank">zde</a> (~6,5MB).
V průběhu instalace Vás instalátor vyzve k zadání několika údajů, <strong>Network Domain</strong> (síťová doména), <strong>Server Name</strong> (jméno serveru) a <strong>Administrator’s Email Address</strong> (emailová adresa administrátora). Pokud nejste součástí nějaké domény (obvykle nejste), tak v prvních dvou polích vyplňte např. <strong>localhost</strong> a do posledního napište nějakou emailovou adresu (nemusí existovat). Dole potom máte zatržítko díky němuž si můžete vybrat zda-li chcete spouštět server automaticky pro všechny uživatele po startu jako službu (<strong>for All Users, on Port 80, as a service – recommended</strong>), nebo spouštět jenom pro nynějšího uživatele a manuálně (only for Current User, on port 8080, when started Manually). Doporučuji zvolit první volbu. Webový server sice užírá z Vaší paměti jisté prostředky, ale kdo má pořád myslet na jeho spouštění. Navíc pokud se rozhodnete, že server teď nějakou dobu potřebovat nebudete, stačí tuto službu vypnout (více na konci článku). Ve zbytku instalace už stačí mačkat pouze <strong>next</strong>.

Teď si musíme stáhnout a nainstalovat <strong>PHP</strong>. <strong>PHP</strong> se také vyvíjí ve dvou verzích, 4.3.x a 5.x. Vzhledem k tomu, že verze 5.x je zatím určena spíše pro odvážlivce a testery, stáhneme si verzi <strong>4.3.x</strong> z <a href="http://www.php.net/downloads.php" class="email" target="_blank">této adresy</a>. Stahujte balík <strong>.zip</strong> (Zip package), který, na rozdíl od .exe souboru, obsahuje všechno co potřebujeme. Poslední verze je <a href="http://cz.php.net/get/php-4.3.10-Win32.zip/from/a/mirror" class="email" target="_blank">4.3.10</a> (~7,5MB). Do adresáře <strong>C:Program FinesApache GroupApache2</strong> nakopírujeme obsah souboru <strong>.zip</strong>, konkrétně adresář <strong>php-4.3.10-Win32</strong>, který poté přejmenujeme na adresář <strong>php</strong>. Takže budeme mít v adresáři <strong>C:Program FinesApache GroupApache2php</strong> adresáře <strong>cli</strong>, <strong>dlls</strong>, <strong>extensions</strong>, atd.

Nyní můžeme přejít ke konfiguraci <strong>Apache</strong> a <strong>PHP</strong>. Konfigurační soubor k <strong>Apache</strong> nalezneme standardně zde: <strong>C:Program FinesApache GroupApache2confhttpd.conf</strong>. Nejprve musíme změnit cestu kde budou uloženy naše webové dokumenty, konkrétně soubory se statistikou. Najděte tedy řádek
<em>DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"</em>
a změňte jej na nějakou jinou, samozřejmě existující, cestu. Např.
<em>DocumentRoot "C:/inetpub/wwwroot"</em>
Dále najděte sekci LoadModule a na její konec, za řádek
<em>#LoadModule ssl_module modules/mod_ssl.so</em>
Vložte tento řádek
<em>LoadModule php4_module "C:/Program Files/Apache Group/Apache2/php/sapi/php4apache2.dll"</em>
který udává cestu k modulu PHP pro webový server Apache2.
Poté najděte tento řádek:
<em>DirectoryIndex index.html index.html.var</em>
a na jeho konec přidejte <strong>index.php</strong>, což zajistí automatické načtení těchto souborů v adresáři. Výsledný řádek bude tedy vypadat, takhle:
<em>DirectoryIndex index.html index.html.var index.php</em>
Poslední věc, kterou musíme udělat je za řádek
<em>AddType application/x-gzip .gz .tgz</em>
umístit
<em>AddType application/x-httpd-php .php .php3 .php4 .wml .phtml .inc .ihtml</em>
Je sice v podstatě jedno kam tyto řádky umístíte, ale pokud v tom chcete mít pořádek …
Nyní zkopírujte soubor <strong>php4ts.dll</strong> z adresáře <strong>php</strong> do adresáře <strong>C:WindowsSystem32</strong> a soubor <strong>php.ini-dist</strong>, z téhož adresáře, zkopírujte do adresáře <strong>C:Windows</strong> a přejmenujte jej na <strong>php.ini</strong>. Tento <strong>.ini</strong> soubor slouží ke konfiguraci <strong>PHP</strong> a tak v něm budeme muset něco změnit. Najděte řádek
<em>;extension=php_gd2.dll</em>
a vymažte středník na začátku, který slouží jako komentář.
Také musíme PHP říct kde má umístěný adresář extensions. K tomu slouží řádek
<em>extension_dir = "./"</em>
,který změníme na
<em>extension_dir = "C:Program FilesApache GroupApache2phpextensions"</em>
Tímto jsme dokončili instalaci webového serveru <strong>Apache</strong> s integrovaným <strong>PHP</strong> a můžeme přejít k instalaci databáze <strong>MySQL</strong>.
Ještě než se ale pustíme do instalace MySQL, musíme si ověřit, zda-li nám vše funguje. První musíme restartovat Apache server, aby se aktualizovaly změny které jsme provedli. Teď si vytvoříme soubor <strong>info.php</strong> s tímto obsahem:
<em><? phpinfo(); ?></em>
Nyní když napíšeme do internetového prohlížeče <strong>http://localhost/info.php</strong>, mělo by se nám zobrazit info o naší verzi <strong>PHP</strong> a jeho nastavení.

Nyní nás čeká nejsložitejší a také nejvíce kontroverzní část, instalace MySQL. Jak už je dobrým zvykem u tohoto druhu programů, je i MySQL vyvíjeno ve více verzích. Ještě nedávno tyto verze byly tři: 3.2.x, 4.x a 5.x. Dnes už je situace trochu jednodušší, neboť vývojáři usoudili, že verze 4.1 je dost stabilní na to aby přestali verzi 3.2.x vyvíjet. O verzi 5.x zatím nemá smysl se bavit, protože je v ranném stadiu vývoje. Stáhneme si tedy verzi <strong>4.1.x</strong> z této <a href="http://dev.mysql.com/downloads/mysql/4.1.html" class="email" target="_blank">adresy</a>. Zhruba v polovině stránky jsou verze pro Windows. Našim potřebám bude dostačovat verze <strong>Windows Essentials (x86)</strong> v aktuální verzi <a href="http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-essential-4.1.12a-win32.msi/from/http://mysql.linux.cz/" class="email" target="_blank">4.1.12a</a> (~13,5MB).
Po spuštění instalace zvolíme instalaci typickou (<strong>Typical</strong>) a MySQL se nám nainstaluje do <strong>c:Program FilesMySQLMySQL Server 4.1</strong>. Po dokončení instalace si můžete vybrat zda-li se chcete zaregistrovat na mysql.com, v případě že nechcete, zatrhněte <strong>Skip Sign-Up</strong> a stiskněte tlačítko <strong>Next</strong>. Nyní by Vám mělo vyskočit okno s konfigurací MySQL. Pro naše účely použijeme standardní konfiguraci (<strong>Standard Configuration</strong>). V dalším okně necháme vše beze změn, tzn. MySQL bude běžet jako služba na pozadí (<strong>Install As Windows Service</strong>) s názvem MySQL a bude se spouštět automaticky po startu (<strong>Launch the MySQL Server automatically</strong>). Nyní musíme nastavit heslo pro administrátora (<strong>root password</strong>). Zadejte nějaké neprůstřelné heslo a zapamatujte si ho (později ho budete potřebovat). Pokud chcete aby se administrátor mohl připojit pouze ze stejného pořítače kde je MySQL nainstalované, zatrhněte volbu <strong>Root may only connect from localhost</strong>. Anonymní účet (Create An Anonymous Acount) potřebovat nebudeme. V posledním kroku už stiskneme jen <strong>Execute</strong> a pokud nenastala žádná výjimka tak by vše mělo zasvítit zeleně.
Instalace je hotová, ale musíme MySQL ještě nakonfigurovat, aby pracovalo podle našich představ. K tomu se musíme připojit k MySQL serveru jako <strong>root</strong>. V nabídce <strong>Start</strong> zvolíme <strong>Spustit</strong> a napíšeme <strong>cmd</strong>, nebo <strong>command</strong> (záleží na verzi Windows). Spustí se nám DOSovské okno, ve kterém se musíme dostat do adresáře kde je umístěn soubor <strong>mysql.exe</strong>. Toho docílíme tak, že napíšeme
<em>cd C:Program FilesMySQLMySQL Server 4.1bin</em>
Nyní musíme spustit soubor <strong>mysql.exe</strong> s určitými parametry, aby jsme se přihlásili jako <strong>root</strong>.
<em>mysql --user=root --password=vase_heslo mysql</em>
V případě, že máte heslo s mezerou, dejte jej do uvozovek.
Jakmile jsme přihlášeni jako <strong>root</strong>, každý řádek začíná "<strong>mysql></strong>".
Nyní musíme vytvořit uživatele který bude sloužit pro účely Psychostats:
<em>GRANT ALL PRIVILEGES ON *.* TO 'robot'@'localhost' IDENTIFIED BY 'popelka' WITH GRANT OPTION;</em>
Tento řádek vytvoří uživatele <strong>robot</strong> s heslem <strong>popelka</strong>, který se může přihlásit pouze ze stejného počítače na kterém je nainstalován databázový server (<strong>localhost</strong>). Chcete-li vytvořit uživatele který se bude moci přihlašovat z jiného počítače nahraďte slovo <strong>localhost</strong> znakem <strong>%</strong>, takhle:
<em>GRANT ALL PRIVILEGES ON *.* TO 'robot'@'%' IDENTIFIED BY 'popelka' WITH GRANT OPTION;</em>
Pamatujte ovšem, že pokud napíšete jenom tento příkaz se znakem <strong>%</strong>, Vámi vytvořený uživatel se <strong>NEbude</strong> moci připojit z localhostu! Aby se uživatel mohl připojit odkudkoliv, musíte zadat <strong>oba</strong> příkazy.
Poslední věcí co musíme nastavit, je nově vytvořenému uživateli změnit způsob kódování hesel. Nové MySQL totiž využívá nové kódování hesel, které není kompatibilní se staršími klienty.
<em>SET PASSWORD FOR 'robot'@'localhost' = OLD_PASSWORD('popelka');</em>
<em>SET PASSWORD FOR 'robot'@'%' = OLD_PASSWORD('popelka');</em>
Tyto příkazy aktualizují heslo našeho uživatele <strong>robot</strong> pro připojení odkudkoliv, i z localhostu. Heslo můžete samozřejmě zadat jiné než původně.
No pokud se nic nezvrtlo, nesmazalo, nebo se nestala jiná katastrofa, měli byjste mít nyní nainstalovaný funkční webový server Apache s podporou PHP a napojením na databázi MySQL. V opačném případě napište své problémy do komentářů, nebo se začněte usilovně modlit, sice Vám to vůbec nepomůže, ale prý to zlepšuje náladu :).

<strong>Pár tipů na závěr</strong>
Nezapomeňte, že pokaždé když něco měníte v nastavení Apache nebo PHP, musíte nejprve Apache server restartovat aby se změny projevily!
Služba Apache se vypíná v <strong>Ovládací panely/Administrativní nástroje/Služby</strong>. Zde najděte službu se jménem <strong>Apache2</strong>, klikněte na ni pravým tlačítkem myši a zvolte <strong>Vlastnosti</strong>. V rolovací nabídce <strong>Typ spuštění</strong> vyberte <strong>Manuální</strong> a stiskněte tlačítko <strong>OK</strong>. Nyní se nebude <strong>Apache</strong> spouštět po startu. K jeho spuštění musíte v nabídce Start najet na <strong>Apache HTTP Server/Control Apache Server/Start</strong>.
Stejný postup lze zopakovat také pro vypnutí služby databázového serveru MySQL. Jenom samozřejmě musíte vypnout službu <strong>MySQL</strong> :).
Pokud Vám vadí v systémové liště ikona <strong>Apache</strong>, která slouží k monitorování, restartování a dalším vymoženostem, není nic jednoduššího než z nabídky <strong>Start</strong> v sekci <strong>Programy/Po spuštění</strong> vymazat zástupce <strong>Monitor Apache Servers</strong>.

Pro slabší povahy jsem si připravil taky všechny konfigurační soubory, nastavené podle výše uvedeného návodu.
<a href="files/conf/httpd.conf" class="email" target="_blank">httpd.conf</a>
<a href="files/conf/php.ini" class="email" target="_blank">php.ini</a>
<a href="files/conf/info.php" class="email" target="_blank">info.php</a>
K uložení klikněte na odkaz pravým tlačítkem myši a zvolte <strong>uložit cíl jako</strong>.
Mějte ovšem na paměti, že první dva soubory jsou konfigurační soubory určené pro verze Apache 2.0.52 a PHP 4.3.10. Na jiných verzích tyto soubory nemusí fungovat správně!

posted by rhin0 on January 16th, 2005 at 0:48
comments: 4
views: 2790