Recommend switching to Docker
Eu finalmente mudei para usar o Docker para desenvolvimento local em macOS. Embora o seguinte tutorial funcione para MacOS Catalina, ele tem limitações. Eu recomendo seguir meu último tutorial de instalação do Apache, MySQL e PHP em macOS usando Docker.
Note: Este post é para novas instalações. Se você instalou Apache, PHP e MySQL para Mac OS Mojave, leia meu post sobre Atualização de Apache, PHP e MySQL para macOS Catalina.
Eu estou ciente do software de servidor web disponível para macOS, notavelmente MAMP, bem como gerenciadores de pacotes como brew. Estes permitem que você comece rapidamente. Mas eles renunciam à experiência de aprendizagem e, como a maioria dos desenvolvedores relatam, pode tornar-se difícil de gerenciar.
macOS roda no topo do UNIX. A maioria dos softwares UNIX se instala facilmente no MacOS. Em Additional, Apache e PHP vêm pré-instalados com macOS. Então para criar um servidor web local, tudo que você precisa fazer é configurar o Apache e instalar o MySQL.
Executar Comandos
Primeiro, abra o aplicativo Terminal e mude para o usuário root para que você possa executar os comandos neste post sem nenhum problema de permissão:
sudo su -
Ativar Apache em macOS
apachectl start
Verifique-o funciona! acessando http://localhost
Ativar PHP para Apache
Primeiro, faça uma cópia de segurança da configuração padrão do Apache. Esta é uma boa prática e serve como comparação contra futuras versões do macOS.
cd /etc/apache2/cp httpd.conf httpd.conf.Catalina
Agora edite a configuração do Apache. Sinta-se livre para usar um editor diferente se você não estiver familiarizado com o vi.
vi httpd.conf
Descomente a seguinte linha (remova #):
LoadModule php7_module libexec/apache2/libphp7.so
Restart Apache:
apachectl restart
Pode verificar se o PHP está activado criando uma página phpinfo() no seu DocumentRoot.
O padrão DocumentRoot para macOS Catalina é /Library/WebServer/Documents. Pode verificar isto a partir da sua configuração do Apache.
grep DocumentRoot httpd.conf
Crie agora a página phpinfo() no seu DocumentRoot:
echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php
Verifique PHP acedendo a http://localhost/phpinfo.php
Instale o MySQL em macOS Catalina
Download e instale a última versão do MySQL geralmente disponível DMG para macOS. O MySQL 8 é a versão mais recente. Mas versões mais antigas estão disponíveis se você precisar suportar aplicações mais antigas.
Quando a instalação estiver completa, ela lhe fornecerá uma senha temporária. Copie esta senha antes de fechar o instalador. Você irá utilizá-la novamente em alguns passos.
O README sugere a criação de aliases para mysql e mysqladmin. Contudo existem outros comandos que são úteis, tais como mysqldump. Em vez disso, você pode atualizar seu caminho para incluir /usr/local/mysql/bin.
export PATH=/usr/local/mysql/bin:$PATH
Note: Você precisará abrir uma nova janela de Terminal ou executar o comando acima para o seu caminho de atualização.
Finalmente, você deve executar mysql_secure_installation. Embora isto não seja necessário, é uma boa prática para proteger o seu banco de dados. Aqui também é onde você pode mudar essa senha temporária desagradável para algo mais gerenciável para desenvolvimento local.
Conecte PHP e MySQL
Você precisa garantir que PHP e MySQL possam se comunicar entre si. Existem várias opções para o fazer. Eu gosto do seguinte porque não é necessário alterar muita configuração:
mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock
Configuração adicional (opcional)
A configuração padrão para o Apache 2.4 no macOS parecia bastante enxuta. Por exemplo, módulos comuns como mod_rewrite foram desabilitados. Você pode considerar ativar isso agora para evitar esquecer que eles estão desabilitados no futuro.
Eu editei minha Configuração do Apache:
vi /etc/apache2/httpd.conf
Eu descomentei as seguintes linhas (remova #):
LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so
Se você desenvolver vários projetos e quiser que cada um tenha uma url única, você pode configurar o Apache VirtualHosts para macOS.
Se você gostaria de instalar o PHPMyAdmin, volte ao meu post original sobre a instalação do Apache, PHP e MySQL em macOS.
Acha isto interessante? Vamos continuar a conversa no Twitter.