Servidor Apache: um guia completo para iniciantes

Há vários tipos de servidores web no mercado e entre eles está o Apache, um dos mais antigos servidores

Embora nos últimos anos tenham surgido alternativas novas, mais modernas e eficientes, o Apache continua sendo um servidor de referência.

Estatisticamente, o Apache cobre 33,7% dos 1000 primeiros lugares, logo atrás do Nginx com seus 38,8%

É amplamente usado em sistemas operacionais do tipo Unix, e pode ser usado em quase qualquer plataforma como Windows, OS X, OS/2, etc

Neste guia detalhado, vamos examinar:

  • O que é exatamente o Apache; sua importância
  • Sua importância ;
  • Como funciona;
  • Suas vantagens e desvantagens;
  • Como difere de outros servidores da rede no mercado;
  • Sua instalação e configuração ;
  • etc.

Vamos começar!

Table des matières

Capítulo 1: O que é o servidor Apache e como ele funciona?

1.o que é Apache e o que ele faz?

O servidor Apache é um dos mais poderosos servidores web gratuitos do mercado. Foi criado em 1995 por Rob McCool, então funcionário da NCSA

De acordo com as estatísticas da W3techs, ele é usado por 31, 5% de todos os websites para os quais o servidor é conhecido

Serveur Apache Guide Complet (2)

Esta é a tecnologia central doFundação Apache Softwareé a tecnologia central da Internet, responsável por mais de uma dúzia de projetos envolvendo :

  • Tecnologias de transmissão Web
  • Processamento de dados;
  • E a execução dos pedidos distribuídos

Por que Apache? A palavra, Apache, foi retirada do nome da tribo indígena americanaApache a palavra Apache foi tirada do nome da tribo indígena americana “Apache”, famosa por sua habilidade na guerra e na estratégia.

Homme de la Tribu americaine Apache

Fonte: Guru99

Inicialmente, este era apenas um grupo de correções para o servidor web NCSA HTTPd, que o autor então substituiu completamente, reescrevendo todo o código original.

Em resumo, o Apache é um servidor web HTTP de código aberto desenvolvido e mantido por uma comunidade de usuários em torno daApache Software Foundation. Ele é usado para responder a pedidos de conteúdo de clientes da web (navegadores).

 Client Serveur Bae de donnees

Fonte: Informationq

Atualmente e desde 1996, é o servidor web gratuito mais usado no mundo por causa de sua segurança e estabilidade.

Além disso, a maioria das empresas de hospedagem da web trabalha com servidores Apache.

1.1.1. O que é um servidor web?

Um servidor web é um programa que processa e retorna informações quando um usuário faz um pedido

Requete et Reponse serveur web

Fonte: nanduribalajee

Em outras palavras, ele hospeda websites em um ou mais servidores e exibe o conteúdo (websites) do servidor via software do cliente (um navegador).

A maioria dos servidores é compatível com Linux. Os servidores web Linux mais importantes são o Apache e o NGINX.

1.1.2. Qual é o maior desafio de um servidor web?

Os arquivos que os servidores processam são escritos em diferentes idiomas

  • Python
  • Java
  • PHP
  • Etc.

Quando um usuário deseja carregar uma página de um site, seu navegador envia um pedido ao servidor, e o Apache retorna uma resposta com todos os arquivos solicitados:

  • Texto
  • Imagens;
  • Vídeos
  • Etc.

Em suma, o servidor fornece as páginas solicitadas por diferentes usuários e garante uma comunicação correta e segura. O servidor e o cliente se comunicam por meio do protocolo HTTP

1.como funciona um servidor Apache?

A principal funcionalidade desse serviço web é fornecer aos usuários todos os arquivos necessários para a visualização da web. Os pedidos dos usuários são geralmente feitos através de um navegador:

  • Crómio
  • Firefox
  • Safari;
  • Etc.

O Apache assegura que a comunicação entre o servidor web e o cliente web (usuário que solicita as informações) seja suave e consistente.

Assim, quando um usuário faz um pedido HTTP através do navegador para entrar em um website ou URL específico, o Apache retorna as informações solicitadas através do protocolo HTTP.

Por exemplo, quando um usuário escreve twaino.com em seu navegador, esse pedido chegará ao nosso servidor Apache, que fornecerá os textos, imagens, estilos… através do protocolo HTTP.

Fonctionnement d un serveur apache

Fonte: Temok

Além disso, o Apache permite que o senhor aplique um alto nível de personalização através de seu sistema modular.

Na verdade, o servidor tem um baseado no módulo que lhe permite ativar e desativar várias características como

  • módulos de segurança como mod_security
  • módulos de cache como o Verniz;
  • ou módulos de personalização de cabeçalho como mod_headers.

Esses módulos Apache devem ser usados com cautela, pois podem afetar a segurança e a funcionalidade do servidor web. (Mais detalhes sobre os módulos Apache são dados abaixo).

O Apache também permite que o senhor personalize as configurações do PHP de sua hospedagem através do arquivo .htaccess.

1.3. Algumas características do Apache

É um servidor web com suporte para HTTP/1.1 e HTTP/2.0 posterior, de acordo com a RFC 7540

caractéristiques de Apache (1)

Foi um dos primeiros servidores a suportar o VirtualHost (também conhecido como site virtual) para domínios e IPs seguindo o padrão normal da RFC 2616

Caractéristiques de Apache (1)

Isso permite que vários domínios sejam hospedados no mesmo servidor com o mesmo IP, algo que hoje parece básico, mas nos anos 90 foi uma revolução.

As principais características do Apache incluem o seguinte:

  • É gratuito e de fonte aberta;
  • Fácil de instalar e configurar;
  • Altamente extensível e adaptável com módulos;
  • Características incorporadas para autenticação e validação do usuário;
  • Apoio para línguas como Perl, PHP e Python.

Capítulo 2: Quais são as vantagens e desvantagens do Apache?

2.1. Vantagens do Apache

Algumas das vantagens que podemos encontrar em um servidor Apache são as seguintes:

  • Apoio: é um dos servidores mais usados há mais de duas décadas, portanto, por trás dele há uma comunidade muito grande acompanhada de extensa documentação.
  • Cross-platform: Funciona tanto em Microsoft Windows, Unix/Linux e Mac, tornando-o um excelente serviço tanto para um servidor quanto para um ambiente de desenvolvimento em qualquer estação de trabalho.
  • Características: Contém um grande número de módulos oficiais e de terceiros que permitem que o senhor amplie a funcionalidade do servidor.
  • Simplicidade: É um dos servidores mais fáceis de instalar e configurar, especialmente nas distribuições Linux onde faz parte dos repositórios de cada distribuição. No caso do Windows, ele pode ser encontrado empacotado com o servidor MySQL e PHP em um único instalador, o que facilita muito a instalação.
  • Segurança: O Apache tem recursos embutidos para tornar o software seguro com módulos de Autorização e Autenticação e funções de Controle de Acesso, assim como suporte para criptografia com certificados SSL/TLS.
  • Ela tem uma grande comunidade de desenvolvedores no mundo inteiro, que ajudam a melhorar o software, já que o código fonte original está disponível gratuitamente para visualização;
  • Estrutura baseada em módulos;
  • É de fonte aberta e gratuita;
  • Alto nível de segurança através de atualizações constantes;
  • Personalização por meio de .htaccess independente em cada hosting;
  • Compatível com todos os principais CMS, lojas on-line e plataformas de e-learning;
  • É um dos servidores web mais antigos do mercado, por isso é super confiável;
  • Permite que o senhor habilite e desabilite os recursos;
  • Fácil de usar para iniciantes.

2.2 Desvantagens do Apache

As duas desvantagens dos Apaches são

  • O desempenho pode ser afetado em páginas de alto tráfego, especialmente depois de 10.000 conexões;
  • Se os módulos não forem usados corretamente, poderão ser criados buracos de segurança.

A única desvantagem notável é o fraco desempenho em comparação com outras alternativas no mercado que são mais rápidas e capazes de lidar com muito mais tráfego com os mesmos recursos.

Capítulo 3: Diferenças entre os Apache e outros grandes servidores web

3.1. Apache contra Nginx

Embora o NGINX seja relativamente jovem (nascido em 2004), tornou-se popular muito rapidamente devido às vantagens que oferece em lidar com o alto tráfego de mais de 10.000 conexões de cada vez.

Fonte: Apache Vs NGINX – Qual é o melhor servidor web para você?

Ela pode ser definida como uma aplicação para servidores web. O objetivo principal era resolver o problema que alguns servidores como o Apache tinham: Proprietários de sites com muito tráfego estavam tendo problemas de desempenho.

NGINX permite que todos os pedidos a um website sejam feitos em um único processo e proporciona uma melhor escalabilidade.

Por essa razão, é usado por marcas internacionais como Netflix, Airbnb, Pinterest ou Wikipedia

Em resumo, para websites de alto tráfego, NGINX é o que o senhor precisa e para sites com menos visitas, Apache é o ideal.

Para fornecer um serviço web de alto desempenho em termos de conexão, alguns servidores têm uma configuração Apache e Nginx funcionando em paralelo.

3.1.1. As diferenças entre Nginx e Apache

O servidor Apache americano e o Ngnix russo têm lutado e ganhado terreno no mundo da hospedagem da web. Eles são dois dos recursos mais utilizados para administrar milhares de websites em servidores locais.

E embora ambos os servidores tenham o mesmo propósito de manter o mundo conectado, vale a pena rever quais são suas diferenças mais importantes e aqui o senhor saberá mais sobre elas.

3.1.1.1 Eles têm uma estrutura e um escopo diferentes

O servidor web Apache tem uma estrutura de software simples, é de código aberto e processa um pedido do usuário via HTTP ou HTTPS, um de cada vez.

Por outro lado, o Ngnix é mais robusto, de fonte aberta e adequado para todos os tipos de sites e tráfego na rede, pois pode lidar com um grande número de conexões paralelas do processo de trabalho.

3.1.1.2. Serviço Apache para hospedagem compartilhada

Uma característica do Apache, ao contrário do Nginx, é que o cliente pode escolher a configuração de seu site no servidor sem afetar os outros, ou mudar o layout geral do servidor em hospedagem compartilhada.

A função acima é possível a partir de arquivos .htaccess, com os quais cada diretório da página da web pode ser configurado independentemente.

Embora isso seja uma grande vantagem, essa flexibilidade na configuração pode afetar o desempenho do servidor quando ele recebe um grande número de pedidos.

3.1.1.3. Compatibilidade dos dois servidores

O Apache é altamente compatível com Linux, Windows e o CMS mais comumente usado para criar e administrar websites como WordPress e Joomla.

Por outro lado, o Nginx ainda não consegue a sincronização ideal com o Windows, mas também é compatível com os populares gestores de conteúdo e com a linguagem de programação Python.

3.1.1.4. Apache e Nginx facilitam o relacionamento entre o usuário da web

Os servidores da Web vieram até nós para facilitar a troca de informações

Se olharmos para isso de um ponto de vista mais específico, eles permitem que as páginas atinjam seus objetivos mantendo uma velocidade de carregamento que permite ao usuário obter rapidamente o que está procurando.

Não há dúvida sobre a utilidade dos servidores web, Apache e Nginx são valiosos

3.1.1.5. Outras diferenças
  1. O uso de CPU e memória é consistente no Nginx mesmo sob cargas pesadas em comparação com o Apache.
  2. O Apache usa métodos convencionais baseados em arquivos para lidar com conteúdo estático e conteúdo dinâmico integrando o renderizador de linguagem, enquanto o Nginx não tem a capacidade de renderizar conteúdo dinâmico nativamente.
  3. O Apache permite configuração adicional por diretórios através da avaliação e interpretação de diretrizes em arquivos ocultos chamados .htaccess, enquanto o Nginx não permite configuração adicional por diretórios através da avaliação e interpretação de diretrizes.
  4. Apache interpreta .htaccess enquanto Nginx não interpreta .htaccess
  5. Os pedidos são atendidos mais rapidamente pela Nginx do que pela Apache.
  6. O nível de segurança é alto em Nginx em comparação com o Apache, pois Nginx não permite o acesso a configurações de nível de diretoria para ser distribuído a um usuário individual.
  7. O Apache foi projetado como um servidor web, enquanto o Nginx foi projetado como um servidor web, bem como um servidor proxy.
  8. No Apache, os módulos são carregados e descarregados dinamicamente, mas no Nginx, os módulos não são carregados dinamicamente.
  9. No Nginx, os módulos são selecionados e depois compilados no software principal, enquanto no Apache isso é feito de forma dinâmica.

Agora que as diferenças são claras, cabe ao senhor decidir qual delas é a correta para o tipo de projeto que deseja montar.

3.2. Apache contra Tomcat

Tomcat (Apache tomcat) é um sub-projeto da Fundação Apache e é um projeto no mesmo nível do servidor Apache (isto é, httpd)

Apache Tomcat

Fonte: Home-theater-designers

Tomcat é destinado exclusivamente a aplicações Java.

Em termos de semelhanças entre os dois, temos :

  • Eles são desenvolvidos pela organização Apache;
  • Eles têm a função de serviço HTTP;
  • Eles são de fonte aberta e gratuitos.

Em termos de distinção, nós temos

1. Tomcat é especial porque é também um container web Java e pode lidar com JSPs, enquanto o Apache geralmente vem com PHP e não pode lidar com JSPs.

2. O Apache só suporta páginas web estáticas e exige que Tomcat trate páginas web dinâmicas como a Jsp. Tomcat também pode ser usado para páginas estáticas, mas em alguns casos é menos eficiente do que o Apache.

3. Não pode ser configurado tão simplesmente como o Apache.

4. Integração Apache e Tomcat:

  • – Se o cliente solicitar uma página estática, somente o servidor Apache deverá responder ao pedido;
  • – Se o cliente solicita uma página dinâmica, o servidor Tomcat responde ao pedido.

5. Apache e Tomcat são independentes e podem ser integrados no mesmo servidor.

6. O Apache é implementado na língua C e suporta várias características e módulos para ampliar a funcionalidade básica. Tomcat é escrito em Java e é mais adequado para Servlet e JSP.

7. Apache é um servidor web (análise estática, como HTML), tomcat é um servidor de aplicações Java (análise dinâmica, como JSP).

8. Tomcat é apenas um recipiente de servlet, que pode ser considerado como uma extensão do apache, mas pode funcionar independentemente do apache.

9. O Apache é um servidor comum, que só suporta páginas web em HTML, ou seja, páginas web normais. Tomcat, por outro lado, é um recipiente jsp/servlet, e também suporta HTML, JSP, ASP, PHP, CGI, etc.

10. O Apache se concentra no servidor HTTP e o Tomcat no motor de servlet

11. Ao contrário de Tomcat, o Apache pode correr um ano sem recomeçar, e a estabilidade é muito boa.

3.3. Apache versus LiteSpeed

Muitas soluções modernas de servidores usam uma tecnologia existente como base de construção. Esse é exatamente o caso da LiteSpeed.

LiteSpeed

O LiteSpeed Web Server (LSWS) foi lançado pela primeira vez em 2003 e foi comercializado como um substituto do Apache

Tem a capacidade de ler os arquivos de configuração do Apache, executar os mesmos comandos e integrar-se totalmente com todos os painéis de controle, tais como cPanel, Plesk e DirectAdmin.

As principais melhorias foram em termos de desempenho e escalabilidade.

Embora a LiteSpeed se destinasse a substituir o Apache, ela não usa a mesma base de código. De fato, sua arquitetura orientada por eventos torna a solução muito mais parecida com a do Nginx

O software usa mecanismos preditivos para lidar com os picos de tráfego de entrada e aliviar a carga no servidor.

Agora é hora de comparar LiteSpeed com Apache e descobrir o que é melhor:

  1. Popularidade – LiteSpeed vs Apache – Vencedor: Apache

Só poderia haver um vencedor para esse fator. Afinal de contas, o Apache já estava conquistando o mercado. Quando a LiteSpeed chegou, seu concorrente já estava energizando mais de 50% de todos os websites.

Na verdade, a porcentagem varia de acordo com a fonte de terceiros que o senhor está examinando.

Segundo o relatório do Netcraft de abril de 2020, o Apache já perdeu a primeira posição para o Nginx, que agora detém apenas 25% da fatia de mercado

Por outro lado, a W3Techs, gigante da pesquisa na web, conta uma história diferente. Seu recente relatório sobre as estatísticas de uso mostra que o Apache ainda é rei, governando 39% da Internet. Nginx está em segundo lugar com 31,9% e LiteSpeed está em quinto lugar, responsável por 6,4% dos sites on-line.

Portanto, é evidente que o vencedor aqui é Apache.

  1. Desempenho (conteúdo estático) – LiteSpeed vs Apache – Vencedor : LiteSpeed

Devido a sua arquitetura assíncrona, a LiteSpeed é muito mais flexível, com maior tráfego e conexões simultâneas

Ele usa uma metodologia inteligente de cache, na qual o sistema cacheia arquivos comprimidos em vez de criar um novo pedido cada vez que o usuário tenta vê-los.

Dessa forma, o LSWS é capaz de aumentar o desempenho do servidor PHP em 50%, eventualmente tornando-o até seis vezes mais rápido do que o Apache para conteúdo estático.

Há uma outra vantagem: a LiteSpeed trabalha com páginas comprimidas. Dessa maneira, cada novo pedido não só é atendido mais rapidamente, como também usa menos RAM.

Portanto, a LiteSpeed está à altura de seu nome.

Fonte: 8 Tipos de serviços de hospedagem na Web Explicados + Infográficos (sitesaga.com)
  1. Desempenho (conteúdo dinâmico) – LiteSpeed vs Apache: Igualdade

A maioria dos websites hoje são dinâmicos. Eles usam scripts do lado do servidor, que determinam como o servidor trata os pedidos dos diferentes usuários.

Sistemas de Gerenciamento de Conteúdo (CMS) são ferramentas freqüentemente usadas para criar conteúdo dinâmico: WordPress, Magento, Joomla, Drupal… é provável que seu site use uma solução CMS

No entanto, não há um vencedor claro quando o senhor põe à prova o desempenho da LiteSpeed contra o Apache.

O senhor pode facilmente pré-configurá-lo com módulos como FastCGI e PHP-FPM. Dessa maneira, ele pode lidar com cargas maiores e acelerar suas páginas em um ambiente PHP multiusuário.

O LSWS é igualmente bom, e os benchmarks confirmaram essa noção. O Apache ofereceu uma velocidade ligeiramente melhor, mas a compressão avançada da página da LiteSpeed lhe deu uma ligeira vantagem para sites maiores.

  1. Apoio ao sistema operacional – LiteSpeed vs Apache – Winner: Apache

O sistema operacional é outro elemento crucial na configuração de seu website. Os servidores Linux continuam sendo a solução dominante no campo da hospedagem da web. Portanto, os sistemas operacionais do tipo Unix são uma escolha natural

A esse respeito, não faria muita diferença qual servidor da web o senhor utiliza.

O Apache é compatível com todas as versões e instâncias do sistema operacional Linux

  • Fedora ;
  • Ubuntu ;
  • RedHat
  • Etc

E como a LiteSpeed usa o Apache como base… bem, o senhor pode conectar os pontos.

Para os usuários do Windows, as coisas mudam.

Enquanto o Apache é totalmente otimizado para as instâncias do Windows, o LiteSpeed não é compatível com o sistema operacional. De acordo com os desenvolvedores, os sistemas Windows são muito diferentes das soluções do tipo Unix e exigem muitos reajustes na configuração existente.

Aqui o Apache vence o duelo.

  1. Segurança – LiteSpeed vs Apache – Vencedor : LiteSpeed

o aspecto da segurança nunca deve ser negligenciado. Relatórios de crimes cibernéticos mostram um aumento espantoso de 600% nos ataques on-line desde 2017, causando perdas estimadas em US$500 bilhões para a economia global.

O Apache vem com tudo o que o senhor precisa para assegurar um servidor web. O senhor pode aplicar regras de segurança, bloquear o acesso dos usuários ou remover módulos desnecessários

Além disso, o Apache tenta seguir os mais recentes padrões de segurança do servidor, freqüentemente liberando correções de vulnerabilidade e otimizações de segurança.

No entanto, o senhor precisa de alguns conhecimentos de administração e de reconfiguração. A LiteSpeed oferece proteção de alto nível para o website desde o início

Ele apóia as regras de mod_security do Apache, de modo que o senhor pode esperar as mesmas defesas fortes do servidor.

No entanto, há algumas coisas em que a LiteSpeed se destaca, e uma delas é certamente a proteção contra a força bruta e outros ataques do DDoS

Em um teste simulado, o LSWS tratou facilmente o mesmo número de pedidos de servidores que anteriormente causavam a queda do Apache.

Cada pedacinho conta, e a LiteSpeed terá de ganhar este.

  1. Apoio – LiteSpeed vs Apache – Vencedor : LiteSpeed

Comparando o servidor web da LiteSpeed com o do Apache em termos de apoio, ambas as soluções mantêm documentação detalhada para qualquer pessoa interessada em auto-ajuda

Naturalmente, os guias são um pouco mais orientados tecnicamente, mas mesmo um usuário novato pode encontrar material didático suficiente.

No entanto, a LiteSpeed parece ter uma comunidade mais bem organizada. Além de fóruns dedicados, os usuários do LSWS têm seus próprios grupos em Slack e Facebook, onde dicas de otimização são freqüentemente discutidas ou problemas de clientes resolvidos.

Quanto ao apoio técnico ao vivo, o Apache simplesmente não tem nenhum. O software é de fonte aberta, portanto a comunidade é sua melhor opção para apoio ao vivo

Em comparação, o LiteSpeed é um produto comercial, e por isso oferecem um apoio dedicado. O senhor pode facilmente apresentar um bilhete de ajuda de sua área de usuário, e os operadores são geralmente úteis.

O senhor pode até optar pelo Apoio Premium com a LiteSpeed e obter serviços como, por exemplo

  • Instalação de módulos
  • Configuração dos pacotes do DDoS;
  • Ou a retirada das listas negras.

É claro que esses serviços podem ser bastante caros. Por exemplo, US$ 999 por ano para a gestão de servidores parece muito caro para um start-up ou uma PME. Mas se o senhor não tem uma pessoa de informática e pode pagar, os especialistas do LSWS podem ser exatamente o que o senhor está procurando.

A LiteSpeed ganha essa rodada por causa da grande variedade de opções de apoio e assistência dedicada que oferece.

  1. Prêmio – LiteSpeed vs Apache – Vencedor: Apache

O Apache já tem aqui a vantagem. O software sempre foi distribuído gratuitamente, o que é uma das razões pelas quais ele é uma solução tão popular para administrar servidores web.

Como plataforma proprietária, LiteSpeed é um produto pago, com preços que variam de US$10/mês a US$92/mês em níveis mais altos. Há também uma versão gratuita, mas é bastante limitada: só pode suportar um domínio e dá cerca de 2GB de RAM.

No final das contas, se o preço é o seu principal ponto de venda, o preço livre (Apache) será sempre melhor do que o pago (LiteSpeed).

3.4. Apache vs Lighttpd

Há cerca de dez anos (enquanto o Nginx ainda estava na infância), o Lighttpd era um servidor alternativo leve ao Apache, pois suportava melhor as conexões simultâneas de milhares de usuários.

 Lighttpd

Fonte: Wikipedia

Lighttpd é um pacote de software escrito em C por Jan Kneschke, distribuído sob a licença do BSD e disponível para Unix e Linux.

Uma das características do servidor web é que ele consome muito poucos recursos de RAM e CPU. Isso o torna particularmente útil para servidores VPS ou Dedicated servers com poucos recursos.

Ele apóia a comunicação e integração com FastCGI, SCGI e CGI. Portanto, é capaz de responder a pedidos de páginas feitos em qualquer linguagem de programação.

Uma das desvantagens do lighttpd é que ele não suporta .htaccess, assim como o fato de que lhe falta documentação completa e uma comunidade adotada em massa, ao contrário de seus rivais Apache e Nginx.

Eis 7 principais diferenças entre os servidores Apache e Lighttpd:

  1. Nginx e Lighttpd são provavelmente os dois servidores assíncronos mais conhecidos, e o Apache é de longe o servidor baseado em processos mais conhecido.
  2. A maioria dos testes mostra que há um ganho de desempenho inerente ao uso do Lighttpd sobre o Apache.
  3. O Apache apóia o CGI e o FastCGI. Ela é testada e sua implementação não mudou por anos. O senhor pode encontrar documentos com mais de dez anos e que ainda são válidos. O Lighttpd apóia o CGI e o FastCGI através do módulo.
  4. O Lighttpd apoia o X-Sendfile desde a versão 1.5. O Apache 1 não suporta o arquivo X-Send file. Para o Apache 2 há um módulo de terceiros.
  5. A reescrita do URL no Apache pode ser feita em uma configuração (em nível de site) ou por meio de um substituto no estado de .htaccess. No Lighttpd, o senhor está limitado a reescrever somente através do nível de configuração, o que significa que para plataformas como o WordPress, o senhor terá que codificar em código duro, seguindo a regra de reescrita de formato.
  6. O Lighttpd é distribuído sob os termos da licença revisada do BSD. Essa opção de licenciamento reduz muito o atrito de colaboração entre o código Lighttpd e o de outros projetos distribuídos sob outras licenças. O Apache usa a licença Apache 2.0 com o mesmo nome, que às vezes é considerada “permissiva” no sentido de que é uma licença de código aberto que não é uma licença copyleft.
  7. Instalar o PHP não é tão fácil no Lighttpd quanto no Apache, porque não há módulo para ele.

3.5. Apache versus IIS

O IIS(Internet Information Services – anteriormente chamado de Internet Information Server) é um servidor web criado pela Microsoft para seus sistemas operacionais de servidores

Microsoft IIS

Fonte: Código de exportação

Embora seja um sistema proprietário, ele se baseia em vários protocolos disponíveis publicamente, inclusive:

  • Protocolo de Transferência de Hipertexto (HTTP)
  • O Protocolo de Transferência de Correio Simples (SMTP);
  • E o Protocolo de Transferência de Arquivos (FTP)

Sua primeira versão foi introduzida com o Windows NT Server versão 4 e passou por várias atualizações. Atualmente, a versão mais recente é a IIS 10 (só disponível no Windows Server 2019)

Após o lançamento da plataforma .NET em 2002, o IIS também adquiriu o papel de administrador doASP.NET

Microsoft ASP NET

Fonte: Wikipedia

ASP.NET, como sua concorrente direta JSP, é compilada antes da execução. Essa característica tem vantagens sobre opções interpretadas, tais como ASP e PHP.

Agora, qual escolher?

Tanto o Apache quanto o IIS têm suas vantagens e desvantagens

  • O IIS vem com o Windows, mas o Apache não tem nenhum grande nome de apoio empresarial
  • O Apache tem excelente segurança, mas não oferece o excelente suporte .NET do IIS
  • O Apache é livre e o IIS não é livre;
  • Os módulos de idioma são mais fáceis de instalar no IIS, uma vez que o senhor só precisa executar o instalador;
  • O IIS vem com a biblioteca ASP, pronta para executar scripts que usam a linguagem, enquanto que com o Apache o usuário tem que instalar os pacotes apropriados;
  • Etc

A escolha final pode muito bem ser definida pela solução que melhor atenda a suas necessidades críticas

O quadro resumo a seguir também pode ajudar o senhor:

 Caracteristique IIS vs Apache

Aqui está uma pequena lista de sites e seus servidores da web:

Liste de sites et leur serveur

3.6. Apache contra Caddy

OCaddy é uma plataforma de servidor web de código aberto projetada para ser simples, fácil de usar e segura

Escrito em Go sem dependências, o Caddy é fácil de baixar e funciona em quase todas as plataformas que Go compila.

Caddy

Por padrão, o Caddy apoia o HTTPS automático através do provisionamento e renovação de certificados por meio do Let’s Encrypt. Ao contrário do Apache, o Caddy fornece essas características fora da caixa, e também vem com o redirecionamento automático do tráfego HTTP para HTTPS.

Em comparação com o Apache, os arquivos de configuração do Caddy são muito menores. Além disso, o Caddy funciona no TLS 1.3, o último padrão de segurança para o transporte.

Em termos de desempenho, o Caddy provou ser competitivo com o Apache (mas atrás do Nginx), tanto em termos de pedidos processados por segundo como de estabilidade de carga.

Outra possível desvantagem do Caddy é que ele tem atualmente uma pequena participação no mercado, o que pode limitar os recursos para a solução de problemas

Capítulo 4: Instalação e configuração do Apache

4.1 Instalação e Configuração do Servidor Apache: Tutoriais de Vídeo Curtos

Para ajudar o senhor a ver tudo claramente, selecionamos alguns vídeos tutoriais curtos e auto-explicativos para instalar e configurar o Servidor HTTP Apache:

  • Tutorial para instalação e configuração do Apache Web Server no Windows 10
  • Tutorialpara instalar e configurar o Apache no Linux:
  • Tutorialpara instalar e configurar o servidor web Apache no Ubuntu Linux (para iniciantes)

4.2. Iniciando o Apache

Use os seguintes comandos:

  • Para iniciar o serviço Apache

sudo service apache2 start

  • Para verificar se a configuração do Apache é válida e para recarregar

sudo apache2ctl configtest

sudo service apache2 reload

  • Para listar os módulos disponíveis do Servidor HTTP Apache

/etc/init.d/apache2 -l

4.3. Configuração do Apache via .htaccess

Use o arquivo “.htacess” para configurar certos comportamentos do Apache HTTP. Uma das principais aplicações desse arquivo é redirecionar um URL para outros URLs.

O seguinte arquivo .htacess redireciona http://twaino.com para http://www.twaino.com. Ele também redireciona o acesso a uma determinada página da Internet para outra página da Internet por meio de um redirecionamento 301

Les redirections 301

O 301 redirecionamento dirá aos motores de busca que essa página foi movida e é o método recomendado para mover páginas da web.

Aqui está um vídeo auto-explicativo que pode ajudá-lo com a configuração do Apache via .htacess

4.4. Usando módulos no Apache Http

O Apache Http apóia o uso de módulos. Para habilitar os módulos, use a2enmod + comando. Para permitir o módulo de reescrita, por exemplo, use a2enmod reescrever.

Aqui está um vídeo que explica como habilitar/desabilitar módulos no Apache2: https: //youtu.be/YkZC38HfOQU

4.5. Desempenho – Possibilitando a compressão gzip

Para otimizar o tempo de download de suas páginas da Internet, o senhor pode ativar a compressão gzip. Isso requer o módulo Apache“mod_deflate“, que pode ser instalado com o seguinte comando:

a2enmod deflacionar

sudo /etc/init.d/apache2 restart

A compressão pode ser habilitada no arquivo de configuração padrão para este módulo localizado em /etc/apache2/mods-available/deflate.conf ou através do “.htaccess“.

# comprimir todos os textos e html:

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

[Outros módulos Apache]] == Suporte para php e wordpress :

sudo apt-get install libapache2-mod-fcgid

sudo apt-get install php5-cgi

Em seguida, ative os módulos correspondentes:

sudo a2enmod fastcgi

sudo a2enmod proxy

# necessário para o blog wordpress

sudo a2enmod reescrever

Capítulo 5: Como proteger o servidor web Apache?

Proteger seu servidor web é muito importante, isso significa :

  • Impedindo que suas informações confidenciais sejam expostas
  • Proteção de seus dados;
  • E restringindo o acesso.

Aqui estão sete coisas comuns que podem melhorar a segurança de seus servidores Apache na rede:

5.1. Ocultar a versão Apache e informações do sistema operacional

Normalmente, o Apache mostra sua versão e o nome do sistema operacional em erros.

Um atacante pode usar essa informação para lançar um ataque usando vulnerabilidades disponíveis publicamente na versão particular do servidor ou do sistema operacional.

Para evitar que o servidor web Apache exiba essas informações, o senhor deve mudar o “ assinatura do servidor “opção disponível no arquivo de configuração do apache”. Por padrão, é“ON“, o senhor deve defini-lo como“OFF”.

O senhor também pode definir o“ServerTokens Prod“, que diz ao servidor da rede que devolva somente o Apache e que suprima as versões de sistemas operacionais maiores e menores.

Configuration Apache

Fonte: Unixmen

Após modificar o arquivo de configuração, o senhor precisa reiniciar/carregar seu servidor web apache para torná-lo efetivo.

5.2. Listagem do diretório de desativação

Se o diretório raiz de seu documento não tiver um arquivo de índice, por padrão seu servidor web apache exibirá todo o conteúdo do diretório raiz do documento.

Este recurso pode ser desativado para um diretório específico através do “diretriz de opções“disponível no arquivo de configuração do Apache”.

5.3. Desativar módulos desnecessários

Recomenda-se que o senhor desabilite todos os módulos desnecessários que não sejam usados. O senhor pode ver a lista dos módulos habilitados disponíveis em seu arquivo de configuração do apache.

Muitos dos módulos listados podem ser desativados, tais como :

  • mod_imap
  • mod_include
  • mod_info
  • mod_userdir
  • mod_autoindex ;
  • etc

Isso porque eles quase nunca são usados por servidores web de produção.

Uma vez que o senhor tenha retirado os módulos que não são úteis, salve o arquivo.

Reinicie os serviços dos Apaches com o seguinte comando:

/etc/init.d/httpd restart

5.4. Restringir o acesso a arquivos fora do diretório raiz da web

Se o senhor quiser assegurar que os arquivos fora do diretório raiz da web não sejam acessíveis, deve assegurar-se de que o diretório seja restrito com a opção“Permitir” e“Negar” no arquivo de configuração do servidor da web.

Uma vez que o senhor tenha acesso restrito fora do diretório raiz da web, não poderá acessar nenhum arquivo localizado em qualquer outra pasta de seu servidor da web. O senhor receberá, portanto, um código de retorno 404.

5.5. Usando mod_evasive para refutar o ataque do DoS

Se o senhor quiser proteger seu servidor web contra o Dos (isto é, a negação de serviço), precisará habilitar o módulo mod_evasive

ModEvasive

Fonte: Ubiq

Este é um módulo de terceiros que detecta o ataque Dos e o impede de fazer tantos danos quanto faria se tomasse seu curso

Poderia ser baixado aqui: Faça aqui o download do arquivo.

5.6. Utilização do mod_security para melhorar a segurança do apache

Esse módulo funciona como um firewall para o Apache e permite que o senhor controle o tráfego em tempo real. Também evita que o servidor da web ataque com força bruta

modesecurity

Fonte: Solvps

O módulo mod_security pode ser instalado com o gerente de pacotes padrão de sua distribuição.

5.7. Limitar o tamanho dos pedidos

O Apache não tem restrições quanto ao tamanho total do pedido do http que poderia levar a um ataque do DoS. No entanto, o senhor pode limitar o tamanho do pedido de uma diretiva Apache “LimitRequestBody” com a etiqueta do diretório

O valor pode ser fixado entre 0 e 2 GB (ou seja, 2147483647 bytes), dependendo de suas necessidades.

Capítulo 6: Arquitetura Modular do Servidor HTTP

O servidor tem uma arquitetura modular que consiste em :

  • um Núcleo que apóia as funções básicas comuns
  • depois uma série de módulos proprietários/terceiros que ampliam sua funcionalidade que podem ser ativados ou desativados em uma instalação, conforme necessário.

Entre os mais conhecidos estão auth_basic e mod_rewrite, que são os que um programador mais usa. A lista é de fato muito mais longa

A lista completa dos módulos pode ser vista no índice de módulos na documentação do Apache:

Apache HTTP server project

Entre os módulos mais importantes podemos encontrar os módulos MPM ( Multi-Processing-Module ) que definem a arquitetura interna

A maneira pela qual o trabalho é distribuído pode variar de acordo com o módulo MPM usado:

  • Forquilha multi-processamento (mpm-prefork) ;
  • Trabalhador multiprocessador (mpm-worker);
  • Evento multiprocessado (mpm-event);
  • ITK multiprocessamento (mpm-itk).

Esses módulos de multiprocessamento (ainda chamados de MPM) são os responsáveis pelo processamento dos pedidos HTTP, pela gestão dos processos e pelos diversos fios que executam o serviço.

A escolha do módulo é uma decisão crucial, pois determinará se o servidor funcionará ou não adequadamente, dependendo do uso que o senhor deseja dar ao servidor.

6.1. mpm_prefork

O módulo padrão usado pelo servidor para processamento é mpm-prefork. Este módulo abre diferentes processos para organizar o trabalho

Isso é considerado o mais seguro porque há certas configurações e módulos que não são seguros para uso com o processamento de roscas

Portanto, é mais seguro usar o servidor com mpm-prefork que, em vez de abrir linhas, abre processos independentes.

Apache MPM prefork

Embora se ganhe segurança, ela é também a que consome mais recursos, já que processos independentes consomem muito mais CPU e memória RAM do que os fios.

6.2. mpm_worker

Este módulo tem melhor desempenho do que o mpm-prefork. Sua função é abrir vários processos como pré-fabricação, e cada um deles, por sua vez, abre linhas diferentes para responder aos pedidos.

Basicamente, ela tem dois inconvenientes

  • A primeira é que tem um tratamento de erros mais deficiente do que o prefork e, se um fio falhar, pode perder pedidos;
  • E a segunda é que nem todos os módulos disponíveis são seguros para serem usados nesse modo.

Por exemplo, a maneira mais fácil de fazer uma configuração PHP no Apache é via mod_php, mas esse módulo não pode ser usado com o Worker. Portanto, ela deve ser substituída por um exemplo de PHP-FPM

Apache PHP FPM

Fonte: Glowfrog Hosting

Isso, por sua vez, acrescenta uma melhoria no uso de recursos, tanto de memória quanto de CPU.

6.3. mpm_evento

O evento é muito parecido com o trabalho da mpm, na medida em que se baseia nele. Ela se concentra em melhorar os pedidos persistentes para os quais o trabalhador não é tão bom.

Normalmente uma conexão será fechada se não tiver mais informações. Para retransmitir uma nova conexão, trata-se de uma comunicação de ida e volta para estabelecer alguns parâmetros.

Uma vez estabelecida a comunicação, é muito mais eficiente manter o canal aberto. Isso é feito através depedidos de Keep-Alive que facilitam manter uma conexão aberta até que o cliente ou servidor decida fechá-la.

É nesse sentido que o Evento tem um desempenho superior ao dos Trabalhadores e, em outros aspectos, eles compartilham as vantagens e desvantagens, uma vez que o Evento depende do Trabalhador apenas com a melhoria desses pedidos.

6.4. mpm_itk

Este é o módulo mais recente e como o Prefork (que trabalha com processos infantis em vez de fios), a principal inovação deste módulo é que ele permite que cada VirtualHost (cada domínio hospedado) seja designado a um usuário.

Esta forma de separar sites com diferentes usuários permite :

  • cada site a ter suas próprias permissões de segurança ;
  • e que os processos dos usuários não podem interagir uns com os outros, alcançando a confidencialidade e a segurança dos dados.

O mesmo pode ser conseguido com PHP-FPM, onde cada site pode operar com seu respectivo usuário

No entanto, a configuração de cada um deles é mais complicada e envolve mais uso de memória, já que existe um processo PHP-FPM para cada site.

Capítulo 7: Outras perguntas sobre o Apache Server

7.1. O que é Apache?

O Apache2 HTTP Server é um servidor web que usa o protocolo http. Ela é desenvolvida pela Apache Software Foundation (ASF). É de código-fonte aberto, de plataforma cruzada (funciona em diferentes sistemas operacionais), gratuito e descarregável. O website do projeto é www.apache.org.

7.2. Por que o Apache é tão popular?

O Apache é de fonte aberta, e como tal é desenvolvido e mantido por um grande grupo de voluntários no mundo inteiro. Uma das principais razões por que é tão popular é que o software pode ser baixado e usado por qualquer pessoa de graça.

Além disso, o servidor web Apache é um ambiente fácil de personalizar, é rápido, confiável e altamente seguro. Isso faz dela uma escolha comum para as melhores empresas.

7.3. Como posso saber se meu servidor Apache está funcionando?

  1. Acesse seu servidor usando seu cliente SSH predileto.
  2. Digite o seguinte comando: sudo service apache2 status.
  3. Se o Apache estiver funcionando, o senhor verá a seguinte mensagem O Apache está funcionando (pid 26874).

7.4. O que inclui o Apache?

O Apache tem módulos para :

  • Segurança ;
  • Caching;
  • Reescrita do URL;
  • Autenticação por senha;
  • E assim por diante

O senhor também pode ajustar suas próprias configurações de servidor através de um arquivo chamado .htaccess, que é um arquivo de configuração Apache.

7.5. Como está instalado o servidor Apache?

Para instalar o apache como serviço :

  1. No menu do Windows, procure por: cmd;
  2. Funciona cmd com direitos de administrador;
  3. Vá para o \ Apache24bin: cd c:Apache24bin.
  4. Instalar o serviço com a instrução: httpd.exe -k install.
  5. Finalmente, comece o apache com a instrução: httpd.exe -k start.

7.6. Como posso saber se estou usando Apache?

Há várias maneiras de descobrir que software nosso servidor está usando, uma delas é usar ferramentas como o GTMetrix, Pingdom

A maneira mais fácil seria analisar o site via Pingdom, a partir da seção de Pedidos de Arquivos.

7.7. Que porta de comunicação o servidor Apache usa?

Por padrão, o Servidor HTTP Apache está configurado para escutar na porta 80 para comunicações inseguras na rede e na porta 443 para comunicações seguras na rede.

7.8. Quais são as versões do Apache?

Existem atualmente três versões do Apache em execução: as versões 2.0, 2.2 e 2.4. Anteriormente, havia a versão 1.3, que é a mais conhecida e a que significava a grande expansão do servidor.

7.9. Como iniciar, reiniciar ou parar o servidor Apache?

Para iniciar, parar ou reiniciar o Apache como um servidor web, basta acessar seu terminal de servidor via ssh e executar um dos seguintes comandos:

  1. Start Apache: /etc/init.d/ apache2 start.
  2. Reiniciar Apache: /etc/init.d/ apache2 restart.
  3. Stop Apache: /etc/init.d/apache2 stop . 5/5 – (3 votos)

7.como funciona o Apache?

Como servidor web, o Apache é responsável poraceitar pedidos de diretório (HTTP) dos usuários da Internet e enviar-lhes as informações desejadasna forma de arquivos e páginas web

A maior parte do software e do código da web é projetada para funcionar com a funcionalidade do Apache.

7.o que é MySQL e PHP em Apache?

Apache é o servidor web que processa pedidos e serve os recursos e conteúdo da web via HTTP

O MySQL é o banco de dados que armazena todas as suas informações em um formato facilmente pesquisável.

PHP é a linguagem de programação que trabalha com o Apache para ajudar a criar conteúdo dinâmico para a web.

7.o Nginx pode substituir o Apache?

Ambas as soluções são capazes de lidar com várias cargas de trabalho. Embora Apache e Nginx compartilhem muitas qualidades, eles não devem ser considerados inteiramente intercambiáveis.

7.13. O Nginx é o mesmo que o Apache?

A principal diferença entre Apache e NGINX é sua arquitetura de projeto

O Apache usa uma abordagem orientada para o processo e cria um novo fio condutor para cada pedido. A NGINX, por outro lado, usa uma arquitetura orientada por eventos para lidar com vários pedidos dentro de um mesmo fio.

Em resumo

Como já vimos anteriormente, o Apache é o servidor web com o qual milhares de web hosts trabalham no mundo inteiro.

É ideal para as pequenas e médias empresas que querem ter uma presença no mundo digital. É muito compatível com o WordPress, que permite ao senhor trabalhar de maneira simples e ordenada.

Espero que este guia lhe tenha ajudado a ponderar os prós e os contras para tomar a decisão certa para seu projeto!

Obrigado pela leitura e até breve!

1 comentário em “Servidor Apache: um guia completo para iniciantes”

Deixe um comentário