O Apache HTTP Server, conhecido como Apache, é um servidor web gratuito e de código aberto criado pela Apache Software Foundation. Lançado no início dos anos 1990, o Apache foi por muito tempo o servidor web dominante na internet, graças à sua modularidade, flexibilidade e confiabilidade. Ele suporta uma ampla gama de funcionalidades, incluindo hosts virtuais, SSL/TLS e um sistema de configuração flexível. O Apache está disponível para diversos sistemas operacionais, incluindo UNIX, Linux e Windows. Neste artigo, vamos abordar a instalação do Apache no Debian 11. As instruções também serão válidas para versões anteriores, como o Debian 10, e posteriores, como o Debian 12.
Se você está seguindo o nosso curso sobre a instalação do WordPress em um servidor rodando Debian 11 sem painel de controle e já realizou a instalação do nginx, o primeiro passo é parar o nginx
sudo systemctl stop nginx
Agora, pode-se prosseguir para a instalação do Apache.
Aqui está um guia passo a passo para instalar o Apache no Debian 11:
Passo 1. Atualizar o sistema
Antes de tudo, atualize a lista de pacotes disponíveis:
sudo apt update
Passo 2: Instalação do Apache
sudo apt install apache2
Passo 3. Iniciar o Apache no Debian 11
sudo systemctl start apache2
Passo 4. Verificar o status do Apache
sudo systemctl status apache2
Se tudo ocorreu com sucesso, você verá a mensagem “active (running)”.
Passo 5: Configurar o firewall
Use o UFW para permitir o tráfego para o Apache. Para isso, execute o comando:
sudo ufw allow 'WWW Full'
Passo 6: Verificar o funcionamento do Apache
Abra o navegador e digite o IP do seu servidor ou domínio. Para o nosso curso, o subdomínio usado é http://test.friendhosting.net
Se tudo estiver correto, você verá a página padrão “Apache2 Debian Default Page”.
Passo 7: Criar o diretório para o seu site
Para criar o diretório raiz para o host virtual test.friendhosting.net, execute o comando no terminal:
sudo mkdir -p /var/www/test.friendhosting.net
Após a execução desse comando, o diretório test.friendhosting.net será criado dentro de /var/www/, assim como todos os diretórios pais necessários ao longo do caminho, caso ainda não existam.
Para definir as permissões corretas, execute o comando:
sudo chown -R www-data:www-data /var/www/test.friendhosting.net
Este comando alterará o proprietário e o grupo do diretório /var/www/test.friendhosting.net e todos os seus subdiretórios e arquivos para www-data. Isso é feito para que o servidor web possa trabalhar corretamente com o conteúdo desse diretório, tendo os direitos de ler, escrever ou executar operações, dependendo da configuração.
Passo 8: Configuração do Host Virtual Apache no Debian 11
Os hosts virtuais permitem que seu servidor web Apache receba pedidos e sirva diferentes domínios, como se você tivesse vários servidores web em um único servidor físico.
O Apache tem um diretório chamado sites-available, onde são armazenadas as configurações disponíveis dos hosts virtuais. Cada site necessita de um arquivo de configuração separado. Crie um arquivo de configuração para o seu site. Como exemplo, usaremos test.friendhosting.net
sudo nano /etc/apache2/sites-available/test.friendhosting.net.conf
Adicione a ele a seguinte configuração:
<VirtualHost *:80> ServerAdmin [email protected] ServerName test.friendhosting.net ServerAlias www.test.friendhosting.net DocumentRoot /var/www/test.friendhosting.net/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Cada diretiva na configuração do host virtual do Apache tem seu papel e é importante para a configuração adequada do hospedagem para um website. Aqui está uma descrição detalhada de cada uma delas:
ServerAdmin indica o endereço de email do administrador do site. Esse endereço frequentemente aparece em páginas de erro do servidor, para que os visitantes possam relatar problemas técnicos. No exemplo, [email protected] é o endereço para onde serão enviadas as informações sobre os problemas.
ServerName define o domínio principal que é atendido pelo host virtual. Quando o Apache recebe um pedido, ele usa o valor do ServerName para determinar qual host virtual usar. O valor test.friendhosting.net indica que este host virtual responderá aos pedidos destinados a este domínio.
ServerAlias define domínios adicionais que serão atendidos por esse host virtual. Isso permite que um host virtual responda a pedidos de diferentes nomes de domínio. Neste caso, www.test.friendhosting.net é um alias, e o host virtual também responderá a pedidos para a versão www do domínio.
DocumentRoot define o diretório onde os arquivos do site estão armazenados. Esta é a diretoria raiz de onde o Apache servirá o conteúdo para o host virtual. No exemplo, /var/www/test.friendhosting.net/ é a pasta onde todos os arquivos do site serão localizados, como HTML, CSS, JavaScript e imagens.
ErrorLog define o caminho para o arquivo onde as mensagens de erro do servidor serão registradas. Este log contém informações detalhadas sobre quaisquer erros que ocorreram no servidor e é frequentemente utilizado para diagnóstico de problemas. Neste exemplo, ${APACHE_LOG_DIR}/error.log usa a variável de ambiente APACHE_LOG_DIR, que geralmente é definida como /var/log/apache2.
CustomLog indica o caminho para o arquivo de log de acesso, onde as informações sobre cada pedido ao servidor são registradas. Isso inclui detalhes como o endereço IP do visitante, o URL solicitado, a hora do pedido e o código de status da resposta do servidor. A diretiva combined no final significa que um formato de log combinado será usado, que é um padrão comum e contém informações úteis como o referenciador (de onde veio o usuário) e informação sobre o agente do usuário (qual navegador foi usado).
Chegou a hora de ativar o seu host virtual. Para isso, execute o seguinte comando:
sudo a2ensite test.friendhosting.net
Agora desative o host virtual padrão. Para isso, execute o seguinte comando:
sudo a2dissite 000-default.conf
Reinicie o Apache:
sudo systemctl restart apache2
Vamos criar um arquivo index.html no diretório raiz do nosso site. Execute o comando:
sudo nano /var/www/test.friendhosting.net/index.html
e copie o seguinte texto para lá:
Virtual host test.friendhosting.net is working.
Agora, ao abrir o nosso domínio http://test.friendhosting.net no navegador, veremos a página padrão:
Esta é uma instrução básica para instalar e configurar o Apache no Debian 11. Existem muitas outras configurações e otimizações que você pode realizar para adaptar o servidor às suas necessidades ao máximo.