Recommend switching to Docker

W końcu przestawiłem się na używanie Dockera do lokalnego rozwoju na macOS. Poniższy tutorial działa dla macOS Catalina, ale ma pewne ograniczenia. Zalecam zastosowanie się do mojego ostatniego tutoriala dotyczącego instalacji Apache, MySQL i PHP na macOS przy użyciu Dockera.

Uwaga: Ten post jest przeznaczony dla nowych instalacji. Jeśli zainstalowałeś Apache, PHP i MySQL dla Mac OS Mojave, przeczytaj mój post na temat aktualizacji Apache, PHP i MySQL dla macOS Catalina.

Jestem świadomy oprogramowania serwera WWW dostępnego dla macOS, zwłaszcza MAMP, a także menedżerów pakietów, takich jak brew. Dzięki nim można szybko rozpocząć pracę. Ale rezygnują z doświadczenia uczenia się i, jak donosi większość programistów, mogą stać się trudne do zarządzania.

macOS działa na szczycie UNIX. Większość oprogramowania UNIX łatwo instaluje się na macOS. Dodatkowo, Apache i PHP są preinstalowane z macOS. Tak więc, aby utworzyć lokalny serwer WWW, wszystko, co musisz zrobić, to skonfigurować Apache i zainstalować MySQL.

Wykonywanie poleceń

Po pierwsze, otwórz aplikację Terminal i przełącz się na użytkownika root, abyś mógł uruchomić polecenia w tym poście bez żadnych problemów z uprawnieniami:

sudo su -

Włącz Apache na macOS

apachectl start

Weryfikuj, czy działa! uzyskując dostęp do http://localhost

Włącz PHP dla Apache

Po pierwsze, wykonaj kopię zapasową domyślnej konfiguracji Apache. Jest to dobra praktyka i służy jako porównanie z przyszłymi wersjami macOS.

cd /etc/apache2/cp httpd.conf httpd.conf.Catalina

Teraz edytuj konfigurację Apache. Nie krępuj się użyć innego edytora, jeśli nie jesteś zaznajomiony z vi.

vi httpd.conf

Ukomentuj następującą linię (usuń #):

LoadModule php7_module libexec/apache2/libphp7.so

Restartuj Apache:

apachectl restart

Możesz sprawdzić, czy PHP jest włączone, tworząc stronę phpinfo() w swoim DocumentRoot.

Domyślne DocumentRoot dla macOS Catalina to /Library/WebServer/Documents. Możesz to zweryfikować na podstawie konfiguracji Apache.

grep DocumentRoot httpd.conf

Teraz utwórz stronę phpinfo() w swoim DocumentRoot:

echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php

Weryfikuj PHP, uzyskując dostęp do http://localhost/phpinfo.php

Instalacja MySQL na macOS Catalina

Pobierz i zainstaluj najnowsze ogólnie dostępne wydanie DMG MySQL dla macOS. MySQL 8 jest najnowszą wersją. Ale starsze wersje są dostępne, jeśli potrzebujesz wsparcia dla starszych aplikacji.

Kiedy instalacja się zakończy, dostarczy Ci tymczasowe hasło. Skopiuj to hasło przed zamknięciem instalatora. Będziesz go używał ponownie w kilku krokach.

W README sugeruje utworzenie aliasów dla mysql i mysqladmin. Istnieją jednak inne polecenia, które są pomocne, takie jak mysqldump. Zamiast tego możesz zaktualizować swoją ścieżkę, aby zawierała /usr/local/mysql/bin.

export PATH=/usr/local/mysql/bin:$PATH

Uwaga: Będziesz musiał otworzyć nowe okno Terminala lub uruchomić powyższe polecenie, aby Twoja ścieżka została zaktualizowana.

Na koniec powinieneś uruchomić mysql_secure_installation. Chociaż nie jest to konieczne, jest to dobra praktyka, aby zabezpieczyć swoją bazę danych. To jest również miejsce, gdzie możesz zmienić to paskudne tymczasowe hasło na coś bardziej zarządzalnego dla lokalnego rozwoju.

Połącz PHP i MySQL

Musisz upewnić się, że PHP i MySQL mogą komunikować się ze sobą. Istnieje kilka opcji, aby to zrobić. Podoba mi się poniższa, ponieważ nie wymaga zmiany wielu konfiguracji:

mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock

Dodatkowa konfiguracja (opcjonalnie)

Domyślna konfiguracja dla Apache 2.4 na macOS wydawała się dość szczupła. Na przykład, wspólne moduły takie jak mod_rewrite były wyłączone. Możesz rozważyć włączenie tego teraz, aby nie zapomnieć, że są wyłączone w przyszłości.

Edytowałem moją konfigurację Apache:

vi /etc/apache2/httpd.conf

Ukomentowałem następujące linie (usuń #):

LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so

Jeśli rozwijasz wiele projektów i chciałbyś, aby każdy z nich miał unikalny adres url, możesz skonfigurować Apache VirtualHosts dla macOS.

Jeśli chcesz zainstalować PHPMyAdmin, wróć do mojego oryginalnego postu o instalacji Apache, PHP i MySQL na macOS.

Ciekawe? Kontynuujmy rozmowę na Twitterze.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.