Instalace nejnovější verze Apache 2.4, PHP 8.2, MariaDB 10.11 a Memcached na Windows 10 a 11

Nainstalujte si webový server Apache 2.4 se skriptovacím jazykem PHP 8.2 přímo na svůj počítač s Windows 10 a 11. K tomu si během pár vteřin přidejte databázový server MariaDB 10.11 Memcached.

A pro fajnšmekry tu je návod na „VirtualHost“, který využijete pro více (sub)domén na localhostu. Každá (sub)doména bude mít vlastní DocumentRoot“ a bude dostupná na samostatné adrese, například http://tronlaserarena.cz.localhost a http://devtea.cz.localhost.

Instalace PHP 8.2

Vytvořte hlavní adresář:

C:\dev

A do něj vytvořte adresář pro webové stránky:

C:\dev\localhost_www

Stažení PHP 8.2

Nejnovější verzi PHP 8.2 stáhněte z oficiálních stránek. Najdete ji jako „PHP 8.2 (8.2.x)“, zip u varianty „VS16 x64 Thread Safe“ (stahujeme variantu Thread Safe, protože u Apache nebudeme používat FastCGI, ale LoadModule, více o tom například zde).

Vytvořte adresář:

C:\dev\php82

a rozbalte do něj obsah staženého archivu.

Konfigurace PHP 8.2

Nejprve jděte do adresáře s rozbaleným PHP a přejmenujte konfigurační soubor:

C:\dev\php82\php.ini-development

na:

C:\dev\php82\php.ini

a zrovna jej otevřete v textovém editoru, abychom upravili některé parametry.

Spolu s PHP je přibalena i spousta rozšíření. Nejsou ale automaticky načítána, takže je třeba ručně zvolit, která chceme zavádět. Nejprve musíme určit místo, kde se rozšíření nacházejí. V konfiguračním souboru najděte následující řádek:

;extension_dir = "ext"

odstraňte z jeho začátku středník a upravte jej následovně:

extension_dir = "C:\dev\php82\ext"

Nyní určíme, která rozšíření budeme skutečně zavádět.

Odkomentujte (smažte středníky na začátku řádku) u následujících rozšíření:

;extension=bz2
;extension=ldap
;extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=mbstring
;extension=exif
;extension=mysqli
;extension=odbc
;extension=openssl
extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=soap
;extension=sockets
;extension=sodium
;extension=sqlite3
;extension=tidy
;extension=xsl
;extension=zip

Doporučuji také následující parametry navýšit takto:

max_execution_time = 300000
memory_limit = 256M
upload_max_filesize = 200M
post_max_size = 200M

Instalace Apache 2.4

Apache 2.4 přináší oproti předchozí verzi několik novinek, především ve způsobu zápisu dnes již zastaralého „deny from all“, kterým můžete zakázat přístup do adresáře. Uvedený zápis díky modulu mod_access_compat.so, který zachovává zpětnou kompatibilitu, naštěstí funguje i v nové verzi, takže se nového zápisu nemusíte obávat. Pokud vás zajímají rozdíly mezi Apache 2.2 a 2.4, doporučujeme navštívit tento dokument.

Stažení Apache 2.4

Apache Lounge se stará o vytváření binárních balíčků pro Windows (nikoli přímo Apache Software Foundation). Jděte proto jeho oficiální stránky, vlevo v nabídce vyberte VC16 a stáhněte nejnovější verzi „Apache 2.4.x Win64“ – stáhněte 64bitovou variantu.

Ze staženého archivu zkopírujte celý adresář „Apache2“, takže na disku budete mít:

C:\dev\Apache24\

Příprava konfiguračního souboru

V textovém editoru přejmenujte konfigurační soubor httpd.conf:

C:\dev\Apache24\conf\httpd.conf

na httpd_php82.conf.

Měli byste mít následující soubor:

C:\dev\Apache24\conf\httpd_php82.conf

Úprava konfiguračního souboru

Ve výše připraveném konfiguračním souboru nastavíme adresář, ve kterém se nachází rozbalený Apache (ServerRoot). Najděte následující řádek:

Define SRVROOT "c:/Apache24"

a upravte jej následovně:

Define SRVROOT "c:/dev/Apache24"

Nastavíme, na jaké adrese a portu bude Apache poslouchat. Uvedeme adresu 127.0.0.1, aby obsah nebyl dostupný v rámci lokální sítě, ale pouze pro tento počítač. Najděte proto následující řádek:

Listen 80

a změňte ho takto:

Listen 127.0.0.1:80

Určíme moduly, které budeme chtít zavádět. Odkomentujte (smažte mřížku na začátku řádku) u následujících modulů:

#LoadModule access_compat_module modules/mod_access_compat.so
#LoadModule alias_module modules/mod_alias.so
#LoadModule deflate_module modules/mod_deflate.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule rewrite_module modules/mod_rewrite.so

Nastavíme DocumentRoot serveru, který se načte po zadání adresy http://localhost do webového prohlížeče. Najděte proto tento řádek:

DocumentRoot "${SRVROOT}/htdocs"

a změňte jej takto:

DocumentRoot "C:/dev/localhost_www"

Hned pod tím se nachází nastavení specifických pravidel pro daný adresář, proto najděte následující řádek:

<Directory "${SRVROOT}/htdocs">

a změňte ho následovně:

<Directory "C:/dev/localhost_www">

Nyní povolíme zpracování načítání souborů .htaccess. O pár řádků níže (v téže části  <Directory „C:/dev/localhost_www“>…</Directory>) změňte následující řádek:

AllowOverride none

takto:

AllowOverride All

Aby se nám načítal index.php, aniž bychom jej museli zadávat do adresního řádku prohlížeče, najděte tento řádek:

DirectoryIndex index.html

A upravte jej následovně:

DirectoryIndex index.html index.htm index.php

A na konec souboru přidejte následující řádky pro zpracování php souborů: 

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Dále přidejte zavedení podpory PHP (LoadModule) a určíme, kde se má hledat konfigurační soubor php.ini (PHPIniDir):

LoadModule php_module "C:/dev/php82/php8apache2_4.dll"
PHPIniDir "C:/dev/php82"

A na úplný konec doporučuji přidat následující řádky, které vám pomohou se vyhnout pomalému načítání stránek na localhostu:

AcceptFilter http none
AcceptFilter https none

Proměnné prostředí

Jako poslední krok je třeba nastavit Proměnné prostředí (Environment Variables). Klikněte na nabídku Start ve Windows vlevo dole, pomocí hledání vyhledejte „Upravit proměnné prostředí systému“ (Edit the system environment variables) a klepněte na pravé dolní tlačítko „Proměnné prostředí…“ (Environment Variables). V dolní části „Systémové proměnné“ (System variables) najděte řádek „Path“, klepněte na něj myší a poté klepněte na tlačítko „Upravit…“ (Edit).

Pomocí tlačítka „Nový…“ (New) je třeba přidat dva následující řádky:

C:\dev\php82\
C:\dev\Apache24\bin\

Všechna otevřená okna poté pozavírejte klepáním na tlačítka „OK“, aby se změna uložila.

Instalace služby Apache a otestování konfiguračním souboru

Nyní se dostáváme k samotné instalaci Apache. Spusťte Příkazový řádek (Command Prompt) jako správce a zadejte do něj následující příkaz a stiskněte enter:

httpd.exe -k install -n "Apache24_php82" -f "C:\dev\Apache24\conf\httpd_php82.conf"

Službu jsme pojmenovali jako „Apache24_php82“ – můžeme si stejným způsobem nainstalovat více verzí Apache či PHP (a jejich kombinace), tak ať se v tom do budoucna vyznáme. Za parametrem -f předáváme adresu konfiguračního souboru pro danou službu Apache.

Pokud jste vše správně zadali, služba by se měla nainstalovat bez zbytečného povyku. Jestli se vyskytly nějaké chyby v konfiguračním souboru, můžete jej otestovat a problémy opravit (například špatně uvedené cesty do adresářů či volání neexistujících modulů atd.):

httpd.exe -t -f "C:\dev\Apache24\conf\httpd_php82.conf"

Jestli se vám podařilo službu úspěšně zavést, spusťte ji takto (teď je to nutné udělat ručně, po restartu počítače se už ale spustí sama):

httpd.exe -k start -n "Apache24_php82"

Takto lze službu ukončit:

httpd.exe -k stop -n "Apache24_php82"

Nebo později odinstalovat:

httpd.exe -k uninstall -n "Apache24_php82"

restartovat:

httpd.exe -k restart -n "Apache24_php82"

Otestování, jdeme na to!

Vytvořte soubor:

C:\dev\localhost_www\index.php

Napište do něj tyto dva řádky a uložte:

<?php
phpinfo();

Nyní už stačí zadat do adresního řádku webového prohlížeče adresu http://localhost. Pakliže je vše správně nastaveno, měla by vás uvítat stránka s informacemi o nastavení PHP, kterou nám vygenerovala funkce phpinfo().

Jestli se požadovaná stránka nenačetla, restartujte počítač. 

Manuály naleznete na oficiálních stránkách: Apache a PHP

Pro pokročilé: VirtualHost pro provoz více „domén“ na localhostu

Ještě chvíli se zastavíme u Apache. Pokud pracujete na více projektech a chcete je mít všechny k dispozici lokálně a ve vlastním kořenovém adresáři (a třeba s odlišnou konfigurací), stačí sáhnout po VirtualHostech.

Pokud vám postačuje pouze jeden http://localhost, můžete tuto část přeskočit a plynule přejít k instalaci MySQL.

Představte si, že chcete mít kromě localhostu přístupné také domény „devtea.cz.localhost“ a „tronlaserarena.cz.localhost“ – pro přehlednost doporučuji ponechávat originální názvy domén a na konec připojit „.localhost“.

Na konec konfiguračního souboru:

C:\dev\Apache24\conf\httpd_php82.conf

Přidejte:

<VirtualHost 127.0.0.1:80>
    ServerName devtea.cz.localhost
    DocumentRoot "C:/dev/localhost_www/p/devtea.cz"
</VirtualHost>

<VirtualHost 127.0.0.1:80>
    ServerName tronlaserarena.cz.localhost
    DocumentRoot "C:/dev/localhost_www/p/tronlaserarena.cz"
</VirtualHost>

Pro každý záznam napřed specifikujeme ip adresu localhsotu, osmdesátkový port, kořenový adresář (DocumentRoot) a název domény (ServerName).

Aby se nám správně načítal obsah i z původní domény localhost, přidejte ještě na konec souboru následující kód:

<VirtualHost 127.0.0.1:80>
    ServerName localhost
    DocumentRoot "C:/dev/localhost_www"
</VirtualHost>

Soubor httpd_php82.conf uložte restartujte Apache pomocí příkazového řádku:

httpd.exe -k restart -n "Apache24_php82"

Pro každou takovou „doménu“ musíte ještě přidat záznam do souboru „hosts“ (soubor je bez přípony), který se ve Windows 10 nachází v systémovém adresáři:

c:\Windows\System32\drivers\etc\hosts

Soubor hosts je chráněný, takže spusťte libovolný textový editor (postačí i Poznámkový blok) jako správce a přidejte do něj následující řádky:

127.0.0.1  localhost
127.0.0.1  devtea.cz.localhost
127.0.0.1  tronlaserarena.cz.localhost

Od teď vám budou fungovat nastavené localhostové domény.

Většina moderních prohlížečů by neměla domény *.localhost přesměrovávat na vyhledávání v Google, ale přímo zobrazí obsah. Místo .localhost sice můžete použít .test, .dev nebo .local, ale doporučuji ponechat .localhost, protože je více friendly s password managery, firewally, antiviry atd.

Manuály naleznete na oficiálních stránkách: Apache

Nyní ale jdeme pokračovat v instalaci databázového serveru… 

Instalace MariaDB 10.11

Instalace MariaDB je zcela bezproblémová. Stáhněte si oficiální instalátor a spusťte jej. Vše další odklikejte až do zdárného konce, po dokončení bude databáze plně k dispozici. Připojit se k ní můžete následujícími údaji:

Server: localhost (nebo 127.0.0.1)
Port: 3306
User: root
Password: vaše_heslo

Manuál naleznete na oficiálních stránkách: MariaDB

Instalace Memcached

U instalace Memcached pro Windows je asi nejsložitější najít aspoň trochu aktuální a funkční verzi.

Stažení Memcached

Stáhněte Memcached 1.4.4. V oficiálním repositáři sice už existují novější verze, ale ne pro Windows, takže se s těmito postaršími také spokojíme.

Vytvořte následující adresář:

C:\dev\memcached

rozbalte do něj soubory ze staženého archivu.

Instalace služby Memcached

Spusťte Příkazový řádek jako správce, přejděte do složky:

C:\dev\memcachced\

a zadejte následující instalační příkaz a enter:

memcached.exe -d install

Nyní je Memcached nainstalované jako služba.

Spustit jej můžete příkazem (z adresáře C:\dev\memcachced\):

memcached.exe -d start

nebo ukončit:

memcached.exe -d stop

Po restartu počítače se služba Memcached spustí automaticky.

Pokud jej budete potřebovat odinstalovat, zadejte následující příkaz a enter:

memcached.exe -d uninstall

Nastavení PHP pro Memcache(d)

Na stránce repozitáře PHP-memcache-dll naleznete nejnovější verzi DLL souboru pro Windows, případně přímo na oficiálních stránkách rozšíření pro PHP. Nezapomeňte, že Memcache musíte stahovat pro stejnou verzi jako máte PHP, tj. VC16x64 a Thread Safe (ts).

V master verzi Git hubu si stáhněte tuto aktuální stabilní verzi (soubor php-8.2.x_memcache.dll):

https://github.com/nono303/PHP-memcache-dll/tree/master/vs16/x64/ts

Soubor přejmenujte na php_memcache.dll a zkopírujte do adresáře /ext/ s rozšířeními PHP (např. C:\dev\php82\ext).

Následně upravte konfigurační soubor php.ini (např. C:\dev\php82\php.ini) tak, že k rozšířením přidáte následující řádek:

extension=memcache

Pro správu Memcached si můžete stáhnout PHP aplikaci PHPMemcachedAdmin.

Mimochodem: Na oficiálních stránkách PHP můžete nalézt rozšíření Memcache, to ale nepodporuje PHP 8.2 pro Windows (je pouze dostupné do PHP 7.4). Na oficiálních stránkách PHP naleznete také rozšíření nazvané Memcached (s písmenem „d“ na konci, tedy stejně jako název aplikace), to ale na Windows nemusí fungovat. Bez obav proto používejte rozšíření Memcache z návodu výše, které vám bude spolehlivě fungovat.

Manuál naleznete na oficiálních stránkách: Memcached

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..