19 de fevereiro de 2022 - Frederico Marinho
Instalar PHP+Apache+MySQL+phpMyAdmin no MacOS Monterey com homebrew
Nessa nova versão do MacOS, o Monterey, o PHP padrão que já vinha junto do sistema operacional foi removido. Antes só era necessário ativar o servidor, como explico aqui, porém agora é necessário instalar com o homebrew e ainda autenticar para uso. Complicou um pouco, burocratizou um pouco, mas nada que não tenha jeito.
Instalar o homebrew
Se você ainda não tem o homebrew instalado, será necessário fazer isso primeiro. Rode o comando de instalação abaixo no terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Caso não tenha o Command Line Tools do Xcode instalado você será alertado e será necessário pressionar ENTER para instalá-lo primeiro, antes de finalizar com o homebrew. Será necessário também digitar a senha de root algumas vezes durante o processo.
From https://github.com/Homebrew/homebrew-core * [new branch] master -> origin/master Updating files: 100% (6206/6206), done. HEAD is now at b4a4beeca8d bde: update 3.61.0.0 bottle. ==> Installation successful! ==> Homebrew has enabled anonymous aggregate formulae and cask analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics No analytics data has been sent yet (or will be during this `install` run). ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: https://github.com/Homebrew/brew#donations ==> Next steps: - Run `brew help` to get started - Further documentation: https://docs.brew.sh
Após essa mensagem, o homebrew estará instalado. Agora você está apto para instalar outros apps.
Instalando o PHP
Adicionar o Formulae do PHP
Digite o comando abaixo para instalar o gestor de pacotes do PHP:
brew tap shivammathur/php
Escolha a versão do PHP desejada
O comando abaixo instala o PHP 7.3
brew install shivammathur/php/php@7.3
As outras opções são:
- php@5.6
- php@7.0
- php@7.1
- php@7.2
- php@7.3
- php@7.4
- php@8.0 ou somente php
- php@8.1
Lincar com a versão do PHP:
brew link --overwrite --force php@7.3
Altere para sua versão desejada. Feche o terminal e abra novamente. Digite:
php -v
Você vai ver a versão do PHP ativa no seu MacOS. Para trocá-la, digite novamente o comando de instalação (brew install…) informando a nova versão. Será necessário entrar com o comando abaixo para deslincar a versão anterior e configurar a nova:
brew unlink php && brew link --overwrite --force php@8.1
Configurar o PHP com o Apache nativo do MacOS
Agora o PHP já está instalado, mas ainda precisamos configurar o Apache nativo e mostrar a ele onde está instalado nosso interpretador de códigos.
A burocracia que citei no início do post vem agora. Para usarmos o PHP no Apache nativo do MacOS, vamos precisar criar um certificado que autorize seu uso. Até o Monterey esse processo era opcional, mas agora é necessário ter o PHP Code Signed. Em breve vou criar um post explicando o processo, mas por enquanto siga esse post para fazer a assinatura de código (em inglês).
Particularmente eu prefiro usar o Apache nativo, porém é possível instalá-lo também pelo homebrew. Pretendo criar um post sobre isso futuramente. Por enquanto, tem esse post que pode te ajudar (em inglês).
Depois de finalizar a assinatura de código, siga os passos abaixo para carregar os módulos do PHP no Apache nativo do MacOS:
sudo vi /etc/apache2/httpd.conf
Encontre o bloco de linhas “Loadmodule” e adicione a linha de acordo com o seu equipamento:
Chip Intel
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
Chip da Apple
LoadModule php7_module /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so
Reinicie o Apache:
sudo apachectl restart
Agora a versão do PHP configurada já vai estar funcionando.
Uma opção, para quem precisa, é baixar todas as versões do PHP e deixar ativada somente a versão que precisa utilizar no momento (mude o prefixo de acordo com o chip da máquina, conforme explicado acima):
#LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so #LoadModule php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so #LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so #LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so #LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so #LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so #LoadModule php_module /usr/local/opt/php@8.1/lib/httpd/modules/libphp.so
PHP 8 e o Apache nativo do MacOS
Um passo extra é necessário para configurar o PHP 8 com o Apache nativo:
sudo vi /etc/apache2/httpd.conf
Adicione a nova linha com o PHP 8 e comente a antiga:
LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so
Adicione no final do arquivo:
<FilesMatch .php$> SetHandler application/x-httpd-php </FilesMatch>
Reinicie o Apache:
sudo apachectl restart
Removendo a versão antiga do homebrew (opcional)
Se você tiver repositórios antigos do PHP e uma versão anterior do homebrew instalada, talvez seja interessante removê-los:
rm -rf $(brew --cellar)/php
Remover Launch Agents e daemons antigos do PHP:
rm -f ~/Library/LaunchAgents/homebrew.mxcl.php* rm -f /Library/LaunchAgents/homebrew.mxcl.php* rm -f /Library/LaunchDaemons/homebrew.mxcl.php*
Remover o depreciado homebrew/php, se existir:
brew untap homebrew/php
Limpe o brew:
brew cleanup
Instalando MySQL no Monterey
Depois de finalizar com o PHP e o Apache, falta agora instalar o MySQL e o phpMyAdmin. Siga o post abaixo:
Configurando Virtual Hosts
Como boa prática, é melhor criar um virtual host para cada projeto a ser trabalhado no servidor. Siga os passos do post abaixo:
Deixe um comentário