quinta-feira, 11 de novembro de 2010

Servidor Apache

     O Apache é um servidor Web extremamente configurável, robusto e de alta performance responsável por disponibilizar sites na Internet, Intranets ou Extranets, dependendo de sua necessidade. Ao acessar qualquer site, há um servidor por trás daquele endereço responsável por disponibilizar as páginas e todos os demais recursos que você pode acessar. Assim, quando você envia um e-mail através de um formulário, coloca uma mensagem em um fórum de discussão, faz uma compra on-line, etc, um servidor Web (ou um conjunto de servidores) é responsável por processar todas essas informações. Ele também pode operar recebendo dados do cliente, processando e enviando o resultado para que o cliente possa tomar a ação desejada (como em aplicações CGI"s, banco de dados web, preenchimento de formulários, etc).
Segundo a Netcraft , como servidor Web, o Apache é o mais conhecido e usado que todos os outros servidores web do mundo juntos. Os motivos incluem sua excelente performance, segurança, compatibilidade com diversas plataformas e todos os seus recursos. Um servidor Web é um computador que processa solicitações HTTP (Hyper-Text Transfer Protocol), o protocolo padrão da Web. Quando você usa um navegador de internet para acessar um site, este faz as solicitações devidas ao servidor Web do site através de HTTP e então recebe o conteúdo correspondente. No caso do Apache, ele não só executa o HTTP, como outros protocolos, tais como o HTTPS (O HTTP combinado com a camada de segurança SSL - Secure Socket Layer), o FTP (File Transfer Protocol), entre outros.
  O servidor Apache (ou Apache Server) surgiu no National Center of Supercomputing Applications (NCSA) através do trabalho de Rob McCool. Ao sair da NCSA, McCool parou de trabalhar no software (que nessa época recebia justamente a denominação NCSA) e então várias pessoas e grupos passaram a adaptar o servidor Web às suas necessidades. Neste momento começa a história do Apache com Brian Behlendorf e Cliff Skolnick abrindo uma lista de discussão para interessados no desenvolvimento, conseguindo espaço em um servidor doado pela HotWired e trocando patches corrigindo problemas, adicionando recursos e discutindo idéias com outros desenvolvedores e hackers interessados neste projeto. Eles foram os principais responsáveis pela retomada do projeto, contando logo em seguida com o apoio de Brandon Long e Beth Frank. Estes últimos tinham a tarefa de continuar com o desenvolvimento do servidor, mas pela NCSA. Não demorou muito para que eles se juntassem a equipe de voluntários conhecida como logo depois como Apache Group buscando criar um servidor web com muitas características e com código fonte disponível gratuitamente via Internet.
   A origem da Fundação Apache (Apache Foundation) vem daí: Brian Behlendorf e Cliff Skolnick passaram a controlar "patches" (adição de recursos ou correções) atrás de uma lista de discussão. Dessa lista foi formado o grupo, constituído inicialmente de 8 pessoas. O nome da fundação parece ter sido baseado nessa característica (uso de patches), já que pode ser interpretado como um trocadilho com a expressão em inglês "a patchy". No entanto, segundo os desenvolvedores do servidor, o nome é baseado numa tribo americana de nome Apache.
O servidor Apache teve sua primeira versão oficial (0.6.2) lançada em 1995.
No momento em que este artigo era escrito, a última versão era a 2.2.3/2.2.4. De 1995 até hoje houve várias mudanças no projeto. Talvez, a mais importante tenha sido o Shambhala, uma arquitetura para o Apache desenvolvida por Robert Thau. O Shambhala agradou tanto na época (principalmente por seu melhor gerenciamento de memória) que acabou sendo incorporado definitivamente ao servidor, tirando de cena a base existente até então. Surgia a versão 0.8.8, que tinha, além do Shambhala, recursos da versão 0.7.x. Após uma série de aperfeiçoamentos, testes e de uma documentação nova feita por David Robinson.
Características do servidor Apache

    O Apache Server é um software livre, o que significa que qualquer um pode estudar ou alterar seu código-fonte, além de poder utilizá-lo gratuitamente. É graças a essa característica que o software foi (e continua sendo) melhorado ao passar dos anos. Graças ao trabalho muitas vezes voluntário de vários desenvolvedores, o Apache continua sendo o servidor Web mais usado no mundo.
Além de estar disponível para o Linux (e para outros sistemas operacionais baseados no Unix), o Apache também conta com versões para o Windows, para o Novell Netware e para o OS/2, o que o torna uma ótima opção para rodar em computadores obsoletos (desde que este atenda aos requisitos mínimos de hardware).
O servidor Apache é capaz de executa código em PHP, Perl, Shell Script e até em ASP e pode atuar como servidor FTP, HTTP, entre outros. Sua utilização mais conhecida é a que combina o Apache com a linguagem PHP e o banco de dados MySQL (combinação usada aqui no InfoWester, por exemplo).
A exigência de hardware do Apache depende de sua aplicação, mas um PC Pentium com 64 MB de memória RAM é capaz de executá-lo tranqüilamente em um ambiente corporativo pequeno. No entanto, quando se trata de um site na internet, é interessante ter máquinas tão poderosas quanto o que exige o nível de acesso.

Segue um resumo com as suas principais características. (extraído do Guia Foca Linux)


- Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP, etc;

- Suporte a autorização de acesso podendo ser especificadas restrições de acesso separadamente para cada endereço/arquivo/diretório acessado no servidor;

- Autenticação requerendo um nome de usuário e senha válidos para acesso a alguma página/sub-diretório/arquivo (suportando criptografia via Crypto e MD5);

- Negociação de conteúdo, permitindo a exibição da página Web no idioma requisitado pelo Cliente Navegador;

- Suporte a tipos mime;

- Personalização de logs;

- Mensagens de erro;

- Suporte a virtual hosting (é possível servir 2 ou mais páginas com endereços/ portas diferentes através do mesmo processo ou usar mais de um processo para controlar mais de um endereço);

- Suporte a IP virtual hosting;

- Suporte a name virtual hosting;

- Suporte a servidor Proxy ftp e http, com limite de acesso, caching (todas flexivelmente configuráveis);

- Suporte a proxy e redirecionamentos baseados em URLs para endereços Internos;

- Suporte a criptografia via SSL,Certificados digitais;

- Módulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalidades e recursos sem necessidade de recompilação do programa.

Nenhum comentário:

Postar um comentário