POP HOSTING

Como instalar o Apache no Ubuntu 24.04 e 22.04 com PHP imprimir

  • apache, apache2, ubuntu, servidor web, php, ufw, instalar apache
  • 0

Passo a passo para instalar o servidor web Apache no Ubuntu 24.04 ou 22.04, liberar o firewall, ativar o PHP e testar o site no navegador.

  • Tempo: 10 min
  • Nível: Iniciante
  • Vale para: Ubuntu 22.04 e 24.04, Debian 12
  • Atualizado: outubro de 2026

O Apache é o servidor web mais usado em servidores Linux. No Ubuntu ele vem pronto no repositório oficial, com o pacote apache2, e em poucos minutos já entrega páginas. Aqui você instala o Apache, libera as portas 80 e 443, acrescenta o PHP e aprende os comandos do dia a dia.

Antes de começar

  • Acesso ao servidor por SSH com um usuário que tenha sudo (veja como acessar o SSH).
  • Nenhum outro servidor web (como o Nginx) ocupando a porta 80.

Como instalar o Apache no Ubuntu

  1. Atualize a lista de pacotes e instale o Apache.
    sudo apt update
    sudo apt install apache2
    No Ubuntu e no Debian o serviço já fica ativo e configurado para subir junto com o servidor.
  2. Confira se o serviço está rodando.
    systemctl status apache2
    O esperado é active (running). Tecle q para sair.
  3. Libere o Apache no firewall. Se o UFW estiver ativo (veja com sudo ufw status), libere HTTP e HTTPS de uma vez:
    sudo ufw allow 'Apache Full'
    O perfil Apache Full abre as portas 80 e 443. Se o UFW estiver inativo, pule este passo.
  4. Teste no navegador. Descubra o IP com hostname -I e abra http://203.0.113.10 (troque pelo seu IP). Deve aparecer a página Apache2 Default Page. Pelo próprio terminal, curl -I http://localhost deve responder HTTP/1.1 200 OK.

Onde ficam os arquivos do site

  • /var/www/html: pasta do site padrão. Troque o index.html pelos seus arquivos.
  • /etc/apache2/sites-available/: configuração de cada site (virtual host). O padrão é o 000-default.conf.
  • /var/log/apache2/error.log e access.log: logs de erro e de acessos.

Para hospedar mais de um domínio no mesmo servidor, crie um virtual host para cada um, como explicado em Apache Virtual Hosts no Ubuntu e no Debian.

Como instalar o PHP no Apache

O artigo antigo instalava o php5, que não existe mais. Hoje o pacote php instala a versão padrão de cada sistema: PHP 8.3 no Ubuntu 24.04, PHP 8.1 no Ubuntu 22.04 e PHP 8.2 no Debian 12.

sudo apt install php libapache2-mod-php php-mysql
sudo systemctl restart apache2

Para testar, crie uma página de diagnóstico, abra http://203.0.113.10/info.php e confira a versão:

echo '<?php phpinfo();' | sudo tee /var/www/html/info.php
Atenção: apague o info.php logo depois do teste (sudo rm /var/www/html/info.php). Ele mostra detalhes do servidor que ajudam quem procura falhas.

Comandos do dia a dia

ComandoPara que serve
sudo systemctl reload apache2Aplica mudanças de configuração sem derrubar conexões
sudo systemctl restart apache2Reinicia o serviço (necessário ao ativar módulos)
sudo apache2ctl configtestConfere a configuração; o esperado é Syntax OK
sudo a2enmod rewriteAtiva o mod_rewrite (URLs amigáveis do WordPress e de outros sistemas)
sudo a2ensite site.conf / sudo a2dissite site.confAtiva ou desativa um site
Dica: rode sempre o configtest antes do reload. Um erro de digitação na configuração impede o Apache de voltar, e todos os sites ficam fora do ar.

Ativar o HTTPS

Com o domínio já apontado para o IP do servidor e um virtual host com ServerName configurado, o Certbot emite um certificado gratuito da Let's Encrypt e ajusta o Apache:

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d seudominio.com.br -d www.seudominio.com.br

Problemas comuns

AH00558: Could not reliably determine the server's fully qualified domain name

É só um aviso: o Apache funciona assim mesmo. Para eliminá-lo, defina um nome global:

echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
sudo a2enconf servername
sudo systemctl reload apache2

Address already in use: could not bind to address 0.0.0.0:80

Outro programa ocupa a porta 80, quase sempre o Nginx. Descubra qual é com sudo ss -tlnp | grep ':80 ' e pare ou remova o outro serviço.

O navegador baixa o arquivo PHP ou mostra o código

O módulo PHP do Apache não está ativo. Instale o libapache2-mod-php como mostrado acima e reinicie o Apache.

Funciona no servidor, mas não abre de fora

Confira o firewall (sudo ufw status) e se existe algum firewall externo, no painel do provedor, bloqueando as portas 80 e 443.

As regras do arquivo .htaccess são ignoradas

No Ubuntu, a pasta /var/www vem com AllowOverride None. Mude para AllowOverride All no bloco <Directory> do seu site, ative o rewrite e recarregue o Apache.

Precisa de um servidor para hospedar seus sites com acesso root? Veja os servidores dedicados da POP Hosting.

Esta resposta lhe foi útil?
« Retornar