Introdução

O servidor HTTP Apache é o servidor Web mais amplamente usado no mundo. Ele fornece muitas características poderosas, incluindo módulos carregáveis dinamicamente, suporte robusto de mídia e uma integração extensa com outros softwares populares.

Neste guia, vamos explicar como instalar um servidor web Apache em seu servidor Ubuntu 20.04. Para uma versão mais detalhada deste tutorial, por favor, consulte Como Instalar o Servidor Web Apache no Ubuntu 20.04.

Pré-requisitos

apache illustration for: Pré-requisitos

Antes de iniciar este guia, você deve ter o seguinte:

  • Um servidor Ubuntu 20.04 e um usuário regular não-root com privilégios sudo. Além disso, você precisará habilitar um firewall básico para bloquear portas não essenciais. Você pode aprender como configurar uma conta de usuário regular e configurar um firewall para seu servidor seguindo nosso guia de Configuração inicial de servidor para o Ubuntu 20.04.

Quando tiver uma conta disponível, faça login com seu usuário não root para começar.

Passo 1 — Instalando o Apache

O Apache está disponível dentro dos repositórios de software padrão do Ubuntu, então você pode instalá-lo utilizando ferramentas de gerenciamento de pacotes convencionais.

Atualize seu índice de pacotes local:

				
					
sudo apt update

				
			

Instale o pacote apache2:

				
					
sudo apt install apache2

				
			

Passo 2 — Ajustando o Firewall

Verifique os perfis de aplicativo ufw disponíveis:

				
					
sudo ufw app list

				
			
				
					
[secondary_label Output]

Available applications:

  Apache

  Apache Full

  Apache Secure

  OpenSSH

				
			

Vamos habilitar o perfil mais restritivo que ainda permitirá o tráfego que você configurou, permitindo tráfego na porta 80 (tráfego normal, não criptografado):

				
					
sudo ufw allow 'Apache'

				
			

Verifique a mudança:

				
					
sudo ufw status

				
			
				
					
[secondary_label Output]

Status: active



To                         Action      From

--                         ------      ----

OpenSSH                    ALLOW       Anywhere                  

Apache                     ALLOW       Anywhere                  

OpenSSH (v6)               ALLOW       Anywhere (v6)             

Apache (v6)                ALLOW       Anywhere (v6)

				
			

Passo 3 — Verificando seu Servidor Web

Verifique com o sistema init systemd para garantir que o serviço está funcionando digitando:

				
					
sudo systemctl status apache2

				
			
				
					
[secondary_label Output]

apache2.service - The Apache HTTP Server

     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>

     Active: <^>active (running)<^> since Tue 2020-04-28 23:06:40 UTC; 56s ago

       Docs: https://httpd.apache.org/docs/2.4/

   Main PID: 13785 (apache2)

      Tasks: 55 (limit: 1137)

     Memory: 5.3M

     CGroup: /system.slice/apache2.service

             ├─13785 /usr/sbin/apache2 -k start

             ├─13787 /usr/sbin/apache2 -k start

             └─13788 /usr/sbin/apache2 -k start



				
			

Acesse a página de destino padrão do Apache para confirmar que o software está funcionando corretamente através do seu endereço de IP:

				
					
http://<^>your_server_ip<^>

				
			

Você deve receber a página web padrão do Apache no Ubuntu 20.04.

Passo 4 — Configurando Hosts Virtuais (Recomendado)

Ao usar o servidor Web Apache, você pode usar _hosts virtuais_ (similares a blocos de servidor no Nginx) para encapsular detalhes de configuração e hospedar mais de um domínio de um único servidor. Vamos configurar um domínio chamado your_domain, mas você deve substituí-lo por seu próprio nome de domínio. Para aprender mais sobre como configurar um nome de domínio com a the cloud provider, por favor, consulte nossa Introdução ao DNS da the cloud provider.

Crie o diretório para o <^>your_domain<^>:

				
					
sudo mkdir /var/www/&lt;^&gt;your_domain&lt;^&gt;

				
			

Atribua a propriedade do diretório:

				
					
sudo chown -R $USER:$USER /var/www/&lt;^&gt;your_domain&lt;^&gt;

				
			

As permissões dos seus web roots devem estar corretas se você ainda não tiver modificado o valor unmask, mas você pode certificar-se digitando:

				
					
sudo chmod -R 755 /var/www/&lt;^&gt;your_domain&lt;^&gt;

				
			

Crie uma página de amostra index.html utilizando o nano ou seu editor favorito:

				
					
nano /var/www/&lt;^&gt;your_domain&lt;^&gt;/index.html

				
			

Dentro, adicione a seguinte amostra HTML:

				
					
[label /var/www/your_domain/index.html]

&lt;html&gt;

    &lt;head&gt;

        &lt;title&gt;Welcome to &lt;^&gt;Your_domain&lt;^&gt;!&lt;/title&gt;

    &lt;/head&gt;

    &lt;body&gt;

        &lt;h1&gt;Success!  The &lt;^&gt;your_domain&lt;^&gt; virtual host is working!&lt;/h1&gt;

    &lt;/body&gt;

&lt;/html&gt;

				
			

Salve e feche o arquivo quando você terminar.

Crie um novo arquivo de host virtual em /etc/apache2/sites-available/<^>your_domain<^>.conf:

				
					
sudo nano /etc/apache2/sites-available/&lt;^&gt;your_domain&lt;^&gt;.conf

				
			

Cole no seguinte bloco de configuração, atualizado para nosso novo diretório e nome de domínio:

				
					
[label /etc/apache2/sites-available/your_domain.conf]

&lt;VirtualHost *:80&gt;

    ServerAdmin webmaster@localhost

    ServerName &lt;^&gt;your_domain&lt;^&gt;

    ServerAlias &lt;^&gt;your_domain&lt;^&gt;

    DocumentRoot /var/www/&lt;^&gt;your_domain&lt;^&gt;

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

&lt;/VirtualHost&gt;

				
			

Salve e feche o arquivo quando você terminar.

Habilite o arquivo com o a2ensite:

				
					
sudo a2ensite &lt;^&gt;your_domain&lt;^&gt;.conf

				
			

Desabilite o site padrão definido em 000-default.conf:

				
					
sudo a2dissite 000-default.conf

				
			

Teste para erros de configuração:

				
					
sudo apache2ctl configtest

				
			

Você deve receber a seguinte saída:

				
					
[secondary_label Output]

Syntax OK

				
			

Reinicie o Apache para implementar as suas alterações:

				
					
sudo systemctl restart apache2

				
			

O Apache agora deve estar atendendo seu nome de domínio. Teste isso navegando para http://<^>your_domain<^>, onde você deve ver algo assim:

Conclusão

Agora que você tem seu servidor Web instalado, você tem muitas opções para o tipo de conteúdo a oferecer e as tecnologias que quiser usar para criar uma experiência mais rica.

Se você quiser construir uma pilha de aplicação mais completa, verifique este artigo sobre Como Configurar uma pilha LAMP no Ubuntu 20.04.