28 de março de 2021 - Frederico Marinho
Como usar Virtual Hosts no Apache do MacOS
Estou impressionado o quanto a configuração do servidor web no MacOS BigSur é simples, e a configuração do Virtual Hosts no Apache é ainda mais fácil de fazer.\
Se você não está familiarizado com termo, eu criei um post anteriormente explicando como fazer essa configuração no Ubuntu e detalhe um pouco mais sobre essa funcionalidade. Veja lá.
Apesar de não ser necessário para o desenvolvimento, eu sinceramente não consigo trabalhar sem VHosts, fica muito mais profissional e evita vários problemas quando o projeto for colocado em um servidor de produção.
1. Adicionando a configuração
A primeira coisa é habilitar a configuração do VirtualHost no arquivo principal de configuração do Apache.
vi /etc/apache2/httpd.conf
Descomentar a seguinte linha:
Include /private/etc/apache2/extra/httpd-vhosts.conf
Agora o Apache vai carregar esse arquivo.
2. Adicionar um Virtual Host
Vamos configurar o arquivo específico de Virtual Hosts no Apache:
vi /etc/apache2/extra/httpd-vhosts.conf
Aqui está um exemplo do arquivo de configuração que criei:
<VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents" </VirtualHost>
<VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/nomedoprojeto.dev/public_html" ServerName nomedoprojeto.dev ErrorLog "/private/var/log/apache2/nomedoprojeto.dev-error_log" CustomLog "/private/var/log/apache2/nomedoprojeto.dev-access_log" common
<Directory "/Library/WebServer/Documents/nomedoprojeto.dev"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
Salve o arquivo.
A primeira configuração de Virtual Host aponta para o DocumentRoot em /Library/WebServer/Documents, importante por se comportar como a configuração padrão do Apache, usada quando nenhuma outra responder.
A segunda configuração aponta para a pasta do projeto, localizada em /Library/WebServer/Documents/nomedoprojeto.dev/public_html, onde devem estar os arquivos PHP, HTML e Javascript, e pode ser acessada pelo endereço http://nomedoprojeto.dev (ainda não vai funcionar, veja abaixo a configuração do arquivo Hosts).
Obs.: Eu usei a extensão .dev, para diferenciar de outras extensões reais e para me lembrar que é um projeto em desenvolvimento. Você pode usar qualquer extensão que desejar.
Reinicie o apache.
sudo apachectl restart
3. Configurando o arquivo Hosts
Para acessar de fato o projeto no endereço http://nomedoprojeto.dev, é preciso adicionar esse endereço apontando para o IP local no arquivo hosts. Faça:
sudo vi /etc/hosts
Adicione no final do arquivo a linha abaixo:
127.0.0.1 nomedoprojeto.dev
Para garantir uma atualização do cache, execute o comando abaixo:
dscacheutil -flushcache
Agora poderá acessar http://nomedoprojeto.dev no navegador.
4. Sobre permissões
Você provavelmente vai receber uma mensagem de erro 403 Forbidden. Isso é devido a permissões na pasta do projeto.
Coisa fácil de resolver. Execute no terminal:
sudo chmod -R 755 /Library/WebServer/Documents/nomedoprojeto.dev
Assim você garante, com o argumento -R (que quer dizer recursivo), que todas os arquivos das subpastas também recebam essa permissão.
Obs.: Existem várias formas de resolver problemas de permissão, essa pode não ser a melhor, mas é uma das mais fáceis.
Concluindo
A configuração do seu Virtual Host do Apache no MacOS está finalizada.
Para adicionar novos projetos, é preciso fazer todo o processo novamente a partir do segundo passo, adicionando um bloco <VirtualHost *:80> … </VirtualHost> no arquivo httpd-vhosts.conf e uma nova linha no arquivo /etc/hosts para cada novo endereço a ser utilizado.
0
Deixe um comentário