Instalando o servidor Apache no Windows.

Olá Amigos Computeros, é com um enorme prazer que escrevo meu primeiro post aqui no blog, e vou começar falando sobre uma ferramenta que estou testando e ralando para aprender a configurar, o Apache, para este post estou usando a versão 2.2.11

O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications). Numa pesquisa realizada em dezembro de 2007], foi constatado que a utilização do Apache representa 47.20% dos servidores ativos no mundo.

É a principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos.

O servidor é compatível com o protocolo HTTP versão 1.1. Suas funcionalidades são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário escreva seus próprios módulos — utilizando a API do software.

É disponibilizado em versões para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc).

O Apache pode ser a solução para sua empresa ou para seus estudos. É claro que a solução para servidor web da Microsoft é mais amigável, fácil de configurar, mais nós gostamos de desafios, e foi pensando nisso que resolvi não só instalar e configurar o Apache, mas rodar um site ASP.NET no Apache. É isso mesmo, quem disse que ASP.NET só roda em IIS, e Apache é só para PHP, JSP, Perl, CGI, etc. Estavam enganados, pois com a vantagem de poder adicionar módulos extras, o Apache se torna uma ferramenta completa. O difícil é achar os módulos corretos, mais “somos brasileiros e não desistimos nunca”.

  • Instalando o Apache no Windows.

Baixe o Apache para Windows em: http://www.apache.org/dist/httpd/binaries/win32 ou que http://superdownloads.uol.com.br/download/99/apache/

Ele é fornecido compactado, num executável ou num pacote do Windows Installer. Este último é o mais recomendado. Desde que você use as versões recentes do Windows (2000, XP, etc), não encontrará problemas para instalá-lo. Prefira então o pacote “msi”. O nome é algo como “apache_x.x.xx-win32-x86.msi”, onde x.x.x.x é o número da versão.

IMPORTANTE: ao instalar servidores e/ou módulos para o Apache, execute o instalador usando uma conta com direitos administrativos no Windows.

Ao baixá-lo, inicie a instalação, como você faria com qualquer programa para Windows com um bom instalador. Durante a instalação ele pedirá o domínio da rede (Network Domain), o nome do servidor (Server Name) e o e-mail do administrador do sistema. Como a instalação é para um servidor local, para desenvolvimento, preencha com “localdomain” no campo “Network Domain”, “localhost” no campo “Server Name” e seu e-mail no último campo. Veja:

Finalizada a instalação, o apache deverá estar funcionando. No Windows 2000/XP ele é instalado como um serviço que pode ser inicializado/desativado/reiniciado usando o console de serviços, o “services.msc”. Por padrão, ele se configura para ser iniciado sempre junto com o Windows (veja na imagem de tela acima a opção na instalação para mudar isso, além de mudar a porta para 8080). Ao fazer alguma alteração num arquivo de configuração do Apache ou ao instalar um módulo, por exemplo, deve-se reiniciar o servidor (não o computador, mas sim o serviço do Apache). Isso pode ser feito com o “Apache Service Monitor”, que ficará ativo na área de notificação (bandeja do sistema, próximo ao relógio):

Com esta interface pode-se parar, iniciar ou reiniciar o servidor do Apache no Windows

Com ele instalado, abra qualquer navegador e digite o nome do seu computador, ou, de preferência, o nome “localhost”, que sempre se refere ao computador local. Se preferir, acesse http://127.0.0.1, o IP da máquina local. Se tudo deu certo até aqui, você deverá ver uma mensagem “It works” (“Ele trabalha”, “Ele funciona”). Veja:

As versões mais antigas do Apache exibiam outras informações, mas a 2.2 mostra só isso. Ok, o servidor está funcionando. As páginas ficam por padrão na pasta “htdocs”, dentro da pasta onde o Apache foi instalado. No meu caso, seria “C:\Arquivos de programasApache Software Foundation\Apache2.2\htdocs”. Basta substituir o arquivo “index.html” pelo do seu site, e colocar suas páginas e subpastas aí. Assim você poderá acessar as subpastas da pasta “htdocs” digitando http://localhost/pasta, em qualquer navegador no micro local.

Se o navegador ficar procurando o servidor, abrir uma página de busca ou dizer que não foi encontrado (exatamente como ocorre quando cai a conexão com a Internet), significa que o servidor web não foi iniciado corretamente. Nos itens básicos não têm o que dar errado, se for o caso, desinstale e instale novamente o Apache, tomando o cuidado de definir as opções da instalação como comentadas mais acima.

Instalado o Apache, ele lê basicamente HTML puro. Porém, é diferente a forma de acesso, usando o endereço “http://localhost/index.html” de “C:\meu site\index.html”. No primeiro caso, o navegador solicita a página ao computador “localhost” (que é o seu computador!), recebe-a do servidor, armazena-a no cache, para depois exibi-la. Ele trata como se fosse um site da Internet; como o servidor do site está na rede local (ou mesmo no seu próprio PC, um computador só), trata-se de uma Intranet. No segundo caso, você está acessando o arquivo diretamente no seu HD. O navegador pode até armazenar algum dado no cache, mas não há nenhuma comunicação com nenhum servidor. Ele lê o arquivo como qualquer programa leria qualquer arquivo.

A configuração do Apache vai em alguns arquivos de texto puro, no estilo dos arquivos “.ini”, e fica na pasta “conf”, dentro da pasta do Apache. Ao editá-los e salvá-los, reinicie o servidor do apache para que as alterações entrem em vigor (usando o ícone do Apache na área de notificação, ou o services.msc, ou ainda o comando net stop apache2, e net start apache2, num prompt de comando). Os mais usados na versão Windows do Apache são o “httpd.conf” e o “mime.types”.

O “httpd.conf” é o principal, abordando diversas características do Apache. O “mime.types” define os tipos mime, tipos de arquivos e suas extensões, para que o Apache saiba como tratá-los. Por exemplo, ele deve saber que deve enviar arquivos HTML diretamente, sem processá-los, mas deve processar os arquivos PHP, antes de entregar o resultado ao browser. É importante que você faça backup destes arquivos, para restaurá-los, se você editar algo e der errado. Em ambos as linhas iniciadas com o caractere # são comentários, e são ignoradas. Para desativar um item ou colocar explicações, basta iniciar a linha com #.

Um possível problema: se você mantiver outro servidor web ativo na máquina, poderá receber um erro do Apache ao tentar iniciá-lo. Isso pode ser por causa da porta 80: se você mantém o IIS ativo, ele normalmente é iniciado antes, e ocupa a porta 80 (praticamente qualquer servidor web se configura para usar a porta 80, que é dada como padrão). Para contornar isso e manter os dois servidores ativos, você deve trocar a porta de pelo menos um deles. No arquivo “httpd.conf” do Apache, localize o item “Listen 80″, e troque o valor 80 por outro número que não esteja sendo usado por nenhuma outra porta. Por exemplo, 8080, 8081, etc. Localize mais para frente “ServerName localhost:80″, e troque o 80 daí também.

Se quiser, use o recurso de pesquisa do seu editor de textos para localizar as ocorrências do número 80. Salve o arquivo e reinicie o servidor. Agora, você deve acessar os sites digitando “:80″ após o “domínio”. Como é local, você deverá digitar: “http://localhost:8080″, trocando é claro, 8080 pela porta escolhida por você. Se entrar sem definir a porta, o navegador muito provavelmente irá usar a 80, o que resultará que o site aberto será o do outro servidor (como o IIS, por exemplo). Sempre use o número da porta separado por dois pontos do nome do domínio. Assim, o certo é “http://localhost:8080/teste.htm”, e não “http://localhost/teste.htm:8080″. Preocupe-se com isso apenas se você manter mais de um servidor web na mesma máquina.