Beveel aan om over te schakelen naar Docker

Ik ben eindelijk overgestapt op het gebruik van Docker voor lokale ontwikkeling op macOS. Hoewel de volgende tutorial werkt voor macOS Catalina, heeft het beperkingen. Ik raad aan mijn laatste tutorial te volgen over het installeren van Apache, MySQL, en PHP op macOS met Docker.

Note: Deze post is voor nieuwe installaties. Als u Apache, PHP, en MySQL voor Mac OS Mojave hebt geïnstalleerd, lees dan mijn post over het bijwerken van Apache, PHP, en MySQL voor macOS Catalina.

Ik ben me bewust van de webserver-software die beschikbaar is voor macOS, met name MAMP, evenals pakketbeheerders zoals brew. Deze helpen je snel op weg. Maar ze gaan voorbij aan de leerervaring en, zoals de meeste ontwikkelaars melden, kunnen moeilijk te beheren worden.

macOS draait boven op UNIX. De meeste UNIX-software installeert gemakkelijk op macOS. Bovendien zijn Apache en PHP al voorgeïnstalleerd op macOS. Dus om een lokale webserver te maken, hoeft u alleen maar Apache te configureren en MySQL te installeren.

Commando’s uitvoeren

Open eerst de Terminal app en schakel over naar de root gebruiker, zodat u de commando’s in deze post kunt uitvoeren zonder toestemmingsproblemen:

sudo su -

Sluit Apache in op macOS

apachectl start

Verkifieer of het werkt! door http://localhost

PHP inschakelen voor Apache

Maak eerst een back-up van de standaardconfiguratie van Apache. Dit is een goede gewoonte en dient als vergelijkingsmateriaal voor toekomstige versies van macOS.

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

Nu bewerkt u de Apache-configuratie. Gebruik gerust een andere editor als u niet bekend bent met vi.

vi httpd.conf

Verwijder het commentaar op de volgende regel (verwijder #):

LoadModule php7_module libexec/apache2/libphp7.so

Herstart Apache:

apachectl restart

U kunt controleren of PHP is ingeschakeld door een phpinfo() pagina in uw DocumentRoot aan te maken.

De standaard DocumentRoot voor macOS Catalina is /Library/WebServer/Documents. U kunt dit controleren via uw Apache-configuratie.

grep DocumentRoot httpd.conf

Nu maakt u de phpinfo() pagina in uw DocumentRoot:

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

Verifieer PHP door http://localhost/phpinfo.php

Installeer MySQL op macOS Catalina

Download en installeer de nieuwste MySQL algemeen beschikbare release DMG voor macOS. MySQL 8 is de nieuwste versie. Maar oudere versies zijn beschikbaar als u oudere toepassingen wilt ondersteunen.

Wanneer de installatie is voltooid, krijgt u een tijdelijk wachtwoord. Kopieer dit wachtwoord voordat u het installatieprogramma afsluit. U zult het in een paar stappen weer gebruiken.

De README suggereert om aliassen aan te maken voor mysql en mysqladmin. Er zijn echter andere commando’s die nuttig zijn, zoals mysqldump. In plaats daarvan kunt u uw pad bijwerken met /usr/local/mysql/bin.

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

Noot: U moet een nieuw Terminal-venster openen of het bovenstaande commando uitvoeren om uw pad bij te werken.

Tot slot moet u mysql_secure_installation uitvoeren. Hoewel dit niet noodzakelijk is, is het een goede gewoonte om uw database te beveiligen. Dit is ook de plaats waar u dat vervelende tijdelijke wachtwoord kunt veranderen in iets dat beter te beheren is voor lokale ontwikkeling.

Connect PHP and MySQL

U moet ervoor zorgen dat PHP en MySQL met elkaar kunnen communiceren. Er zijn verschillende opties om dit te doen. Ik vind de volgende goed omdat er niet veel configuratie hoeft te worden gewijzigd:

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

Aanvullende configuratie (optioneel)

De standaardconfiguratie voor Apache 2.4 op macOS lijkt vrij mager. Veelgebruikte modules zoals mod_rewrite waren bijvoorbeeld uitgeschakeld. U kunt overwegen om dit nu in te schakelen om te voorkomen dat u in de toekomst vergeet dat ze zijn uitgeschakeld.

Ik heb mijn Apache Configuratie bewerkt:

vi /etc/apache2/httpd.conf

Ik heb de volgende regels uitgecommentarieerd (verwijder #):

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

Als u meerdere projecten ontwikkelt en elk project een unieke url wilt geven, kunt u Apache VirtualHosts configureren voor macOS.

Als u PHPMyAdmin wilt installeren, ga dan terug naar mijn oorspronkelijke post over het installeren van Apache, PHP en MySQL op macOS.

Vindt u dit interessant? Laten we het gesprek voortzetten op Twitter.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.