Doporučuji přejít na Docker
K lokálnímu vývoji na macOS jsem nakonec přešel na Docker. Následující návod sice pro macOS Catalina funguje, ale má svá omezení. Doporučuji postupovat podle mého posledního návodu na instalaci Apache, MySQL a PHP na macOS pomocí Dockeru.
Poznámka: Tento příspěvek je určen pro nové instalace. Pokud jste nainstalovali Apache, PHP a MySQL pro Mac OS Mojave, přečtěte si můj příspěvek Aktualizace Apache, PHP a MySQL pro macOS Catalina.
Jsem si vědom softwaru pro webové servery dostupného pro macOS, zejména MAMP, a také správců balíčků, jako je brew
. Díky nim můžete rychle začít. Zříkají se však učení a, jak uvádí většina vývojářů, jejich správa může být obtížná.
MacOS běží nad systémem UNIX. Většina softwaru UNIX se do systému macOS instaluje snadno. V systému MacOS jsou navíc předinstalovány aplikace Apache a PHP. Chcete-li tedy vytvořit místní webový server, stačí nakonfigurovat Apache a nainstalovat MySQL.
Spuštění příkazů
Nejprve otevřete aplikaci Terminál a přepněte se na uživatele root
, abyste mohli bez problémů spustit příkazy uvedené v tomto příspěvku:
sudo su -
Povolit Apache v systému macOS
apachectl start
Ověřit Funguje! přístupem http://localhost
Povolit PHP pro Apache
Nejprve vytvořte zálohu výchozí konfigurace Apache. Je to dobrý postup a slouží jako porovnání proti budoucím verzím systému macOS.
cd /etc/apache2/cp httpd.conf httpd.conf.Catalina
Nyní upravte konfiguraci Apache. Klidně použijte jiný editor, pokud neovládáte vi.
vi httpd.conf
Zakomentujte následující řádek (odstraňte #
):
LoadModule php7_module libexec/apache2/libphp7.so
Restartujte Apache:
apachectl restart
Ověřit, zda je PHP povoleno, můžete vytvořením stránky phpinfo()
ve svém DocumentRoot
.
Výchozí DocumentRoot
pro macOS Catalina je /Library/WebServer/Documents
. Můžete to ověřit z konfigurace Apache.
grep DocumentRoot httpd.conf
Nyní vytvořte stránku phpinfo()
ve svém DocumentRoot
:
echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php
Ověřte PHP přístupem k http://localhost/phpinfo.php
Instalace MySQL na macOS Catalina
Stáhněte a nainstalujte nejnovější obecně dostupné vydání MySQL DMG pro macOS. MySQL 8 je nejnovější verze. Pokud však potřebujete podporovat starší aplikace, jsou k dispozici i starší verze.
Po dokončení instalace vám poskytne dočasné heslo. Před zavřením instalačního programu toto heslo zkopírujte. V několika krocích jej použijete znovu.
V README se navrhuje vytvořit aliasy pro mysql
a mysqladmin
. Existují však i další užitečné příkazy, například mysqldump
. Místo toho můžete aktualizovat cestu tak, aby obsahovala /usr/local/mysql/bin
.
export PATH=/usr/local/mysql/bin:$PATH
Poznámka: Aby se cesta aktualizovala, musíte otevřít nové okno Terminálu nebo spustit výše uvedený příkaz.
Nakonec byste měli spustit mysql_secure_installation
. I když to není nutné, je to dobrý postup pro zabezpečení vaší databáze. Zde také můžete změnit to nepříjemné dočasné heslo na něco lépe zvládnutelného pro místní vývoj.
Propojení PHP a MySQL
Musíte zajistit, aby spolu PHP a MySQL mohly komunikovat. Existuje několik možností, jak toho dosáhnout. Líbí se mi následující, protože nevyžaduje změnu mnoha konfigurací:
mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock
Další konfigurace (volitelná)
Výchozí konfigurace pro Apache 2.4 v systému MacOS mi připadala dost chudá. Například běžné moduly jako mod_rewrite
byly zakázány. Můžete zvážit, zda je nyní povolit, abyste v budoucnu nezapomněli, že jsou zakázané.
Upravil jsem konfiguraci Apache:
vi /etc/apache2/httpd.conf
Odkomentoval jsem následující řádky (odstraňte #
):
LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so
Pokud vyvíjíte více projektů a chcete, aby každý z nich měl jedinečnou url adresu, můžete nakonfigurovat Apache VirtualHosts pro macOS.
Pokud chcete nainstalovat PHPMyAdmin, vraťte se k mému původnímu příspěvku o instalaci Apache, PHP a MySQL v systému macOS.
Zajímá vás to? Pokračujme v konverzaci na Twitteru.