Introdução ao Apache
O servidor web é um software que fica responsável por aceitar pedidos em HTTP de clientes. Quando uma pessoa utiliza um navegador, como o Chrome, Internet Explorer, Firefox ou outro qualquer, para poder acessar um site, o navegador envia uma requisição HTTP para o servidor (que pode ser um servidor Apache). O servidor, por sua vez, devolve o conteúdo solicitado por meio de uma resposta do tipo HTTP para o navegador.
Como na web não é possível prever a que hora se dará uma conexão, os servidores web precisam estar disponíveis o tempo todo.
O servidor Apache é o mais utilizado do mundo. Cerca de aproximadamente 50% dos servidores são Apache.
Algumas das vantagens de se utilizar um servidor Apache são:
- É gratuito;
- Pode ser instalado em Linux, MacOS e Windows;
- É capaz de lidar com grandes quantidades de tráfego com configuração mínima;
- Pode ser escalado com facilidade;
- Permite a remoção de módulos indesejados para torná-lo mais leve e eficiente.
O objetivo deste tutorial é utilizar o Apache em um sistema operacional gratuito, nos servidores EC2 (AWS Elastic Computing) da Amazon Web Services (AWS). Atualmente, as imagens de sistemas operacionais disponíveis no EC2 da AWS são:
- Ubuntu Server (gratuito)
- Amazon Linux 2 AMI (gratuito)
- SUSE Linux Enterprise Server (pago)
- Red Hat Enterprise (pago)
- Microsoft Windows Server (pago)
A imagem do Amazon Linux 2 AMI é gratuíta, porém, exclusiva da Amazon. Isso significa que não é possível instalá-la em um computador pessoal ou servidor fora da Amazon. Portando, caso a aplicação utilize algum recurso exclusivo dessa versão, ela somente poderá ser executada nos servidores da Amazon ou será necessário reajustá-la para poder ser executada em outras distribuições de Linux, como Debian, SUSE, Red Hat, Ubuntu, Fedora, dentre outras.
Com relação a instalação e utilização do Servidor Apache, a imagem do Amazon Linux 2 AMI pode ser utilizada sem maiores preocupações com relação a portabilidade do Apache, porque ele é muito utilizado nas principais distribuições de Linux, na plataforma Windows e Mac. No entanto, esse tutorial irá utilzar o Ubuntu Server por ser um sistema operacional livre. Sua imagem dele pode ser baixada, instalada e utilizada sem custo e necessidade de licença.
Quando o usuário monta uma máquina na AWS usando um sistema operacional pago, provavelmente pagará mais caro pelo seu uso do que se tivesse optado por um sistema operacional gratuito. Por exemplo: Dia 11/02/2021, no datacenter da AWS em São Paulo, uma instância do tipo
- Ubuntu Server (0,0336 USD/hora)
- SUSE Linux Enterprise Server (0,0646 USD/hora)
- Red Hat Enterprise (0,0936 USD/hora)
- Microsoft Windows Server (0,052 USD/hora)
Use o link:AWS EC2 - Pricing, caso deseje ter noção de custo atualizado.
O Linux pode ser instalado de modo automático, a partir da linha de comando. Nesse caso, utiliza-se o comando apt ou apt-get para baixar e instalar o Apache a partir de algum repositório online do tipo .deb.
Esse tipo de instalação possui a vantagem de ser rápida, porém, apresenta algumas desvantagems:
- É uma compilação genérica feita para atender a maioria dos usuários, portanto não é otimizada para o hardware do usuário (cpu e espaço de armazenamento).
- Toda distribuição de Linux tem o seu pacote de instalação do Apache, porém, em muitos casos a instalação não é realizada de acordo com a hierarquia de arquivos padrão (Filesystem Hierarchy Standard - FHS). Além disso, muitos pacotes implementam procedimentos de configuração personalisado. Nesses casos, migrar de uma distribuição de Linux para outra gera muita confusão e dá muito trabalho.
- Nomes dos arquivos de configuração e/ou procedimento de configuração do Apache podem ser diferentes entre uma distribuição e outra.
Este turorial explica como fazer o download do código fonte do Apache, compilá-lo e instalá-lo de acordo com o FHS. Informções sobre os módulos mais utilizados, prodedimentos de configuração e otimização também são fornecidos.