Este artigo é direcionado a desenvolvedores web que querem um servidor web Apache instalado como parte da configuração de seu ambiente de desenvolvimento em seu Mac.

Se você é um desenvolvedor PHP, então este artigo é um pré-requisito para o próximo artigo que irá guiá-lo através da instalação do PHP usando Homebrew e PECL. Um link para esse artigo pode ser encontrado no final desta página.

Como desenvolvedor, eu costumava confiar na versão do Apache que vinha pré-carregada com o SO no meu MacBook Pro. Com as sempre mutáveis regras de segurança no MacOS, eu decidi mudar toda a minha abordagem e em vez disso desabilitar a versão distribuída do Apache e usar uma configuração inteiramente em Homebraw. Esta nova abordagem permite mais flexibilidade para o versionamento e continuará a funcionar em todas as versões do MacOS.

Estas instruções funcionam da mesma forma para o MacOS 10.13 High Sierra e 10.14 Mojave. Eu não testei em versões anteriores do macOS, mas ele deve funcionar de forma semelhante. Além disso, você não precisa começar com uma nova instalação do SO para usar este artigo, mas tenho visto algumas coisas estranhas acontecerem ao atualizar para Mojave vs uma nova instalação (por exemplo, faltando completamente o arquivo de extensão do mod_deflate.so module extension inteiramente após a atualização). Eu recomendo uma nova instalação, mas se estiver a fazer uma actualização, esteja preparado para procurar alguns ficheiros e caminhos.

Vamos começar!

Abter as Últimas Actualizações do SO

Se acabou de fazer uma nova instalação do SO, provavelmente não vai precisar de fazer isto.

Instalar Xcode

Se você não estiver interessado em instalar o aplicativo Xcode inteiro, tudo bem, o comando Homebrew install irá instalar o Xcode Command Line Tools básico que ele precisa. No entanto eu recomendo a instalação completa especialmente se você estiver executando o Mojave. Para fazer isso você pode executar o seguinte comando do terminal.

xcode-select --install

Install Homebrew

O seguinte comando instalará Homebrew.

(Por favor note que o seguinte comando é uma única linha que foi embrulhada devido a restrições de largura de página em Medium. Certifique-se de copiar a linha inteira).

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Criar Diretórios de Arquivos de Log do Apache

O Apache vem pré-configurado com seus próprios diretórios de log, mas vamos criar nossa própria pasta “/usr/local/log/” para que eles sejam fáceis de encontrar quando precisarmos. Se você for mover para o próximo artigo para instalar o PHP, nós estaremos usando esse mesmo local de arquivo de log para os logs do PHP também, e teremos todos os logs em um só lugar.

Seguir esses passos para criar os diretórios apropriados e definir suas permissões. Descarte quaisquer mensagens “já existentes” que você possa obter.

$ sudo mkdir /usr/local/log$ sudo mkdir /usr/local/log/httpd$ sudo chgrp -R staff /usr/local/log/httpd$ sudo chmod -R ug+w /usr/local/log/httpd/

Instale e Configure o Apache

macOS 10.13 High Sierra e 10.14 Mojave vêm com o Apache pré-instalado. No entanto, ao invés de usar a versão entregue vamos instalar o Apache via Homebrew e depois configurá-lo para rodar na porta 80.

Se você já tiver o Apache pré-instalado rodando, ele precisará ser desligado primeiro e quaisquer scripts de carregamento automático removidos. Não custa executar os dois comandos a seguir, mesmo em uma nova instalação.

(Por favor note que o segundo comando é uma única linha que foi embrulhada devido a restrições de largura de página em Medium. Certifique-se de copiar a linha inteira).

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

Agora instale a nova versão do Apache fornecida por Homebrew.

$ brew install httpd

Após isso estar completo, execute o seguinte comando para iniciar o serviço Apache e certifique-se de que ele reinicie automaticamente no login.

$ brew services start httpd

Você agora instalou a versão do Apache em Homebrew e configurou-a para reiniciar automaticamente na reinicialização. Ele já deve estar rodando, então você deve ser capaz de apontar seu navegador para http://localhost:8080 e ver um cabeçalho simples que diz, “Funciona!”.

Note, estamos atualmente apontando para a porta 8080. Vamos mudar isso nos seguintes passos. Agora que temos um servidor web funcional, vamos querer fazer algumas alterações de configuração para que funcione mais ao nosso gosto … ou realmente apenas ao meu gosto ;-).

Vamos abrir o ficheiro de configuração do Apache:

$ open -e /usr/local/etc/httpd/httpd.conf

Alterar a Porta de Audição

Rollar para baixo e encontrar a linha que diz, “Listen 8080” e alterá-la para;

Listen 80

Ativar Módulos Úteis do Apache

Próximo você pode ativar os dois úteis módulos Apache a seguir. Você pode procurar pelas duas linhas a seguir e descomente-as removendo a hashtag principal “#”.

Ponte: a linha deflate está no meio da seção LoadModule e a linha reescrita está na parte inferior da seção LoadModule.

LoadModule deflate_module lib/httpd/modules/mod_deflate.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

Alterar configurações de usuário e grupo do Apache

Por padrão o Apache roda como o usuário _wwww e grupo _wwww. Em um pouco vamos definir nosso diretório de documentos padrão para um diretório “Sites” em nossa pasta Home, e essas configurações de usuário e grupo irão causar problemas de permissão ao tentar acessar arquivos em seu diretório home.

Croll cerca de um terço do caminho para baixo em seu arquivo httpd.conf e você encontrará duas linhas que definem o Usuário e o Grupo em que o Apache irá rodar. Mude-as para corresponder à sua conta de usuário. Substitua o seu_nome_de_utilizador pelo seu nome de utilizador MacBook e use um nome de grupo de pessoal.

User your_username
Group staff

Configurar Admin e Nome do Servidor Apache

Localize a linha “ServerAdmin” e active-a removendo a hashtag principal “#” (se necessário) e depois mude o email para o seu:

ServerAdmin [email protected]

Ative o nome do servidor Apache na configuração removendo a hashtag principal “#” e alterando-o para localhost:

ServerName localhost

Alterar a raiz do documento, diretório e overrides

Próximo vamos alterar a raiz do documento para o Apache. Esta é a pasta de onde o Apache procura servir os arquivos. Por padrão a raiz do documento é configurada como /usr/local/var/wwww. Como estamos criando um ambiente de desenvolvimento e queremos evitar o maior número possível de problemas de permissão de pastas, vamos mudar a raiz do documento para uma pasta em nosso diretório Home (que vamos criar em breve).

Continuar para rolar para baixo e encontrar a linha DocumentRoot. Altere-o para ler:

DocumentRoot "/Users/your_username/Sites"

Next, você também precisa alterar a referência da tag logo abaixo da linha DocumentRoot. Isto também deve ser alterado para apontar para a raiz do seu novo documento:

<Directory "/Users/your_username/Sites">;

Nesse mesmo bloco você encontrará uma configuração AllowOverride. Isto deve ser alterado de Nenhum para permitir a substituição de “Todos”:

AllowOverride All

Definir a localização do registo de erros do Apache

Finalmente, vamos definir a localização do registo de erros do Apache para a pasta que criámos anteriormente. Role um pouco mais para baixo e encontre a linha para “ErrorLog” e mude-a para ler da seguinte forma:

ErrorLog "/usr/local/log/httpd/error_log"

Guardar e sair do editor de texto.

Criar uma Pasta de Sites

Utilize as duas linhas seguintes para criar uma pasta “Sites” e adicione um índice.html para começar:

(Por favor note que o segundo comando é uma única linha que foi embrulhada devido a restrições de largura de página em Medium. Certifique-se de copiar a linha inteira).

$ mkdir ~/Sites
$ echo "<h1>It Works in my Sites Folder</h1>;" > ~/Sites/index.html

Restart Apache

Agora vamos reiniciar para ter certeza de que nossas configurações estão corretas:

$ sudo apachectl -k restart

Tente navegar para o seu host local em sua nova localização: http://localhost

Se isso funcionar e você vir a mensagem, “It Works in my Sites Folder” então parabéns! Você tem uma nova instância de servidor web rodando na porta 80.

Se você receber um erro, uma causa provável pode ser as aspas duplas usadas em torno de entradas de diretório no seu arquivo httpd.conf. Às vezes os editores de texto irão convertê-las para aspas do tipo caracteres latinos. Essas citações são opcionais e podem ser removidas. Tente remover as aspas duplas e reiniciar o Apache novamente.

admin

Deixe uma resposta

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

lg