O Apache é fre­quen­te­mente usado em com­bi­na­ção com sistemas Linux. Em par­ti­cu­lar, o Ubuntu é ideal para instalar o servidor da Web devido à sua forte co­mu­ni­dade e do­cu­men­ta­ção. Neste guia, ex­pli­ca­re­mos passo a passo como você pode instalar e con­fi­gu­rar o Apache no Ubuntu.

Re­qui­si­tos de sistema para o Apache no Ubuntu

O Apache é um dos ser­vi­do­res da Web mais antigos e estáveis. Sua po­pu­la­ri­dade se deve à sua es­ca­la­bi­li­dade e con­fi­gu­ra­ção simples. Para instalar o Apache no Ubuntu 22.04, não há re­qui­si­tos es­pe­cí­fi­cos para o pro­ces­sa­dor, pois a maioria dos pro­ces­sa­do­res modernos deve ser capaz de executar o Apache no Ubuntu. No entanto, você precisará de memória RAM e memória de disco rígido su­fi­ci­en­tes.

O Apache utiliza poucos recursos do sistema e pode ser con­fi­gu­rado para di­fe­ren­tes tipos de sistemas, incluindo com­pu­ta­do­res desktop, laptops, ser­vi­do­res e máquinas virtuais. Se você quiser hospedar um site poderoso, talvez precise de mais recursos para garantir um de­sem­pe­nho su­fi­ci­ente. É preciso lembrar que o uso de módulos pode aumentar os re­qui­si­tos do sistema. Por exemplo, se você quiser integrar um módulo para melhorar o de­sem­pe­nho do servidor Web Apache, seu sistema precisará de memória adicional para ar­ma­ze­na­mento em cache e outras oti­mi­za­ções.

Para instalar o servidor da Web Apache, você deve ter os seguintes re­qui­si­tos mínimos de sistema:

  • Memória (RAM): 4 Gigabytes
  • Sistema ope­ra­ci­o­nal: Ubuntu, usuários com direitos de acesso sudo
  • Disco rígido: 5 Gigabytes
  • Firewall: para tráfego de dados http e para bloquear portas des­ne­ces­sá­rias
  • Conexão com a Internet: para fazer download de pacotes
Dica

A hos­pe­da­gem Linux da IONOS oferece suporte a uma ampla variedade de módulos Apache que permitem con­fi­gu­rar seu próprio proxy reverso Apache de forma rápida e eficaz. Beneficie-se do de­sem­pe­nho fle­xi­vel­mente escalável, da proteção DDOS e dos prin­ci­pais recursos PHP.

Um guia passo a passo para instalar o Apache no Ubuntu

O Ubuntu 22.04 usa a fer­ra­menta de ge­ren­ci­a­mento de pacotes APT para instalar o Apache. Primeiro, será ne­ces­sá­rio atualizar o índice de pacotes no sistema Ubuntu para garantir que todas as de­pen­dên­cias ne­ces­sá­rias estejam atu­a­li­za­das.

Se não estiver ins­ta­lando o programa lo­cal­mente, será ne­ces­sá­rio fazer login no Ubuntu Server usando SSH.

Etapa 1: Atualizar a lista de pacotes

Abra o terminal e execute uma atu­a­li­za­ção.

$ sudo apt update
bash

Etapa 2: instalar o pacote Apache

Em seguida, você precisa instalar o pacote Apache com todas as de­pen­dên­cias ne­ces­sá­rias usando o comando APT “install”.

$ sudo apt install apache2
bash

Etapa 3: Altere as con­fi­gu­ra­ções do firewall

Para con­fi­gu­rar o Apache, você precisa ativar firewalls des­com­pli­ca­dos (UFW) no Ubuntu. Depois de instalar o Apache no Ubuntu, o Apache con­fi­gu­rará perfis de apli­ca­ti­vos no UFW com os quais o tráfego de dados pode ser ge­ren­ci­ado para as portas da Web.

Você pode usar o seguinte comando para exibir a lista de perfis de apli­ca­ti­vos:

$ sudo ufw app list
bash

Isso mostrará três perfis do Apache:

Imagem: Terminal Linux: Apache application profile list
Terminal: Lista de perfis de apli­ca­ti­vos do Apache
  • Apache: abre a porta TCP 80 para HTTP (conexão não crip­to­gra­fada)
  • Apache Full: abre a porta TCP 80 (HTTP, não crip­to­gra­fado) e 443 (HTTPS, com TLS/SSL crip­to­gra­fado)
  • Apache Secure: abre somente a porta HTTPS 443 para uma conexão crip­to­gra­fada

Como ainda não con­fi­gu­ra­mos o SSL, só podemos abrir a porta 80.

$ sudo ufw allow 'Apache'
bash

Usando o comando “status”, você pode verificar se as con­fi­gu­ra­ções corretas estão em vigor.

$ sudo ufw status
bash

Etapa 4: testar o status do Apache

Use o ge­ren­ci­a­dor de sistema “systemd” para verificar se o serviço Apache está ativo.

$ sudo systemctl status apache2
bash

Etapa 5: abra a página padrão do Apache

Digite seu endereço IP na barra de endereços do navegador para acessar a página padrão do Apache. Se você não souber seu endereço IP, poderá exibi-lo usando “hostname”.

$ hostname -I
bash

Você também pode usar a fer­ra­menta icanhazip.

$ curl -4 icanhazip.com
bash

Agora você pode abrir a página padrão do Apache em seu navegador e inserir seu endereço IP em vez de “server_ip”.

http://server_ip

Aqui está um trecho da página padrão sobre o Ubuntu:

Imagem: Navegador da Web: Página padrão do Apache no Ubuntu
Navegador da Web: Página padrão do Apache no Ubuntu

Etapa 6: Gerenciar o daemon do Apache

Você pode gerenciar o daemon ou serviço do servidor da Web Apache com “systemctl”.

Iniciando o servidor da Web Apache:

$ sudo systemctl start apache2
bash

Parando o servidor da Web Apache:

$ sudo systemctl stop apache2
bash

Parar e reiniciar o servidor da Web Apache:

$ sudo systemctl restart apache2
bash

Res­tar­tando o Apache e re­car­re­gando a con­fi­gu­ra­ção:

$ sudo systemctl reload apache2
bash

Se você instalar o Apache no Ubuntu, o servidor da Web será iniciado au­to­ma­ti­ca­mente após a con­fi­gu­ra­ção durante a ini­ci­a­li­za­ção. Você também pode desativar esse recurso usando o seguinte comando:

$ sudo systemctl disable apache2
bash

Para reativar o início au­to­má­tico do Apache durante a ini­ci­a­li­za­ção, você pode digitar o seguinte comando:

$ sudo systemctl enable apache2
bash

Etapa 7: usar hosts virtuais

O Apache ge­ral­mente hospeda do­cu­men­tos em /var/www/html. Se quiser usar mais domínios em um servidor, você pode usar hosts virtuais. Neste exemplo, con­fi­gu­ra­re­mos uma estrutura de diretório para seu próprio domínio em /var/www/.

$ sudo mkdir /var/www/your_domain
bash

Substitua “seu_domínio” por seu próprio domínio.

Você pode atribuir a pro­pri­e­dade do diretório com a variável ambiental $USER:

$ sudo chown -R $USER:$USER /var/www/your_domain
bash

Você também pode atribuir es­pe­ci­fi­ca­mente direitos de leitura, gravação e execução no modo Oktal:

$ sudo chmod -R 755 /var/www/your_domain
bash

Etapa 8: criar uma página de teste

Defina uma index.html como a página padrão de seu domínio. Para fazer isso, você pode usar o editor de texto nano, por exemplo.

$ sudo nano /var/www/your_domain/index.html
bash

Selecione uma for­mu­la­ção e adicione-a ao arquivo HTML:

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Here you can see that your_domain virtual host is successfully working!</h1>
    </body>
</html>
html

Etapa 9: Definir o arquivo de con­fi­gu­ra­ção para hosts virtuais

Para exibir a página de exemplo, é ne­ces­sá­rio con­fi­gu­rar cor­re­ta­mente o Apache para o seu domínio. Crie seu próprio arquivo de con­fi­gu­ra­ção para seu domínio e deixe o arquivo de con­fi­gu­ra­ção padrão do Apache como está.

$ /etc/apache2/sites-available/your_domain.conf
bash

Adicione o seguinte bloco e substitua “your_domain” pelo nome de seu domínio. Você também pode inserir o endereço de e-mail de um ad­mi­nis­tra­dor ao lado de “Ser­ve­rAd­min”:

<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>

Ative o arquivo de con­fi­gu­ra­ção com o comando “a2ensite”:

$ sudo a2ensite your_domain.conf
bash

Desative a página padrão antiga:

$ sudo a2dissite 000-default.conf
bash

Teste sua con­fi­gu­ra­ção quanto a erros:

$ sudo apache2ctl configtest
bash

Se tudo estiver correto, você poderá reiniciar o Apache:

$ sudo systemctl restart apache2
bash

Vá para sua página padrão:

http://your_domain

Agora você deve conseguir ver sua página de exemplo:

Imagem: Navegador da Web: Página de exemplo para um host virtual
Web browser: Página de exemplo de um host virtual

Etapa 10: Arquivos e di­re­tó­rios im­por­tan­tes do Apache

Para operar com efi­ci­ên­cia o servidor da Web Apache, é útil conhecer alguns arquivos e di­re­tó­rios comumente usados:

  • /var/www/html: esse é o diretório no qual o Apache ge­ral­mente armazena do­cu­men­tos. Isso pode ser alterado no arquivo de con­fi­gu­ra­ção.
  • /etc/apache2: é onde todos os arquivos de con­fi­gu­ra­ção do Apache são ar­ma­ze­na­dos.
  • /etc/apache2/apache2.conf: esse é o arquivo de con­fi­gu­ra­ção principal com o qual você pode alterar a con­fi­gu­ra­ção global.
  • /etc/apache2/ports.conf: esse arquivo contém as portas abertas. Nor­mal­mente, são a porta 80 e/ou a porta 443.
  • /etc/apache2/sites-available/: essa pasta contém os hosts virtuais que você está usando. Os arquivos de con­fi­gu­ra­ção ar­ma­ze­na­dos aqui devem ser vin­cu­la­dos ao diretório com “site-enabled” para funcionar.
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: Esses di­re­tó­rios salvam outros arquivos de con­fi­gu­ra­ção que não pertencem a hosts virtuais. Você pode ativá-los com “a2enconf” e desativá-los usando “a2disconf”.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: Os módulos dis­po­ní­veis e ativados são ar­ma­ze­na­dos nesses di­re­tó­rios. Você pode ativar um módulo usando “a2enmod” e desativá-lo com “a2dismod”.
  • /var/log/apache2/access.log: esse arquivo de log registra todas as so­li­ci­ta­ções ao servidor da Web.
  • /var/log/apache2/error.log: esse arquivo registra todas as mensagens de erro. As in­for­ma­ções de LogLevel descrevem a gravidade.
Ir para o menu principal