DEV Community

Cover image for Como instalar e otimizar o Apache no Ubuntu
Alexandre Freire
Alexandre Freire

Posted on

Como instalar e otimizar o Apache no Ubuntu

Essas instruções devem funcionar em qualquer distribuição baseada no Ubuntu, incluindo Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04 e etc. Eles foram testados e escritos para o Ubuntu 16.04.

O Apache (também conhecido como httpd) é o servidor web mais popular e mais usado, portanto, isso deve ser útil para todos.

Antes de começarmos a instalar o Apache

Alguns requisitos e notas antes de começarmos:

  • O Apache já pode estar instalado no seu servidor, então verifique se é o primeiro. Você pode fazer isso com o comando “apachectl -V” que gera a versão do Apache que você está usando e algumas outras informações.
  • Você precisará de um servidor Ubuntu. Você pode comprar um da DigitalOcean, eles são um dos melhores e mais baratos provedores de hospedagem na nuvem.
  • Você precisará do usuário root ou de um usuário com acesso sudo. Todos os comandos abaixo são executados pelo usuário raiz, por isso, não precisamos acrescentar “sudo” a cada comando.
  • Você precisará do SSH ativado se usar o Ubuntu ou um cliente SSH como o MobaXterm, se usar o Windows. Isso é mais do que isso. Vamos para a instalação. ## Instale o Apache no Ubuntu A primeira coisa que você sempre precisa fazer é atualizar o Ubuntu antes de fazer qualquer outra coisa. Você pode fazer isso executando:
apt-get update && apt-get upgrade
Enter fullscreen mode Exit fullscreen mode

Em seguida, para instalar o Apache, execute o seguinte comando:

apt-get install apache2
Enter fullscreen mode Exit fullscreen mode

Se você quiser, também pode instalar a documentação do Apache e alguns utilitários do Apache. Você precisará dos utilitários do Apache para alguns dos módulos que instalaremos posteriormente.

apt-get install apache2-doc apache2-utils
Enter fullscreen mode Exit fullscreen mode

E é isso. Você instalou o Apache com sucesso.

Você ainda precisará configurá-lo.

Configure and Optimize Apache on Ubuntu

Existem várias configurações que você pode fazer no Apache, mas as principais e mais comuns são explicadas abaixo.

Verifique se o Apache está em execução

Por padrão, o Apache é configurado para iniciar automaticamente na inicialização, então você não precisa ativá-lo. Você pode verificar se ele está em exibição e outras informações relevantes com o seguinte comando:

systemctl status apache2
Enter fullscreen mode Exit fullscreen mode

Alt Text
E você pode verificar qual versão você está usando

apachectl -V
Enter fullscreen mode Exit fullscreen mode

Uma maneira mais simples de verificar isso é visitando o endereço IP do seu servidor. Se você obtiver a página padrão do Apache, tudo estará funcionando bem.

Atualize seu firewall

Se você usa um firewall (o que deve), provavelmente precisará atualizar suas regras de firewall e permitir o acesso às portas padrão. O firewall mais comum usado no Ubuntu é o UFW, então as instruções abaixo são para o UFW.

Para permitir o tráfego através das portas 80 (http) e 443 (https), execute o seguinte comando:

ufw allow 'Apache Full'
Enter fullscreen mode Exit fullscreen mode

Instalar módulos comuns do Apache

Alguns módulos são frequentemente recomendados e você deve instalá-los. Incluiremos instruções para as mais comuns:

Acelere seu website com o módulo PageSpeed

O módulo PageSpeed irá otimizar e acelerar o seu servidor Apache automaticamente.

Primeiro, vá para a página de download do PageSpeed e escolha o arquivo que você precisa. Estamos usando um servidor Ubuntu de 64 bits e instalaremos a versão estável mais recente. Faça o download usando wget:

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
Enter fullscreen mode Exit fullscreen mode

Em seguida, instale-o com os seguintes comandos:

dpkg -i mod-pagespeed-stable_current_amd64.deb 
apt-get -f install
Enter fullscreen mode Exit fullscreen mode

Reinicie o Apache para que as alterações entrem em vigor:

systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Ative reescritas / redirecionamentos usando o módulo mod_rewrite

Este módulo é usado para reescrever (redirecionamentos), como o nome sugere. Você precisará disso se usar o WordPress ou qualquer outro CMS para esse assunto. Para instalá-lo, basta executar:

a2enmod rewrite
Enter fullscreen mode Exit fullscreen mode

E reinicie o Apache novamente. Você pode precisar de algumas configurações extras, dependendo do CMS que estiver usando, se houver. Google-lo para instruções específicas para a sua configuração.

Proteja seu Apache com o módulo ModSecurity

ModSecurity é um módulo usado para segurança, mais uma vez, como o nome sugere. Ele basicamente atua como um firewall e monitora seu tráfego. Para instalá-lo, execute o seguinte comando:

apt-get install libapache2-modsecurity
Enter fullscreen mode Exit fullscreen mode

E reinicie o Apache novamente:

systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

O ModSecurity vem com uma configuração padrão que é suficiente por si só, mas se você quiser estendê-lo, você pode usar o conjunto de regras OWASP.

Bloquear ataques DDoS usando o módulo mod_evasive

Você pode usar o módulo mod_evasive para bloquear e impedir ataques DDoS em seu servidor, embora seja discutível como é útil na prevenção de ataques. Para instalá-lo, use o seguinte comando:

apt-get install libapache2-mod-evasive
Enter fullscreen mode Exit fullscreen mode

Por padrão, mod_evasive está desabilitado, para ativá-lo, edite o seguinte arquivo:

nano /etc/apache2/mods-enabled/evasive.conf
Enter fullscreen mode Exit fullscreen mode

E descomente todas as linhas (remove #) e configure-as conforme suas necessidades. Você pode deixar tudo como está se não souber o que editar.
Alt Text
E crie um arquivo de log:

mkdir /var/log/mod_evasive 
chown -R www-data:www-data /var/log/mod_evasive
Enter fullscreen mode Exit fullscreen mode

É isso aí. Agora reinicie o Apache para que as alterações entrem em vigor:

systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Existem módulos adicionais que você pode instalar e configurar, mas tudo depende de você e do software que você está usando. Eles geralmente não são obrigatórios. Mesmo os 4 módulos que incluímos não são necessários. Se um módulo for necessário para um aplicativo específico, ele provavelmente notará isso.

Otimize o Apache com o script Apache2Buddy

O Apache2Buddy é um script que ajusta automaticamente sua configuração do Apache. A única coisa que você precisa fazer é executar o seguinte comando e o script faz o resto automaticamente:

curl -sL https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | perl
Enter fullscreen mode Exit fullscreen mode

Pode ser necessário instalar o curl se você ainda não o instalou. Use o seguinte comando para instalar o curl:

apt-get install curl
Enter fullscreen mode Exit fullscreen mode

Configurações adicionais

Há algumas coisas extras que você pode fazer com o Apache, mas as deixaremos para outro tutorial. Coisas como ativar o suporte a http / 2, desativar (ou ativar) o KeepAlive, ajustando ainda mais o seu Apache. Você não precisa fazer nada disso, mas pode encontrar tutoriais on-line e fazê-lo se precisar.

Crie seu primeiro site com o Apache

Agora que terminamos todos os ajustes, vamos começar a criar um site real. Siga nossas instruções para criar uma página HTML simples e um host virtual que será executado no Apache.

A primeira coisa que você precisa fazer é criar um novo diretório para o seu site. Execute o seguinte comando para fazer isso:

mkdir -p /var/www/example.com/public_html
Enter fullscreen mode Exit fullscreen mode

Claro, substitua example.com pelo seu domínio desejado. Você pode obter um nome de domínio barato na GoDaddy.

Não se esqueça de substituir example.com em todos os comandos abaixo.
Em seguida, crie uma página da web simples e estática. Crie o arquivo HTML:

nano /var/www/example.com/public_html/index.html
Enter fullscreen mode Exit fullscreen mode

E cole isto:

<html>
     <head>
       <title>Simple Page</title>
     </head>
     <body>
       <p>If you're seeing this in your browser then everything works.</p>
     </body>
</html>
Enter fullscreen mode Exit fullscreen mode

Salve e feche o arquivo.
Configure as permissões do diretório:

chown -R www-data:www-data /var/www/example.com 
chmod -R og-r /var/www/example.com
Enter fullscreen mode Exit fullscreen mode

Crie um novo host virtual para o seu site:

nano /etc/apache2/sites-available/example.com.conf
Enter fullscreen mode Exit fullscreen mode

E cole o seguinte:

<VirtualHost *:80>
     ServerAdmin admin@example.com
     ServerName example.com
     ServerAlias www.example.com

     DocumentRoot /var/www/example.com/public_html

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Enter fullscreen mode Exit fullscreen mode

Este é um host virtual básico. Você pode precisar de um arquivo .conf mais avançado, dependendo da sua configuração.

Salve e feche o arquivo depois de atualizar tudo de acordo.
Agora, ative o host virtual com o seguinte comando:

a2ensite example.com.conf
Enter fullscreen mode Exit fullscreen mode

E, finalmente, reinicie o Apache para que as alterações entrem em vigor:

systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

É isso aí. Você está feito. Agora você pode visitar example.com e visualizar sua página.

Top comments (0)