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 no seu servidor Ubuntu 18.04. Para uma versão mais detalhada deste tutorial, por favor, consulte Como Instalar o Servidor Web Apache no Ubuntu 18.04.

Pré-requisitos

apache illustration for: Pré-requisitos

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

  • Um servidor Ubuntu 18.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 18.04.

Quando você tiver uma conta disponível, logue 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 preset: enabled)

  Drop-In: /lib/systemd/system/apache2.service.d

           └─apache2-systemd.conf

   Active: <^>active (running)<^> since Tue 2018-04-24 20:14:39 UTC; 9min ago

 Main PID: 2583 (apache2)

    Tasks: 55 (limit: 1153)

   CGroup: /system.slice/apache2.service

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

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

           └─2586 /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 ver a página Web padrão Apache do Ubuntu 18.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 configuração de um nome de domínio com o the cloud provider, veja nossa introdução ao DNS the cloud provider.

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

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

				
			

Atribua a posse do diretório:

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

				
			

As permissões das suas roots Web devem estar corretas se ainda não tiver modificado seu 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.

Faça 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 ver o seguinte resultado:

				
					
[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. Você pode testar 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 você quiser usar para criar uma experiência mais rica.

Se você quiser construir uma pilha de aplicativo mais completa, verifique este artigo sobre como configurar uma pilha LAMP no Ubuntu 18.04.