Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br.

Post on 16-Apr-2015

107 views 2 download

Transcript of Como montar um servidor web Professora: Adria Lyra alyra@ic.uff.br.

Como montar um servidor web

Professora: Adria Lyraalyra@ic.uff.br

Um pouco de história• Em 1990, Tim Bernard-Lee escreveu o

primeiro cliente e primeiro servidor web. Assim surgia o HTML e o HTTP, surgia a WWW e todo o universo que nos trouxe.

• Tim escreveu em 1991 as razões pelas quais criar um novo protocolo (o HTTP), e comentava que os até então existentes não atendiam às necessidades da comunidade científica.

O primeiro servidor web do mundo

Definição• Um programa de computador responsável

por aceitar pedidos HTTP de clientes, geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente dados, que geralmente são páginas web, tais como documentos HTML com objetos embutidos (imagens, etc.);

• Um computador que executa um programa que provê a funcionalidade descrita acima.

Como funciona um servidor web?• O navegador não pode ler o

documento do disco de destino diretamente.

• Logo, o computador de destino necessita estar rodando um "servidor web".

Como funciona em servidor web?• Um "servidor web" é um programa

que escuta os pedidos dos navegadores e os executa.

Pedido HTTP • O usuário digita um endereço web (URL) no

seu navegador, com o seguinte formato: protocolo://servidor/pedido.

• O navegador irá abrir uma conexão TCP com o servidor.

• O passo seguinte é o navegador mandar o pedido para o servidor, que é feita enviando uma mensagem no seguinte formato: GET [diretório(URI)] [HTTP/versão]

Resposta HTTP • O servidor localiza o documento e manda a seguinte

resposta.– HTTP/[versão] [código] [texto]

Campo1: valor1Campo2: valor2

... conteúdo do documento...• ver são é a versão do HTTP, • código é um número de 3 algarismos, geralmente 200

para dizer que está tudo OK, e depois um texto que traduz o significado deste número para uma linguagem conhecida (geralmente é o próprio "ok").

• Seguem-se algumas informações usadas pelo cabeçalho, como data, data da última atuaização do arquivo etc. Depois de uma linha em branco, vem a informação do documento propriamente.

Resposta HTTP

Resposta HTTP - campos• A maioria dos campos na mensagem anterior

é de fácil compreensão.• O campo "content-type", que tem como valor

"text/html". Este campo é o que permite ao navegador saber que tipo de documento está sendo trafegado, e, dependendo do tipo, abri-lo na própria janela, ou chamar um outro programa para fazê-lo.

• Outros exemplos de tipos de documento são: "text/plain" (texto puro), "image/gif" (imagem do tipo gif), "image/jpg" entre outros.

Resposta HTTP• Alguns documentos são abertos dentro de

próprio documento html, como é o caso das imagens.

• Outros são visualizados também dentro do documento html, mas quererem um plug-in, como é o caso das animações "flash" (da Macromedia).

• Uma questão interessante é que para o navegador não importa como o servidor produz a informação que lhe manda. Ela pode ser estática, pode ser dinâmica, mas só o que importa para o navegador é saber o tipo de documento, e usar o programa ou plug-in necessário para abri-lo.

Códigos de estado do servidor • 1xx - Não utilizado. Reservado para testes.• 2xx - O pedido foi atendido corretamente.• 200 - OK: o servidor fez exatamente o que o cliente

queria.• 3xx - O recurso está em algum outro lugar e o

cliente deve tentar de novo em um novo endereço.• 301 - Movido permanentemente.• 302 - Movido temporariamente (os enlaces não

necessitam ser modificados).• 304 - Não modificado. Usado quando o cliente

utiliza o cabeçalho "se-modificado-desde" e o recurso não foi modificado desde o tempo apontado. Significa que a versão do documento em cache deve ser exibida.

Códigos de estado do servidor• 4xx - O cliente de alguma maneira se equivocou,

geralmente pedindo por algo que não deveria ter pedido.

• 400 - Pedido errado. O pedido não tem a sintaxe correta.

• 401 - Não autorizado. O cliente não está autorizado a acessar o recurso. Pode mudar se o cliente tenta de novo com um cabeçalho de autorização.

• 403 - Proibido. O cliente não pode acessar o recurso e uma autorização não vai ajudar em nada.

• 404 - Não encontrado. O mais conhecido. Significa que o servidor não tem nem idéia sobre o paradeiro deste recurso e não tem nada a informar.

Códigos de estado do servidor• 5xx - Significa que o servidor se

equivocou ou que não pôde atender ao pedido do cliente.

• 500 - Erro interno do servidor. Alguma coisa aconteceu de errado no servidor.

• 501 - Não implementado. O método de pedido não é suportado pelo servidor.

• 503 - Serviço não disponível. Acontece algumas vezes quando o servidor está muito ocupado e não pode atender ao pedido. Geralmente a solução é esperar um tempo e tentar de novo.

Versões do HTTP • HTTP/0.9 - Muito primitiva... na verdade

nunca foi especificada em nenhum padrão.• HTTP/1.0 - É a correção da anterior. Foi

publicada como padrão no RFC 1945. Foi a versão mais utilizada durante certo tempo, dando espaço hoje para a versão 1.1.

• HTTP/1.1 - Descrito na RFC 2068. Extende e melhora a versão 1.0 em certas áreas. É suportada pela maioria dos navegadores, inclusive o Internet Explorer 6.0..

Versões do HTTP• As maiores vantagens da versão 1.1 são as

extensões para autorização de documentos online via HTTP e um mecanismo que permite que após o pedido do cliente a conexão se mantenha aberta, o que evita ter que abrir uma nova conexão para o seguinte pedido. Isso é vantajoso porque agiliza a abertura de documentos que tenham outros arquivos associados.

Vamos montar o nosso servidor• Download Apache• http://www.apache.org/dist/httpd/binaries/win3

2• Baixe o arquivo com extensão .msi• O arquivo deverá estar com o seguinte nome:

apache_x.x.xx-win32-x86.msi, x.x.xx é a versão do software. Note que este arquivo é do tipo .msi (Microsoft Installer)

Instalando o Apache• Após ter instalado o utilitário Microsoft Windows

Installer, clique duas vezes no arquivo de instalação do Apache.

• Prossiga clicando no botão "Next", aceitando os termos da licença de uso e, na tela de Informações do Servidor ("Server Information"), onde é solicitado "Network Domain", "Server Name" e "Administrator's Email Address", informe, respectivamente: "localdomain", "localhost" e o seu endereço de e-mail. Deixe também selecionado a opção "Run as a service for All users“.

• Prossiga selecionando a instalação completa ("Complete") e finalize a instalação.

Iniciando e parando o Apache• Somente em Windows95/98/ME/XP.• Para INICIAR o servidor Web Apache, vá no

botão– Iniciar->Programas->Apache HTTP Server e clique

em Start Apache in Console.• Para PARAR o Apache, não é aconselhável

que se feche esta janela diretamente. Ao invés disso, vá em – Iniciar->Programas->Apache HTTP Server e clique

em Stop Apache. – Isso dará inicio ao processo de shutdown do

servidor Web, o que fará com que a janela se feche.

Iniciando e parando o Apache• Windows NT/2000:• O Apache é instalado como um serviço em

sistemas Windows NT e 2000 e, por isso, os procedimentos descritos acima, para iniciar e parar o Apache, NÃO se aplicam a essas plataformas.

• Use o gerenciador de serviços do Windows NT/2000, localizado no painel de controle, para controlar a execução do Apache.

Testando a instalação do Apache

• Certifique-se de que o Apache esteja em execução.

• Abra o seu navegador favorito e digite o seguinte endereço: http://localhost

• Este é o endereço do seu servidor web local.

• Uma página deverá aparecer, indicando que você instalou e configurou corretamente o servidor Web Apache em seu sistema.

Testando a instalação do Apache• IMPORTANTE: Se você não tiver alterado a pasta

padrão de instalação do Apache, a pasta raiz do seu servidor web se encontra no seguinte caminho no seu disco:

C:\Arquivos de programas\Apache Group\Apache\htdocs

• É nesta pasta que você deve colocar todos os arquivos que serão acessados através do seu servidor Web local, incluindo páginas HTML, scripts em PHP, arquivos de imagens, etc.

Acessando sua página

• Se você possuir um ip fixo basta digitar o seu endereço IP no browser para conseguir acessar sua página externamente.

Associando um IP a um endereço• Você terá que registrar o seu domínio

junto ao órgão competente: registro.br• Depois é necessário ter um micro com

dois endereços IP fixos ou contratar os serviços de um provedor de dados (lacaweb.com.br) ou você pode instalar o no-ip na máquina onde o APACHE está instalado.

Trabalho de RedesII

• Trabalho para ser entregue no primeiro dia de aula após o recesso.

• Monte seu próprio servidor web.