🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

Introdução ao httpd.conf: Entendendo o arquivo de configuração do Apache (Portas, Diretórios, Logs)

No artigo anterior, deu o primeiro passo ao instalar o Apache no seu computador e pôr um servidor web a funcionar. Parabéns! Assim que o servidor estiver a funcionar, o próximo passo é "configurá-lo ao seu gosto". O responsável por controlar toda essa configuração é o ficheiro que pode ser considerado o "cérebro" do Apache: o httpd.conf.

Neste artigo, vamos focar-nos em algumas das configurações mais importantes para controlar o Apache e explicá-las uma a uma de forma cuidadosa para que até os iniciantes possam entender. Especificamente, abordaremos os seguintes três temas:

Com apenas algumas edições neste ficheiro, o seu servidor web pode tornar-se muito mais prático e seguro. Vamos explorar juntos o mundo do ficheiro de configuração do Apache!

[MUITO IMPORTANTE!]: Antes de editar o ficheiro `httpd.conf`, faça sempre uma cópia de segurança do ficheiro. Se copiar o ficheiro original e o guardar com um nome como `httpd.conf.bk`, poderá restaurá-lo rapidamente caso cometa um erro na configuração. Esta é uma regra de ouro que até os engenheiros profissionais seguem sempre.


Onde se encontra o httpd.conf?

Primeiro, vamos descobrir onde está o crucial ficheiro de configuração `httpd.conf`. A sua localização varia dependendo do método de instalação.

Assim que encontrar o ficheiro no seu ambiente, abra-o com um editor de texto. As linhas que começam com `#` são comentários e não afetam a configuração. Tente encontrar no ficheiro as diretivas (itens de configuração) que vamos apresentar a seguir.


1. Configuração de Portas - A diretiva Listen

Uma "porta" é como um "número de guichet" que o servidor usa para escutar as comunicações. Se um endereço IP for a morada de um edifício, o número da porta é como o número do quarto dentro desse edifício. A porta padrão para comunicação web HTTP é a "porta 80".

A diretiva que especifica este número de porta é a Listen.

# O Apache escuta os pedidos na porta 80
Listen 80

Normalmente, esta configuração não precisa de ser alterada. No entanto, pode querer alterar este número se, por exemplo, outra aplicação como o Skype já estiver a usar a porta 80 e a impedir o Apache de arrancar, ou se quiser executar vários servidores web num único PC. Por exemplo, vamos tentar alterá-la para a porta `8080`.

# Alterar a porta de escuta para 8080
Listen 8080

Após esta alteração de configuração e o reinício do Apache, terá de aceder ao seu site especificando o número da porta, assim: `http://localhost:8080`.


2. Configuração de Diretórios - DocumentRoot e Directory

A configuração de diretórios é uma parte crucial para decidir "que ficheiros, em que localização" e "sob que regras" serão publicados.

DocumentRoot: A porta de entrada do site

O DocumentRoot especifica a pasta de nível superior onde os ficheiros do seu site (HTML, CSS, imagens, etc.) são guardados. Quando um pedido chega do exterior, este é o primeiro local que o Apache verifica. Pense nele como a porta de entrada do seu site.

# Exemplo de caminho para Unix/Linux/macOS
DocumentRoot "/usr/local/apache2/htdocs"

# Exemplo de caminho para Windows
# DocumentRoot "c:/Apache24/htdocs"

<Directory>: Definir as regras de cada divisão

O bloco <Directory> define regras de acesso e comportamentos mais detalhados para a pasta especificada no `DocumentRoot`. Por exemplo, o papel deste bloco é conceder permissões do tipo "qualquer pessoa pode entrar nesta divisão, mas o residente pode definir as suas próprias regras lá dentro".

<Directory "/usr/local/apache2/htdocs">
    # Se permite que as configurações sejam sobrescritas por ficheiros .htaccess
    # Definir como "All" ativa várias configurações no .htaccess
    AllowOverride All

    # Método de controlo de acesso para este diretório
    # "Require all granted" permite o acesso de todos os utilizadores
    Require all granted
</Directory>

AllowOverride All é especialmente importante, pois permite o uso de ficheiros .htaccess para definir redirecionamentos, restrições de acesso, etc., por diretório. Para começar, não complique: basta lembrar que "depois de definir a localização com o `DocumentRoot`, cria-se um bloco `<Directory>` com o mesmo caminho para definir as regras".


3. Configuração de Logs - ErrorLog e CustomLog

Os logs (registos) são o seu melhor amigo quando algo corre mal com o servidor. São essenciais para encontrar a causa dos erros e para analisar que tipo de utilizadores estão a aceder ao seu site.

ErrorLog: O registo de erros do servidor

Como o nome sugere, o ErrorLog é o ficheiro que regista os erros que ocorrem no servidor Apache. Erros como "Ficheiro não encontrado (404 Not Found)", erros gerados por programas como PHP, ou as razões pelas quais o servidor não arrancou, são escritos aqui. Crie o hábito de verificar este ficheiro primeiro sempre que ocorrer um problema.

# O caminho para o ficheiro onde os logs de erro são guardados
ErrorLog "logs/error_log"

CustomLog: O registo completo de acessos

O CustomLog é o ficheiro que regista todos os acessos ao servidor, comummente conhecido como "log de acesso". Informações como quando, quem (de que endereço IP) e a que ficheiro acedeu são registadas linha a linha.

# O caminho para o ficheiro de log de acesso e a especificação do formato de registo
CustomLog "logs/access_log" common

common é um nome informal para um formato de registo de log. Com esta configuração, os logs são registados num formato amplamente utilizado que inclui o endereço IP, data e hora de acesso, detalhes do pedido, código de estado, e mais.


O Passo Mais Importante Após a Alteração: Verificação de Sintaxe e Reinício

Depois de editar o `httpd.conf`, precisa de reiniciar o servidor para que as configurações tenham efeito. No entanto, se houver um erro de escrita (um erro de sintaxe) no ficheiro, o Apache não conseguirá arrancar. Por isso, deve sempre fazer uma "verificação de sintaxe" antes de reiniciar.

Execute o seguinte comando no seu terminal ou linha de comandos.

# Para CentOS/RHEL ou instalações manuais
httpd -t

# Para Debian/Ubuntu
apache2ctl configtest

Se o resultado for "Syntax OK", significa que não há erros gramaticais no seu ficheiro de configuração. Assim que tiver esta confirmação, pode reiniciar o Apache com confiança.


Conclusão

Desta vez, aprendemos sobre três elementos fundamentais, mas muito importantes, do ficheiro de configuração do Apache, `httpd.conf`: portas, diretórios e logs.

Agora que consegue entender e alterar estas configurações por si próprio, está apenas a um passo de deixar de ser um iniciante em servidores web! Mexer no `httpd.conf` está diretamente ligado a uma compreensão mais profunda de como os sites são publicados para o mundo.

Então, já domina a configuração para publicar um único site. Mas e se quiser executar vários sites num único servidor? A resposta para isso é o nosso próximo tema: "Virtual Hosts".

4. Introdução aos Virtual Hosts do Apache: Gestão Fácil de Múltiplos Domínios