Como instalar o servidor da Web Apache no Ubuntu

Introdução

O servidor HTTP Apache é o servidor da Web mais usado no mundo. Ele fornece muitos recursos poderosos, incluindo módulos dinamicamente carregáveis, suporte de mídia robusto e ampla integração com outros softwares populares.

Neste guia, explicaremos como instalar um servidor da Web Apache no seu servidor Ubuntu 18.04.

Pré-requisitos

Antes de começar este guia, você deve ter um usuário não-root regular com privilégios sudo configurados em seu servidor. Além disso, você precisará ativar 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 o seu servidor seguindo o nosso guia de configuração inicial do servidor para o Ubuntu 18.04 .

Quando você tiver uma conta disponível, faça login como seu usuário não raiz para começar.

Etapa 1 – Instalando o Apache

O Apache está disponível nos repositórios de software padrão do Ubuntu, tornando possível instalá-lo usando ferramentas convencionais de gerenciamento de pacotes.

Vamos começar atualizando o índice do pacote local para refletir as alterações mais recentes do upstream:

  • sudo apt update

Em seguida, instale o apache2pacote:

  • sudo apt install apache2

Depois de confirmar a instalação, aptirá instalar o Apache e todas as dependências necessárias.

Etapa 2 – Ajustando o Firewall

Antes de testar o Apache, é necessário modificar as configurações do firewall para permitir acesso externo às portas da web padrão. Supondo que você tenha seguido as instruções nos pré-requisitos, você deve ter um firewall UFW configurado para restringir o acesso ao seu servidor.

Durante a instalação, o Apache se registra com o UFW para fornecer alguns perfis de aplicativos que podem ser usados ​​para habilitar ou desabilitar o acesso ao Apache através do firewall.

Listar os ufwperfis de aplicativos digitando:

  • sudo ufw app list

Você verá uma lista dos perfis de aplicativos:

Output
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Como você pode ver, existem três perfis disponíveis para o Apache:

  • Apache : este perfil abre apenas a porta 80 (tráfego web normal e não criptografado)
  • Apache Full : este perfil é aberto na porta 80 (tráfego normal da web não criptografado) e na porta 443 (tráfego criptografado no TLS / SSL)
  • Apache Secure : este perfil abre apenas a porta 443 (tráfego criptografado TLS / SSL)

É recomendável ativar o perfil mais restritivo que ainda permitirá o tráfego que você configurou. Como ainda não configuramos o SSL para o nosso servidor neste guia, só precisamos permitir o tráfego na porta 80:

  • sudo ufw allow ‘Apache’

Você pode verificar a alteração digitando:

  • sudo ufw status

Você deve ver o tráfego HTTP permitido na saída exibida:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Apache                     ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Apache (v6)                ALLOW       Anywhere (v6)

Como você pode ver, o perfil foi ativado para permitir o acesso ao servidor da web.

Etapa 3 – Verificando seu servidor da web

No final do processo de instalação, o Ubuntu 18.04 inicia o Apache. O servidor da web já deve estar ativo e em execução.

Verifique com o systemdsistema init para certificar-se de que o serviço está sendo executado digitando:

  • sudo systemctl status apache2
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

Como você pode ver nesta saída, o serviço parece ter iniciado com sucesso. No entanto, a melhor maneira de testar isso é solicitar uma página do Apache.

Você pode acessar a página de destino padrão do Apache para confirmar que o software está sendo executado corretamente através do seu endereço IP. Se você não souber o endereço IP do seu servidor, poderá obtê-lo de algumas maneiras diferentes a partir da linha de comando.

Tente digitar isso no prompt de comando do seu servidor:

  • hostname -I

Você receberá de volta alguns endereços separados por espaços. Você pode tentar cada um em seu navegador para ver se eles funcionam.

Uma alternativa é digitar isso, o que deve fornecer seu endereço IP público como visto em outro local na Internet:

  • curl -4 icanhazip.com

Quando você tiver o endereço IP do seu servidor, insira-o na barra de endereços do seu navegador:

http://your_server_ip

Você deverá ver a página padrão do Apache do Ubuntu 18.04:

Página padrão do Apache

Esta página indica que o Apache está funcionando corretamente. Ele também inclui algumas informações básicas sobre arquivos importantes do Apache e locais de diretório.

Etapa 4 – Gerenciando o processo do Apache

Agora que você tem seu servidor web funcionando, vamos passar por alguns comandos básicos de gerenciamento.

Para parar seu servidor da Web, digite:

  • sudo systemctl stop apache2

Para iniciar o servidor da web quando estiver parado, digite:

  • sudo systemctl start apache2

Para parar e iniciar o serviço novamente, digite:

  • sudo systemctl restart apache2

Se você estiver simplesmente fazendo alterações de configuração, o Apache pode recarregar sem perder as conexões. Para fazer isso, use este comando:

  • sudo systemctl reload apache2

Por padrão, o Apache é configurado para iniciar automaticamente quando o servidor é inicializado. Se isso não é o que você deseja, desabilite esse comportamento digitando:

  • sudo systemctl disable apache2

Para reativar o serviço para inicializar na inicialização, digite:

  • sudo systemctl enable apache2

O Apache agora deve iniciar automaticamente quando o servidor inicializar novamente.

Ao usar o servidor da Web Apache, você pode usar hosts virtuais (semelhantes a blocos de servidor no Nginx) para encapsular detalhes de configuração e hospedar mais de um domínio em um único servidor. Vamos configurar um domínio chamado exemplo.com , mas você deve substituir isso por seu próprio nome de domínio . Para saber mais sobre como configurar um nome de domínio com o azureweb.

O Apache no Ubuntu 18.04 tem um bloco de servidores habilitado por padrão que é configurado para servir documentos do /var/www/htmldiretório. Embora isso funcione bem para um único site, ele pode se tornar pesado se você estiver hospedando vários sites. Em vez de modificar /var/www/html, vamos criar uma estrutura de diretórios /var/wwwpara o nosso site example.com , deixando /var/www/htmlno lugar o diretório padrão a ser atendido se uma solicitação do cliente não corresponder a nenhum outro site.

Crie o diretório para example.com da seguinte maneira, usando o -psinalizador para criar qualquer diretório pai necessário:

sudo mkdir -p /var/www/example.com/html

Em seguida, atribua a propriedade do diretório à $USERvariável de ambiente:

  • sudo chown -R $USER:$USER /var/www/example.com/html

As permissões de suas raízes da Web devem estar corretas se você não tiver modificado seu unmaskvalor, mas pode se certificar digitando:

  • sudo chmod -R 755 /var/www/example.com

Em seguida, crie uma index.htmlpágina de amostra usando nanoou seu editor favorito:

  • nano /var/www/example.com/html/index.html

Dentro, adicione o seguinte exemplo de HTML:

/var/www/example.com/html/index.html
<html>
    <head>
        <title>Welcome to Example.com!</title>
    </head>
    <body>
        <h1>Success!  The example.com server block is working!</h1>
    </body>
</html>

Salve e feche o arquivo quando terminar.

Para que o Apache exiba esse conteúdo, é necessário criar um arquivo host virtual com as diretivas corretas. Em vez de modificar o arquivo de configuração padrão localizado /etc/apache2/sites-available/000-default.confdiretamente, vamos criar um novo em :/etc/apache2/sites-available/example.com.conf

  • sudo nano /etc/apache2/sites-available/example.com.conf

Cole o seguinte bloco de configuração, que é semelhante ao padrão, mas atualizado para nosso novo diretório e nome de domínio:

/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Observe que atualizamos o DocumentRootpara o nosso novo diretório e ServerAdminpara um email que o administrador do site exemplo.com pode acessar. Também adicionamos duas diretivas:, ServerNameque estabelece o domínio base que deve corresponder a essa definição de host virtual e ServerAliasque define outros nomes que devem corresponder como se fossem o nome base.

Salve e feche o arquivo quando terminar.

Vamos habilitar o arquivo com a a2ensiteferramenta:

  • sudo a2ensite example.com.conf

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

  • sudo a2dissite 000-default.conf

Em seguida, vamos testar os erros de configuração:

  • sudo apache2ctl configtest

Você deve ver a seguinte saída:

Output
Syntax OK

Reinicie o Apache para implementar suas alterações:

  • sudo systemctl restart apache2

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *