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.