Ambiente de desenvolvimento PHP/Laravel no macOS — parte 3/10

Nando Salles
6 min readJul 19, 2018

--

Se você está acessando este artigo pela primeira vez, talvez tenha perdido o início da história toda.

Atualmente estou trabalhando profissionalmente com desenvolvimento de projetos WEB utilizando PHP e Laravel. Para a realização dos meus trabalhos, utilizo um computador Macbook Pro e para deixar o ambiente de trabalho do jeito que necessito, precisei configura-lo de forma que todos os recursos necessários estivessem sendo atendidos.

E como forma de deixar toda a sequência de preparação e configuração do computador registrado, resolvi escrever os passos que utilizo e publicar à comunidade de forma de contribuição a todos.

Este artigo faz parte de um conjunto de nove outros artigos que chamei de Ambiente de desenvolvimento PHP/Laravel no macOS. Por ser um processo relativamente longo, escolhi escrever textos pequenos e com objetivos bem definidos e desta forma cada leitor poderá ir diretamente para a parte que julgar mais necessário e interessante.

Para facilitar, coloquei a seguir o sumário de todos os artigos que fazem parte desta série para que você possa entender a sequência utilizada. As partes que compõem esta série são:

Nesta terceira parte deste artigo, vou abordar os passos necessários para ativar e configurar o servidor Apache.

Vamos lá então.

Parte 3 — Ativando e configurando o Apache

a) Ativando o Apache

O macOS High Sierra já vem com Apache instalado de fábrica. O que temos que fazer é apenas informar que queremos que o servidor seja iniciado.

Para isso, no terminal de comandos digite:

sudo apachectl start

Para testar o funcionamento básico, abra seu navegador preferido e no endereço digite:

localhost

Se tudo ocorreu bem, você terá a seguinte tela:

Figura 1 — Teste de funcionamento do servidor Apache.

b) Ativando o PHP no Apache

O macOS High Sierra também já vem com o PHP instalado como padrão. A versão do SO atualmente é a 10.13.6, como pode-se ver a seguir.

Figura 2 — Configuração e versão do macOS High Sierra.

Para verificar a versão do PHP que está instalada no seu computador, abra o terminal e digite o comando:

php -v

Você terá uma saída parecida como a da figura a seguir:

Figura 3 — Verificando a versão do PHP.

Agora, o que faremos é dizer para o Apache ativar o PHP. Para isso, vamos editar o arquivo http.conf que está localizado no diretório /etc/apache2.

DICA: Sempre que você for modificar um arquivo importante, é altamente recomendado que faça antes uma cópia deste arquivo, pois se necessário você poderá voltar as configurações anteriores.

Abra o terminal e digite.

code /etc/apache2/http.conf

Vá até a linha 176 que contém o parâmetro abaixo e retire o ‘#’ do começo, ficando da seguinte forma:

LoadModule php7_module libexec/apache2/libphp7.so

Salve o arquivo e no terminal execute o comando:

Figura 4 — Reiniciando o servidor Apache.

Se solicitado, forneça a sua senha para que o servidor Apache seja reiniciado.

Por padrão, o Apache utiliza o diretório localizado em /Library/WebServer/Documents, vamos criar um arquivo neste diretório para testarmos o PHP. Digite no terminal:

sudo nano /Library/WebServer/Documents/phpinfo.php

Forneça sua senha se solicitada. No arquivo, digite a seguinte sequência:

<?php 
phpinfo();
?>

Depois, aperte Ctrl+X e responda Y (yes) para salvar o arquivo. Abra o seu navegador e no endereço digite localhost/phpinfo.php. Se tudo ocorreu bem, será exibida uma tela parecida com a imagem a seguir indicando que o Apache agora reconhece o PHP.

Figura 5 — Tela com as configurações do PHP.

c) Configurando um diretório de trabalho

Como comentei anteriormente, o diretório default que o Apache utiliza está localizado em /Library/WebServer/Documents. Como o nosso objetivo é criarmos um ambiente para desenvolvermos nossos projetos Web, nada melhor do que configurarmos este ambiente dentro da nossa área de trabalho.

Para isto, vamos criar inicialmente um diretório chamado Projetos que será onde colocaremos os nossos projetos WEB. Você pode criar este diretório diretamente pelo Finder do macOS High Sierra ou então terminal executando o comando abaixo.

cd ~
mkdir Projetos

O primeiro comando fará com que você se posicione no diretório raiz da sua home e o segundo comando criará o diretório que queremos.

Agora, precisamos dizer para o Apache o novo diretório raiz. Para isso edite novamente o arquivo httpd.conf e localize as linhas a seguir:

DocumentRoot “/Library/WebServer/Documents”<Directory “/Library/WebServer/Documents”>

E altere-as para:

DocumentRoot “/Users/fernando/Projetos”
<Directory “/Users/fernando/Projetos”>

Não se esqueça de alterar o nome do usuário fernando para o seu username e o nome do diretório Projetos para o que você escolheu.

Vamos aproveitar e mudar o nome do usuário e do grupo para que não tenhamos problemas de acessos nas páginas dos nossos projetos.

Localize as linhas a seguir:

User _www
Group _www

E altere-as para:

User fernando
Group staff

Não se esqueça de colocar o seu username. Salve o arquivo e reinicie o Apache.

Para verificarmos se está funcionando, crie o arquivo index.php dentro do diretório Projetos e dentro do arquivo coloque o código que vimos anteriormente.

d) Criando virtual hosts

Como o objetivo deste artigo é trabalharmos com um ambiente para desenvolvimentos de projetos. É muito comum criarmos hosts virtuais um para cada projeto criado.

A criação de um virtual host é muito simples, basta fazer o seguinte:

(1) Edite o arquivo de configuração para que o Apache reconheça o seu virtual host.

Vamos supor que você queira criar um virtual host para um projeto chamado alabama que ficará em /Users/fernando/Projetos/alabama de tal modo que para acessar o seu projeto pelo navegador você quer associar ao endereço http://alabama.app.

Primeiramente, vamos configurar o Apache para isso. Edite o arquivo httpd-vhosts.conf que está no diretório /etc/apache2/extra com seu editor preferido.

code /etc/apache2/extra/httpd-vhosts.conf

Neste arquivo você vai encontrar dois blocos de VirtualHost como no exemplo a seguir.

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot “/usr/docs/dummy-host.example.com”
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog “/private/var/log/apache2/dummy-host.example.com-error_log”
CustomLog “/private/var/log/apache2/dummy-host.example.com-access_log” common
</VirtualHost>

Copie qualquer um dos blocos para o final do arquivo e faça as seguintes alterações:

<VirtualHost *:80>
ServerAdmin fernando@seuprovedor.com.br
DocumentRoot “/Users/fernando/Projetos/alabama/public”
ServerName alabama.app
ServerAlias www.alabama.app
ErrorLog “/private/var/log/apache2/alabama.app-error_log”
CustomLog “/private/var/log/apache2/ alabama.app -access_log” common
</VirtualHost>

Não se esqueça de personalizar conforme o nome do seu projeto e username.

Se você tiver outros projetos, é só duplicar este bloco e fazer as alterações necessárias.

Salve o arquivo.

Vamos agora dizer ao Apache que queremos utilizar virtuais hosts. Edite novamente o arquivo httpd.conf e localize a linha:

#Include /private/etc/apache2/extra/httpd-vhosts.conf

E retire o caractere de comentário ‘#’.

Salve o arquivo e reinicie o Apache.

(2) Ajustando o arquivo hosts

Agora o que iremos fazer é editar o arquivo hosts que fica no diretório /etc para apontar o ip para o nosso projeto.

Para isso, utilize o seu editor preferido.

code /etc/hosts

E no final do arquivo coloque a seguinte linha:

127.0.0.1 alabama.app

Repita o passo anterior para cada novo projeto seu.

Para checarmos se está tudo correndo bem, no terminal vamos criar a estrutura de diretórios e o arquivo de teste. Digite o seguinte.

cd ~
mkdir -p Projetos/alabama/public
echo “<html><body>Você está no projeto alabama</body></html>” > Projetos/alabama/public/index.php

Agora abra o navegador e aponte para o endereço http://alabama.app

Se tudo estiver correto, você verá este resultado no seu navegador.

Figura 6 — Teste de funcionamento do Virtual Host.

Pronto !!! Tudo funcionando até aqui.

Até a próxima pessoal.

--

--

Nando Salles

Laravel, Web Developer, Master in Mechanical Engineering, MBA in People Management, Bachelor in Computing, Photographer, Professor and Technology Lover.