Raccomanda di passare a Docker
Sono finalmente passato a usare Docker per lo sviluppo locale su macOS. Mentre il seguente tutorial funziona per macOS Catalina, ha dei limiti. Raccomando di seguire il mio ultimo tutorial sull’installazione di Apache, MySQL e PHP su macOS usando Docker.
Nota: Questo post è per le nuove installazioni. Se hai installato Apache, PHP e MySQL per Mac OS Mojave, leggi il mio post su Aggiornare Apache, PHP e MySQL per macOS Catalina.
Sono a conoscenza dei software per server web disponibili per macOS, in particolare MAMP, così come i gestori di pacchetti come brew
. Questi ti fanno iniziare rapidamente. Ma rinunciano all’esperienza di apprendimento e, come molti sviluppatori riferiscono, possono diventare difficili da gestire.
macOS gira sopra UNIX. La maggior parte del software UNIX si installa facilmente su macOS. Inoltre, Apache e PHP sono preinstallati con macOS. Quindi, per creare un server web locale, tutto quello che devi fare è configurare Apache e installare MySQL.
Eseguire i comandi
Prima di tutto, apri l’applicazione Terminale e passa all’utente root
in modo da poter eseguire i comandi in questo post senza problemi di permessi:
sudo su -
Enable Apache on macOS
apachectl start
Verifica che funzioni! accedendo a http://localhost
Enable PHP for Apache
Prima di tutto, fai un backup della configurazione predefinita di Apache. Questa è una buona pratica e serve come confronto con le future versioni di macOS.
cd /etc/apache2/cp httpd.conf httpd.conf.Catalina
Ora modifica la configurazione di Apache. Sentitevi liberi di usare un altro editor se non avete familiarità con vi.
vi httpd.conf
Scommenta la seguente linea (rimuovi #
):
LoadModule php7_module libexec/apache2/libphp7.so
Riavvia Apache:
apachectl restart
Puoi verificare che PHP sia abilitato creando una pagina phpinfo()
nel tuo DocumentRoot
.
Il DocumentRoot
predefinito per macOS Catalina è /Library/WebServer/Documents
. Puoi verificarlo dalla configurazione di Apache.
grep DocumentRoot httpd.conf
Ora crea la pagina phpinfo()
nel tuo DocumentRoot
:
echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php
Verifica PHP accedendo a http://localhost/phpinfo.php
Installa MySQL su macOS Catalina
Scarica e installa l’ultima release DMG di MySQL generalmente disponibile per macOS. MySQL 8 è l’ultima versione. Ma sono disponibili versioni più vecchie se hai bisogno di supportare applicazioni più vecchie.
Quando l’installazione completa ti fornirà una password temporanea. Copia questa password prima di chiudere il programma di installazione. La userai di nuovo tra qualche passo.
Il README suggerisce di creare alias per mysql
e mysqladmin
. Tuttavia ci sono altri comandi che sono utili come mysqldump
. Invece, puoi aggiornare il tuo percorso per includere /usr/local/mysql/bin
.
export PATH=/usr/local/mysql/bin:$PATH
Nota: Dovrai aprire una nuova finestra del Terminale o eseguire il comando sopra per aggiornare il tuo percorso.
Infine, dovresti eseguire mysql_secure_installation
. Anche se questo non è necessario, è una buona pratica per proteggere il tuo database. Questo è anche il momento in cui puoi cambiare quella brutta password temporanea in qualcosa di più gestibile per lo sviluppo locale.
Connetti PHP e MySQL
Devi assicurarti che PHP e MySQL possano comunicare tra loro. Ci sono diverse opzioni per farlo. Mi piace la seguente perché non richiede di cambiare molte configurazioni:
mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock
Configurazione aggiuntiva (opzionale)
La configurazione predefinita per Apache 2.4 su macOS sembra piuttosto scarna. Per esempio, moduli comuni come mod_rewrite
sono stati disabilitati. Potresti considerare di abilitarli ora per evitare di dimenticare che sono disabilitati in futuro.
Ho modificato la mia configurazione di Apache:
vi /etc/apache2/httpd.conf
Ho decommentato le seguenti linee (rimuovere #
):
LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so
Se sviluppi più progetti e vuoi che ognuno abbia un url unico, puoi configurare Apache VirtualHosts per macOS.
Se vuoi installare PHPMyAdmin, torna al mio post originale sull’installazione di Apache, PHP e MySQL su macOS.
Lo trovi interessante? Continuiamo la conversazione su Twitter.
Si può continuare su Twitter.