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.

Deixe uma resposta

O seu endereço de email não será publicado.