A Dockerre váltás ajánlása
Végre áttértem a Docker használatára a helyi fejlesztéshez macOS-en. Bár az alábbi bemutató működik macOS Catalina esetén, vannak korlátai. Javaslom, hogy kövesse a legújabb bemutatómat az Apache, MySQL és PHP telepítéséről macOS-en a Docker használatával.
Megjegyzés: Ez a bejegyzés új telepítésekre vonatkozik. Ha már telepítette az Apache-ot, a PHP-t és a MySQL-t Mac OS Mojave-re, olvassa el az Apache, PHP és MySQL frissítése macOS Catalina-ra című bejegyzésemet.
Tudom, hogy a macOS-re elérhető webszerver szoftverek, nevezetesen a MAMP, valamint az olyan csomagkezelők, mint a brew
. Ezekkel gyorsan el lehet kezdeni. De lemondanak a tanulási tapasztalatról, és ahogy a legtöbb fejlesztő beszámol róla, nehezen kezelhetővé válhatnak.
A macOS a UNIX tetején fut. A legtöbb UNIX-szoftver könnyen telepíthető a macOS-re. Ráadásul az Apache és a PHP előre telepítve érkezik a macOS-hez. Így egy helyi webszerver létrehozásához csak az Apache konfigurálására és a MySQL telepítésére van szükség.
Parancsok futtatása
Először is nyissa meg a Terminal alkalmazást, és váltson root
felhasználóra, hogy engedélyezési problémák nélkül futtathassa az ebben a bejegyzésben szereplő parancsokat:
sudo su -
Enable Apache on macOS
apachectl start
Verify It works! a http://localhost
Enable PHP for Apache
elérésével Először is készítsen biztonsági mentést az alapértelmezett Apache konfigurációról. Ez jó gyakorlat, és összehasonlításként szolgál a macOS jövőbeli verzióival szemben.
cd /etc/apache2/cp httpd.conf httpd.conf.Catalina
Most szerkessze az Apache konfigurációt. Nyugodtan használjon más szerkesztőt, ha nem ismeri a vi-t.
vi httpd.conf
Mondja ki a következő sort (távolítsa el a #
-t):
LoadModule php7_module libexec/apache2/libphp7.so
Újraindítsa az Apache-t:
apachectl restart
A PHP engedélyezését ellenőrizheti egy phpinfo()
oldal létrehozásával a DocumentRoot
-ban.
A macOS Catalina alapértelmezett DocumentRoot
-ja /Library/WebServer/Documents
. Ezt az Apache konfigurációjából ellenőrizheti.
grep DocumentRoot httpd.conf
Ezután hozza létre a phpinfo()
oldalt a DocumentRoot
-ban:
echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php
A PHP-t a http://localhost/phpinfo.php
A MySQL telepítése macOS Catalina-ra
Töltse le és telepítse a legújabb MySQL általánosan elérhető kiadás DMG-t macOS-re. A MySQL 8 a legújabb verzió. De régebbi verziók is elérhetők, ha régebbi alkalmazások támogatására van szüksége.
A telepítés befejezésekor egy ideiglenes jelszót ad. Másolja ki ezt a jelszót, mielőtt bezárja a telepítőt. Néhány lépés múlva újra használni fogja.
A README azt javasolja, hogy hozzon létre aliasokat a mysql
és mysqladmin
nevekhez. Vannak azonban más parancsok is, amelyek hasznosak, mint például a mysqldump
. Ehelyett frissítheti az elérési útvonalát, hogy az tartalmazza a /usr/local/mysql/bin
-t.
export PATH=/usr/local/mysql/bin:$PATH
Megjegyzés: Az elérési útvonal frissítéséhez új Terminal ablakot kell nyitnia, vagy a fenti parancsot kell futtatnia.
Végül futtassa a mysql_secure_installation
parancsot. Bár ez nem szükséges, de jó gyakorlat az adatbázis védelme érdekében. Itt is megváltoztathatja azt a csúnya ideiglenes jelszót valami kezelhetőbbre a helyi fejlesztéshez.
A PHP és a MySQL összekapcsolása
Szükség van arra, hogy a PHP és a MySQL kommunikálni tudjon egymással. Erre több lehetőség is van. Nekem a következő tetszik, mivel nem igényel sok konfiguráció megváltoztatását:
mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock
Kiegészítő konfiguráció (opcionális)
Az Apache 2.4 alapértelmezett konfigurációja macOS-en elég soványnak tűnt. Például az olyan gyakori modulok, mint a mod_rewrite
le voltak tiltva. Érdemes most engedélyezni, hogy a jövőben ne felejtse el, hogy le vannak tiltva.
Szerkesztettem az Apache konfigurációmat:
vi /etc/apache2/httpd.conf
Az alábbi sorokat feloldottam (távolítsa el a #
):
LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so
Ha több projektet fejleszt, és szeretné, ha mindegyiknek egyedi url-je lenne, akkor konfigurálhatja az Apache VirtualHosts-t macOS-re.
Ha a PHPMyAdmin-t szeretné telepíteni, térjen vissza az Apache, PHP és MySQL telepítéséről szóló eredeti bejegyzésemhez macOS-en.
Azt találta érdekesnek? Folytassuk a beszélgetést a Twitteren.