Introdução
O Apache HTTP Server é um servidor web de código aberto da Apache Software Foundation. É um software que conecta o seu servidor local aos servidores de sites como o Firefox ou o Google Chrome. Esta conexão é usada para enviar e receber arquivos e dados.
É o servidor mais popular em todo o mundo. Mais de 40% de todos os sites na world wide web são alimentados pelo Apache HTTP. Os motivos por trás da sua popularidade são a sua alta capacidade de personalização, grande capacidade de integração e suporte de mídia confiável. O Apache opera em uma arquitetura baseada em módulos. Você pode modificar módulos individuais para adicionar e remover várias funcionalidades. Neste tutorial, iremos guiá-lo sobre como instalar o servidor Apache no Ubuntu 18.04.
Antes da Instalação
Antes de começar a instalar o Apache, você precisa cuidar de alguns pré-requisitos. Para começar, certifique-se de que já configurou um usuário não-root com privilégios sudo no servidor local. A outra coisa que você precisará é de um firewall. Você deve habilitar o seu firewall básico e bloquear as portas não essenciais. Antes de iniciar a instalação, faça login no seu usuário não-root com privilégios. Você pode instalar facilmente o seu servidor seguindo o nosso tutorial sobre como configurar um servidor Ubuntu.
Como Instalar o Servidor Web Apache no Ubuntu 18.04
Se você já cuidou dos pré-requisitos, pode passar para a instalação propriamente dita. Você pode instalar e explorar o servidor web Apache em 6 passos simples:
Passo 1: Instalar o Apache
Você ficará feliz em saber que o Apache já faz parte do Ubuntu. Isso significa que você pode instalar o Apache no seu servidor usando as ferramentas típicas de gerenciamento de pacotes. Ele está disponível como um software padrão no repositório. Primeiro, você precisará atualizar o índice de pacotes local:
|
1 |
sudo apt update |
Este comando faz com que as alterações recentes do upstream apareçam no índice de pacotes. Em seguida, precisamos dar o comando para instalar o pacote apache2:
|
1 |
sudo apt install apache2 |
Passo 2: Alterar as Configurações do Seu Firewall
Ao cuidar dos pré-requisitos, você deve ter configurado o seu firewall UFW. Se você seguiu as instruções, o seu firewall estará bloqueando o seu acesso ao servidor. Precisamos dar acesso às portas web padrão ao servidor antes de operar o Apache. Como resultado, as configurações do firewall devem ser alteradas.
No momento da instalação, o Apache se registra no UFW. O resultado desse registro é a criação de alguns perfis de aplicativos. Além disso, você pode usar esses perfis para habilitar ou desabilitar o acesso do firewall ao Apache. Em seguida, visualize esses aplicativos ufw com o seguinte comando:
|
1 |
sudo ufw app list |
Você verá o seu perfil de aplicativo em uma lista como esta:

A lista acima mostra que três perfis de aplicativos foram criados, a saber: Apache, Apache Full e Apache Secure. Aqui estão alguns detalhes úteis sobre cada um desses perfis:
-
Apache:
O perfil Apache é capaz de abrir apenas a porta 80. Esta porta permite tráfego web normal e não criptografado.
-
Apache Full:
O perfil Apache Full tem a capacidade de abrir tanto a porta 80 quanto a 443. Enquanto a porta 80 permite tráfego web normal e não criptografado, a porta 443 é responsável pelo tráfego criptografado TLS/SSL.
-
Apache Secure:
Por fim, Apache Secure abre apenas a porta 443. Como mencionado acima, ele é responsável por permitir a entrada de tráfego web criptografado TLS ou SSL.
Ao escolher entre esses perfis, pense no tráfego que você configurou. Você vai querer garantir que o tráfego desejado passe enquanto opta pelo perfil mais restritivo. A configuração SSL está fora do nosso escopo no momento. Portanto, focaremos no tráfego que passa pela porta 80 por enquanto. Isso significa que estamos habilitando o perfil de aplicativo ‘Apache’ neste cenário. Você pode fazer isso assim:
|
1 |
sudo ufw allow ‘Apache’ |
Para verificar a modificação, digite o seguinte:
|
1 |
sudo ufw status |
Este comando exibirá uma saída contendo o tráfego HTTP que atualmente tem permissão para passar. Você verá algo como isto:

O fluxo de tráfego mostra que o perfil do Apache desejado foi ativado. O acesso ao servidor web foi concedido através do firewall.
Passo 3: Verifique o seu Servidor Web
A instalação do Apache está concluída e as configurações do firewall foram modificadas. No final deste processo, o Ubuntu 18.04 iniciará automaticamente o Apache. Em seguida, você precisa verificar com o sistema de inicialização systemd se o serviço está em execução a qualquer momento. Se você quiser saber mais sobre sistemas de inicialização, pode conferir o nosso tutorial sobre como gerenciar serviços e unidades do Systemd com o Systemctl. Para verificar se o serviço está em execução, digite:
|
1 |
sudo systemctl status apache2 |
O resultado será o seguinte:

Você precisa procurar pelo status Active ou running do serviço acima. Isso mostra que o serviço foi iniciado e está sendo executado com sucesso. Existe outra maneira, preferível, de testar o funcionamento do serviço. Você pode verificar o status dele solicitando uma página do Apache. Usando o endereço IP do seu servidor, você pode confirmar se o software está funcionando na página de destino padrão do Apache. Aqui está um comando que você pode usar para obter o endereço IP do seu servidor, caso ainda não o saiba:
|
1 |
hostname -I |
Este comando mostrará um resultado com vários endereços IP separados por espaços. Teste cada um individualmente no navegador. Outra forma de acessá-lo é obter o seu endereço IP público. Você pode usar um comando como este:
|
1 |
curl -4 icanhazip.com |
Isso mostrará o seu endereço IP como visto de outros locais na web. Em seguida, assim que tiver o seu endereço IP, acesse o seu navegador web. Na barra de endereços, digite e execute o seguinte:
|
1 |
http://your_server_ip |
Isso abrirá a página web padrão do Apache no Ubuntu 18.04. Ela se parece com isso:

Esta página contém algumas informações básicas sobre seus arquivos e diretórios. Como ela foi aberta ao digitar o endereço, isso indica que o Apache está funcionando corretamente.
Passo 4: Gerenciamento Básico no Apache
A verificação confirma que o Apache está em execução e seu servidor está operacional. Agora, exploraremos alguns dos comandos básicos que você pode usar no servidor para gerenciamento.
A configuração padrão do seu Apache o inicia sempre que o servidor é inicializado. Você tem a opção de desativar essa configuração. Digite:
|
1 |
sudo systemctl disable apache2 |
Para reativar esse recurso padrão, use este comando:
|
1 |
sudo systemctl enable apache2 |
Em seguida, digite o seguinte se quiser parar o servidor manualmente:
|
1 |
sudo systemctl stop apache2 |
Se quiser iniciá-lo novamente após pará-lo, use o comando:
|
1 |
sudo systemctl start apache2 |
Para parar e iniciar o servidor, ou essencialmente atualizá-lo, digite:
|
1 |
sudo systemctl restart apache2 |
Quando você para o servidor, ele tende a perder todas as suas conexões. Iniciá-lo novamente significa que ele encontra e vincula essas conexões novamente. Se desejar, você também pode recarregar o Apache sem perder a conexão. Isso é particularmente útil ao fazer alterações de configuração. Digite o seguinte para recarregar sem derrubar as conexões:
|
1 |
sudo systemctl reload apache2 |
Passo 5: Configuração de Virtual Host
Embora isso não seja obrigatório, é altamente recomendável que você configure seus virtual hosts. Virtual hosts são pequenos blocos no servidor que contêm grupos de detalhes de configuração. Você pode hospedar vários domínios em um único virtual host a partir do seu servidor.
Por padrão, se você estiver usando o Apache no Ubuntu 18.04, haverá um bloco de servidor ativado que servirá documentos no diretório /var/www/html. Você desejará alterar essa configuração se estiver hospedando vários sites em vez de apenas um. No entanto, existe outra opção possível que funciona ainda melhor. Deixe o diretório /var/www/html intocado. Em vez disso, vá para /var/www/ para criar uma estrutura de diretórios para os sites no domínio desejado. Se você fizer isso, o diretório /var/www/html será configurado como o diretório padrão. Caso uma solicitação de cliente não corresponda a nenhum dos sites no seu domínio, ela será servida a partir daqui.
Depois disso, veremos como você pode criar um novo domínio e seu diretório associado. Para fins deste exemplo, usaremos um nome hipotético, your_domain. Substitua your_domain onde quer que esteja presente nas instruções subsequentes pelo seu próprio nome de domínio. Para começar, vejamos como você pode criar um novo diretório para your_domain:
|
1 |
sudo mkdir /var/www/your_domain |
Agora, você deve atribuir a propriedade do diretório. Você pode usar a variável de ambiente $USER para essa finalidade:
|
1 |
sudo chown -R $USER:$USER /var/www/your_domain |
Para continuar, as permissões da sua raiz web devem estar corretas. Se você não alterou o valor de umask na configuração, suas permissões devem estar corretas. Mas se não tiver certeza, você sempre pode confirmar com:
|
1 |
sudo chmod -R 755 /var/www/your_domain |
A seguir, criaremos uma página index.html. Você pode usar o nano como nós ou qualquer outro editor, se tiver preferência:
|
1 |
nano /var/www/your_domain/index.html |
Adicione este HTML de exemplo dentro do index, depois Salve e Feche:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Bem-vindo ao Your_domain!</title> </head> <body> <h1>Sucesso! O your_domain virtual host está funcionando!</h1> </body> </html> |
O próximo passo é criar um arquivo de host virtual. Um arquivo de host virtual com todas as diretivas corretas é necessário para fazer o Apache servir o conteúdo de exemplo acima. O arquivo de configuração padrão estará localizado em: /etc/apache2/sites-available/000-default.conf. Em vez de modificar esse arquivo, criaremos um novo em: /etc/apache2/sites-available/your_domain.conf.
|
1 |
sudo nano /etc/apache2/sites-available/your_domain.conf |
De forma semelhante a antes, adicionaremos um exemplo de configuração. Desta vez, no entanto, nós o atualizaremos em relação ao nome de domínio e ao novo diretório que acabamos de criar. Adicione este bloco, depois Salve e Feche:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Como você pode ver acima, também atualizamos nosso e-mail ServerAdmin. Este é um endereço que o administrador do site your_domain pode acessar. Não apenas isso, mas também atualizamos o DocumentRoot para o novo diretório e adicionamos duas novas diretivas. Essas diretivas incluem ServerName e ServerAlias. O ServerName é usado para definir o domínio base. O domínio base deve corresponder para definir o host virtual. O ServerAlias, por outro lado, fornece outros nomes que também devem corresponder, semelhantes ao nome base. Você pode habilitar o arquivo usando a ferramenta a2ensite facilmente:
|
1 |
sudo a2ensite your_domain.conf |
Para desativar o site padrão mencionado em 000-default.conf, use este comando:
|
1 |
sudo a2dissite 000-padrão.conf |
Agora que a configuração está pronta, você pode verificar se há erros digitando:
|
1 |
sudo apache2ctl configtest |
Isso mostrará a seguinte saída se não houver erros de configuração:
|
1 2 3 |
Saída Sintaxe OK |
Para aplicar as alterações, você deve reiniciar o servidor Apache como instruído anteriormente:
|
1 |
sudo systemctl restart apache2 |
Voilá! Você configurou seu host virtual e definiu seu nome de domínio. Para verificar se o Apache está, de fato, servindo o seu your_domain, acesse http://your_domain.
Passo 6: Navegando pelos Arquivos e Diretórios
Você realizou com sucesso algumas configurações básicas do seu servidor Apache. Além disso, você sabe como gerenciar o seu serviço Apache. A seguir, você pode dedicar algum tempo para explorar alguns dos diretórios e arquivos mais críticos.
Conteúdo
- /var/www/html
Nós já falamos sobre este diretório antes também. Ele contém a página padrão do Apache. Se quiser, você pode alterar o conteúdo desta página. Para fazer isso, você terá que modificar os arquivos de configuração do Apache.
Configuração do Servidor
- /etc/apache2
Este é o diretório principal de configuração do Apache. Ou seja, este diretório consiste em todos os arquivos de configuração associados ao Apache.
- /etc/apache2/apache2.conf
Como a adição no final do diretório sugere, este é o arquivo de configuração principal. Este arquivo carrega vários outros arquivos no diretório e pode ser usado para fazer modificações na configuração do Apache. Se você quiser fazer qualquer alteração na configuração do servidor Apache, é aqui que você fará as alterações.
- /etc/apache2/ports.conf
Como sugerido pelo nome, este arquivo refere-se às portas que discutimos anteriormente. A porta 80 está habilitada por padrão e a porta 443 é ativada quando módulos que contêm SSL são introduzidos. Este arquivo contém detalhes sobre quais portas estão abertas e habilitadas.
- /etc/apache2/sites-available/
É aqui que os seus hosts virtuais ficarão. Toda e qualquer configuração de bloco de servidor a ser feita é realizada neste diretório. Para habilitar os blocos de servidor, eles devem ser vinculados a outros diretórios através do a2ensite. O Apache só terá acesso aos arquivos neste diretório se eles tiverem sido habilitados por meio de um link para o diretório sites-enabled.
- /etc/apache2/sites-enabled/
Este é o diretório onde os hosts virtuais habilitados estão localizados. Como mencionamos, os hosts são habilitados quando você vincula os arquivos no diretório sites-available através do comando a2ensite. Os arquivos neste diretório são importantes para quando o Apache inicia, recarrega ou compila uma configuração.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/
Estes diretórios funcionam de maneira semelhante ao sites-available e sites-enabled. Para habilitar os arquivos no diretório conf-available, você deve usar o comando a2enconf. O comando de desativação é o a2disconf. Em vez de armazenar hosts virtuais por site, estes diretórios consistem em detalhes de configuração que não são relevantes para o host virtual:
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/
Estes diretórios também têm uma relação semelhante aos dois exemplos acima. Eles contêm os módulos, os disponíveis e os habilitados pelo comando a2enmod. Para desabilitar um módulo, você pode usar o comando a2dismod. Arquivos com o sufixo .load possuem fragmentos que podem carregar um determinado módulo. Arquivos com o sufixo .conf contêm os detalhes de configuração relevantes para o módulo em questão.
Logs do Servidor
- /var/log/apache2/access.log
Este arquivo de log contém todas as requisições feitas ao seu servidor. Isso acontece por padrão. Você tem a opção de configurar o Apache para registrar as requisições de forma diferente.
- /var/log/apache2/error.log
Este é o log de erros. Todos os erros que você comete vão direto para este arquivo por padrão. Você pode ver o nível de detalhe com que os logs de erro são registrados através da diretiva LogLevel.
Conclusão
Finalmente, ao seguir os passos acima, você pode instalar facilmente o servidor web Apache no seu Ubuntu 18.04. Assim que tiver o servidor no seu sistema, você poderá explorar as várias opções que tem na plataforma. Você pode usar diferentes tecnologias para produzir vários tipos de conteúdo. Dessa forma, você pode cultivar uma experiência única e facilitadora para si mesmo no servidor.
Você também pode aprender como proteger o seu servidor Apache com o Let’s Encrypt seguindo o nosso tutorial passo a passo. Se você quiser aprender como instalar o Apache no CentOS 7, siga o nosso tutorial sobre como instalar a pilha Linux, Apache, MySQL, PHP (LAMP) no CentOS 7.
Feliz computação!
Comentários
Nenhum comentário ainda. Seja o primeiro.